tests: new adg_assert_isapprox macro for approximate equality
[adg.git] / Makefile.am
blob878850b47da24cf2c95499a84839a2a3421af1e4
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 AM_DISTCHECK_CONFIGURE_FLAGS=   --enable-pango \
14                                 --enable-gtk-doc \
15                                 --enable-test-framework \
16                                 --enable-introspection \
17                                 --with-gtk \
18                                 --with-glade-catalogdir
20 BUILT_SOURCES=                  ChangeLog \
21                                 README \
22                                 NEWS \
23                                 TODO \
24                                 CONTRIBUTING \
25                                 HACKING
27 EXTRA_DIST=                     COPYING \
28                                 ChangeLog-0.2.1 \
29                                 INSTALL \
30                                 THANKS \
31                                 adg.doap \
32                                 build/config.rpath \
33                                 build/configure-win32 \
34                                 build/configure-win64 \
35                                 build/adg.nsi \
36                                 build/adg-header.bmp \
37                                 build/adg-welcome.bmp \
38                                 build/adg.ico \
39                                 build/gschemas.compiled \
40                                 build/settings.ini \
41                                 $(hicolor_snapshot) \
42                                 $(minitheme_snapshot) \
43                                 build/minitheme-snapshot.tar.bz2 \
44                                 $(BUILT_SOURCES)
45 CLEANFILES=                     test-report.xml \
46                                 test-report.html \
47                                 perf-report.xml \
48                                 perf-report.html \
49                                 full-report.xml \
50                                 full-report.html
52 SUBDIRS=                        src
54 if HAVE_GTK
55 SUBDIRS+=                       demo
56 endif
58 SUBDIRS+=                       po \
59                                 docs
62 if OS_WINDOWS
64 INSTALLER=adg-$(PACKAGE_VERSION)-win$(PACKAGE_ARCH).exe
66 installer: $(INSTALLER)
68 _host:
69         mkdir _host
71 # The installer needs the docs but the MinGW toolchain does not have
72 # gtk-doc installed. Issue #148: http://dev.entidi.com/p/adg/issues/148/
73 _host/docs/adg/adg.pdf: _host $(srcdir)/configure
74         cd _host ; \
75         $(abs_srcdir)/configure \
76                 --prefix= \
77                 --disable-dependency-tracking \
78                 --disable-fast-install \
79                 --disable-nls \
80                 --disable-introspection \
81                 --disable-test-framework \
82                 --without-glade-catalogdir \
83                 --enable-gtk-doc \
84                 --enable-gtk-doc-html \
85                 --enable-gtk-doc-pdf && \
86         $(MAKE) -j7 ; \
87         cd ..
89 _host/hicolor: _host $(srcdir)/$(hicolor_snapshot)
90         cd _host ; \
91         $(BZIP2) -dc $(abs_srcdir)/$(hicolor_snapshot) | $(TAR) xf - ; \
92         cd ..
94 _host/minitheme: _host $(srcdir)/$(minitheme_snapshot)
95         cd _host ; \
96         $(BZIP2) -dc $(abs_srcdir)/$(minitheme_snapshot) | $(TAR) xf - ; \
97         cd ..
99 clean-local:
100         -rm -fr _host
102 $(INSTALLER): _host/docs/adg/adg.pdf _host/hicolor _host/minitheme $(srcdir)/build/adg.nsi
103         $(MAKENSIS) -NOCD $(srcdir)/build/adg.nsi
105 mostlyclean-local:
106         -rm $(INSTALLER)
108 endif
111 coverage: src/cpml/cpml-primitive.c.gcov src/adg/adg-canvas.c.gcov
113 src/cpml/cpml-primitive.c.gcov:
114         $(MAKE) -C src/cpml $(AM_MAKEFLAGS) coverage
116 src/adg/adg-canvas.c.gcov:
117         $(MAKE) -C src/adg $(AM_MAKEFLAGS) coverage
119 .PHONY: installer coverage
122 # Creating ChangeLog files from git log:
123 # idea stolen from cairo/build/Makefile.am.changelog
124 ChangeLog:
125         $(AM_V_GEN)if test -d "$(abs_srcdir)/.git"; then \
126           ( cd "$(abs_srcdir)" && git log --stat > $@ ) ; \
127         else \
128           echo ' *WARN  A git checkout is required to generate $@' ; \
129           touch $@ ; \
130         fi
132 # Autogenerated text docs
133 README: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/README.xml
134         $(xml2txt_command) $(abs_srcdir)/docs/adg/README.xml
136 NEWS: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/NEWS.xml
137         $(xml2txt_command) $(abs_srcdir)/docs/adg/NEWS.xml
139 TODO: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/TODO.xml
140         $(xml2txt_command) $(abs_srcdir)/docs/adg/TODO.xml
142 CONTRIBUTING: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/CONTRIBUTING.xml
143         $(xml2txt_command) $(abs_srcdir)/docs/adg/CONTRIBUTING.xml
145 HACKING: $(xml2txt_stylesheet) $(abs_srcdir)/docs/adg/HACKING.xml
146         $(xml2txt_command) $(abs_srcdir)/docs/adg/HACKING.xml