build: use INTROSPECTION_{GIRDIR,TYPELIBDIR}
[adg.git] / Makefile.am
bloba77342a8028265ba46adc547b1315c55f24a0e9c
1 include $(top_srcdir)/build/Makefile.am.common
3 xml2txt_stylesheet=             $(abs_srcdir)/docs/docbook2txt.xsl
4 xml2txt_command=                $(AM_V_GEN)if test -x $(XSLTPROC) ; then : ; else \
5                                   echo ' *WARN  libxslt-1.0.19 or later is required to generate $@' ; \
6                                   touch $@ ; \
7                                   exit 0 ; \
8                                 fi ; \
9                                 $(XSLTPROC) --novalid -o $@ $(xml2txt_stylesheet)
10 hicolor_snapshot=               build/hicolor-snapshot-0.11.tar.bz2
11 minitheme_snapshot=             build/minitheme-snapshot.tar.bz2
12 ACLOCAL_AMFLAGS=                -I build
13 ADG_DIST_CONFIGURE_FLAGS=       --enable-pango \
14                                 --with-gtk=gtk3 \
15                                 --enable-gtk-doc \
16                                 --enable-gtk-doc-html
17 AM_DISTCHECK_CONFIGURE_FLAGS=   $(ADG_DIST_CONFIGURE_FLAGS) \
18                                 --enable-test-framework \
19                                 --enable-introspection \
20                                 --with-glade-catalogdir
22 BUILT_SOURCES=                  ChangeLog \
23                                 README \
24                                 NEWS \
25                                 TODO \
26                                 CONTRIBUTING \
27                                 HACKING
29 EXTRA_DIST=                     COPYING \
30                                 ChangeLog-0.2.1 \
31                                 INSTALL \
32                                 THANKS \
33                                 adg.doap \
34                                 build/config.rpath \
35                                 build/build-win32 \
36                                 build/build-win64 \
37                                 build/configure-win32 \
38                                 build/configure-win64 \
39                                 build/adg.nsi \
40                                 build/adg-header.bmp \
41                                 build/adg-welcome.bmp \
42                                 build/adg.ico \
43                                 build/gschemas.compiled \
44                                 build/settings.ini \
45                                 $(hicolor_snapshot) \
46                                 $(minitheme_snapshot) \
47                                 build/minitheme-snapshot.tar.bz2 \
48                                 $(BUILT_SOURCES)
49 CLEANFILES=                     test-report.xml \
50                                 test-report.html \
51                                 perf-report.xml \
52                                 perf-report.html \
53                                 full-report.xml \
54                                 full-report.html
56 SUBDIRS=                        src
58 if HAVE_GTK
59 SUBDIRS+=                       demo
60 endif
62 SUBDIRS+=                       po \
63                                 docs
66 if OS_WINDOWS
68 INSTALLER=adg-$(PACKAGE_VERSION)-win$(PACKAGE_ARCH).exe
70 installer: $(INSTALLER)
72 _host:
73         mkdir _host
75 # The installer needs the docs but the MinGW toolchain does not have
76 # gtk-doc installed. Issue #148: http://dev.entidi.com/p/adg/issues/148/
77 _host/docs/adg/adg.pdf: _host $(srcdir)/configure
78         cd _host ; \
79         $(abs_srcdir)/configure \
80                 $(ADG_DIST_CONFIGURE_FLAGS) \
81                 --prefix= \
82                 --disable-dependency-tracking \
83                 --disable-fast-install \
84                 --disable-nls \
85                 --disable-introspection \
86                 --disable-test-framework \
87                 --without-glade-catalogdir \
88                 --enable-gtk-doc-pdf && \
89         $(MAKE) -j ; \
90         cd ..
92 _host/hicolor: _host $(srcdir)/$(hicolor_snapshot)
93         cd _host ; \
94         $(BZIP2) -dc $(abs_srcdir)/$(hicolor_snapshot) | $(TAR) xf - ; \
95         cd ..
97 _host/minitheme: _host $(srcdir)/$(minitheme_snapshot)
98         cd _host ; \
99         $(BZIP2) -dc $(abs_srcdir)/$(minitheme_snapshot) | $(TAR) xf - ; \
100         cd ..
102 clean-local:
103         -rm -fr _host
105 $(INSTALLER): _host/docs/adg/adg.pdf _host/hicolor _host/minitheme $(srcdir)/build/adg.nsi
106         $(MAKENSIS) -NOCD $(srcdir)/build/adg.nsi
108 mostlyclean-local:
109         -rm $(INSTALLER)
111 endif
114 coverage: src/cpml/cpml-primitive.c.gcov src/adg/adg-canvas.c.gcov
116 src/cpml/cpml-primitive.c.gcov:
117         $(MAKE) -C src/cpml $(AM_MAKEFLAGS) coverage
119 src/adg/adg-canvas.c.gcov:
120         $(MAKE) -C src/adg $(AM_MAKEFLAGS) coverage
122 .PHONY: installer coverage
125 # Creating ChangeLog files from git log:
126 # idea stolen from cairo/build/Makefile.am.changelog
127 ChangeLog:
128         $(AM_V_GEN)if test -d "$(abs_srcdir)/.git"; then \
129           ( cd "$(abs_srcdir)" && git log --stat > $@ ) ; \
130         else \
131           echo ' *WARN  A git checkout is required to generate $@' ; \
132           touch $@ ; \
133         fi
135 # Autogenerated text docs
136 README: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/README.xml
137         $(xml2txt_command) $(abs_srcdir)/docs/adg/README.xml
139 NEWS: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/NEWS.xml
140         $(xml2txt_command) $(abs_srcdir)/docs/adg/NEWS.xml
142 TODO: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/TODO.xml
143         $(xml2txt_command) $(abs_srcdir)/docs/adg/TODO.xml
145 CONTRIBUTING: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/CONTRIBUTING.xml
146         $(xml2txt_command) $(abs_srcdir)/docs/adg/CONTRIBUTING.xml
148 HACKING: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/HACKING.xml
149         $(xml2txt_command) $(abs_srcdir)/docs/adg/HACKING.xml