diff --git a/Makefile.am b/Makefile.am index 7b55262df..48ac8551f 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,3 +1,5 @@ +include $(top_srcdir)/build/Makefile.am.common + ACLOCAL_AMFLAGS = -I build DIST_SUBDIRS = src boilerplate test perf doc util @@ -21,7 +23,7 @@ check-valgrind: all .PHONY: doc test retest recheck perf check-valgrind -EXTRA_DIST = \ +EXTRA_DIST += \ AUTHORS \ BIBLIOGRAPHY \ BUGS \ @@ -40,8 +42,8 @@ EXTRA_DIST = \ cairo-version.h \ $(NULL) -DISTCLEANFILES = config.cache -MAINTAINERCLEANFILES = \ +DISTCLEANFILES += config.cache +MAINTAINERCLEANFILES += \ $(srcdir)/aclocal.m4 \ $(srcdir)/autoscan.log \ $(srcdir)/build/compile \ @@ -54,11 +56,12 @@ MAINTAINERCLEANFILES = \ $(srcdir)/build/mkinstalldirs \ $(srcdir)/config.h.in \ $(srcdir)/configure.scan \ - `find "$(srcdir)" -type f -name Makefile.in -print` + $(NULL) DISTCHECK_CONFIGURE_FLAGS = \ --enable-gtk-doc \ - --enable-test-surfaces + --enable-test-surfaces \ + $(NULL) include $(srcdir)/build/Makefile.am.changelog include $(srcdir)/build/Makefile.am.releasing diff --git a/boilerplate/Makefile.am b/boilerplate/Makefile.am index 866315f1a..43d2b6762 100644 --- a/boilerplate/Makefile.am +++ b/boilerplate/Makefile.am @@ -1,6 +1,8 @@ -EXTRA_DIST = Makefile.win32 +include $(top_srcdir)/build/Makefile.am.common -EXTRA_LTLIBRARIES = libcairoboilerplate.la +EXTRA_DIST += Makefile.win32 + +EXTRA_LTLIBRARIES += libcairoboilerplate.la libcairoboilerplate_la_SOURCES = \ cairo-boilerplate.c \ @@ -94,20 +96,17 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/src \ $(CAIRO_CFLAGS) -CLEANFILES = \ +CLEANFILES += \ $(EXTRA_LTLIBRARIES) -CLEANFILES += *.i *.s - test: check -TESTS = if CROSS_COMPILING check: check-link else TESTS += check-link endif -check_PROGRAMS = check-link +check_PROGRAMS += check-link check_link_LDADD = libcairoboilerplate.la CLEANFILES += check-link diff --git a/build/Makefile.am.common b/build/Makefile.am.common new file mode 100644 index 000000000..fd0ec3dd1 --- /dev/null +++ b/build/Makefile.am.common @@ -0,0 +1,12 @@ +BUILT_SOURCES = +CLEANFILES = +DISTCLEANFILES = +EXTRA_DIST = +EXTRA_LTLIBRARIES = +EXTRA_PROGRAMS = +MAINTAINERCLEANFILES = +TESTS = +check_PROGRAMS = + +CLEANFILES += *.i *.s +MAINTAINERCLEANFILES += Makefile.in diff --git a/doc/Makefile.am b/doc/Makefile.am index 821d5c910..864a9f1df 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -1,4 +1,7 @@ +include $(top_srcdir)/build/Makefile.am.common + SUBDIRS=public -.PHONY: doc + doc: cd public && $(MAKE) $(AM_MAKEFLAGS) doc +.PHONY: doc diff --git a/doc/public/Makefile.am b/doc/public/Makefile.am index 644673938..cc0bbbaee 100644 --- a/doc/public/Makefile.am +++ b/doc/public/Makefile.am @@ -1,4 +1,5 @@ -## Process this file with automake to create Makefile.in. +include $(top_srcdir)/build/Makefile.am.common +include $(top_srcdir)/src/Makefile.am.config # The name of the module. DOC_MODULE=cairo @@ -16,8 +17,6 @@ DOC_SOURCE_DIR=../../src HFILE_GLOB=$(top_srcdir)/src/cairo-*.h CFILE_GLOB=$(top_srcdir)/src/cairo-*.c -include $(top_srcdir)/src/Makefile.am.config - # Headers to ignore IGNORE_HFILES= \ cairo-features.h \ @@ -53,5 +52,5 @@ check: doc endif TESTS_ENVIRONMENT = srcdir="$(srcdir)" top_srcdir="$(top_srcdir)" MAKE="$(MAKE)" -TESTS = check-doc-coverage.sh check-doc-syntax.sh +TESTS += check-doc-coverage.sh check-doc-syntax.sh EXTRA_DIST += $(TESTS) diff --git a/perf/Makefile.am b/perf/Makefile.am index 0de7b11ab..ebe39c961 100644 --- a/perf/Makefile.am +++ b/perf/Makefile.am @@ -1,3 +1,5 @@ +include $(top_srcdir)/build/Makefile.am.common + AM_CPPFLAGS = \ -I$(srcdir) \ -I$(top_srcdir)/boilerplate \ @@ -5,8 +7,8 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src \ $(CAIRO_CFLAGS) -EXTRA_PROGRAMS = cairo-perf cairo-perf-diff-files -EXTRA_DIST = cairo-perf-diff +EXTRA_PROGRAMS += cairo-perf cairo-perf-diff-files +EXTRA_DIST += cairo-perf-diff cairo_perf_SOURCES = \ cairo-perf.c \ @@ -72,7 +74,7 @@ CAIRO_PERF_ENVIRONMENT = CAIRO_PERF_ITERATIONS="$(ITERS)" CAIRO_TEST_TARGET="$(T # Cap the maximum number of iterations during 'make check' TESTS_ENVIRONMENT = CAIRO_TEST_TARGET="$(TARGETS)" CAIRO_PERF_ITERATIONS="10" -TESTS = cairo-perf$(EXEEXT) +TESTS += cairo-perf$(EXEEXT) perf: cairo-perf$(EXEEXT) $(CAIRO_PERF_ENVIRONMENT) ./cairo-perf$(EXEEXT) @@ -90,7 +92,7 @@ VALGRIND_MEMCHECK_FLAGS = \ --leak-check=yes --show-reachable=yes VALGRIND_CALLGRIND_FLAGS = \ --tool=callgrind -CLEANFILES = \ +CLEANFILES += \ $(EXTRA_PROGRAMS) \ valgrind-log \ callgrind.out.* \ diff --git a/src/Makefile.am b/src/Makefile.am index 0c8dccc51..61ea4f8b9 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,11 +1,6 @@ +include $(top_srcdir)/build/Makefile.am.common include $(srcdir)/Makefile.am.config -EXTRA_DIST = -CLEANFILES = -DISTCLEANFILES = -MAINTAINERCLEANFILES = -BUILT_SOURCES = - AM_CPPFLAGS = -I$(srcdir) $(CAIRO_CFLAGS) if OS_WIN32 @@ -71,7 +66,6 @@ TESTS_ENVIRONMENT = \ all_cairo_files="$(all_cairo_files)" \ enabled_cairo_files="$(enabled_cairo_files)" \ $(NULL) -TESTS = TESTS_SH = \ check-def.sh \ check-plt.sh \ @@ -86,7 +80,7 @@ TESTS += check-link endif EXTRA_DIST += $(TESTS_SH) check-has-hidden-symbols.c -check_PROGRAMS = check-link +check_PROGRAMS += check-link check_link_LDADD = libcairo.la CLEANFILES += check-link @@ -95,7 +89,6 @@ CLEANFILES += check-link # cairo has been compiled with symbol hiding. .c.i: $(cairoinclude_HEADERS) $(nodist_cairoinclude_HEADERS) cairoint.h $(top_builddir)/config.h $(CPP) -DHAVE_CONFIG_H -I$(top_builddir) -I. $(AM_CPPFLAGS) $< -o $@ -CLEANFILES += *.i *.s SPARSE = sparse sparse: diff --git a/test/Makefile.am b/test/Makefile.am index d83e9c1a4..1527d1497 100644 --- a/test/Makefile.am +++ b/test/Makefile.am @@ -1,7 +1,9 @@ +include $(top_srcdir)/build/Makefile.am.common + SUBDIRS=pdiff . # Here are all the tests that are run unconditionally -TESTS = \ +TESTS += \ a1-image-sample$(EXEEXT) \ a1-mask$(EXEEXT) \ a1-traps-sample$(EXEEXT) \ @@ -742,7 +744,7 @@ REFERENCE_IMAGES = \ xlib-surface-source-ref.png \ zero-alpha-ref.png -EXTRA_DIST = \ +EXTRA_DIST += \ 6x13.pcf \ make-html.pl \ romedalen.png \ @@ -829,9 +831,6 @@ check-local: done; \ fi -check_PROGRAMS = -EXTRA_PROGRAMS = - AM_CPPFLAGS = \ -I$(srcdir) \ -I$(srcdir)/pdiff \ @@ -840,7 +839,7 @@ AM_CPPFLAGS = \ -I$(top_builddir)/src \ $(CAIRO_CFLAGS) -EXTRA_LTLIBRARIES = libcairotest.la +EXTRA_LTLIBRARIES += libcairotest.la libcairotest_la_SOURCES =\ buffer-diff.c \ @@ -910,7 +909,7 @@ VALGRIND_FLAGS = \ --tool=memcheck --suppressions=$(srcdir)/.valgrind-suppressions \ --leak-check=yes --show-reachable=yes $(EXTRA_VALGRIND_FLAGS) -CLEANFILES = \ +CLEANFILES += \ valgrind-log \ index.html \ ref.hash \ diff --git a/test/pdiff/Makefile.am b/test/pdiff/Makefile.am index cc793284f..73098da78 100644 --- a/test/pdiff/Makefile.am +++ b/test/pdiff/Makefile.am @@ -1,5 +1,7 @@ -EXTRA_PROGRAMS = perceptualdiff -EXTRA_DIST = gpl.txt +include $(top_srcdir)/build/Makefile.am.common + +EXTRA_PROGRAMS += perceptualdiff +EXTRA_DIST += gpl.txt noinst_LTLIBRARIES = libpdiff.la libpdiff_la_SOURCES = \ @@ -15,7 +17,3 @@ perceptualdiff_SOURCES = \ AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_builddir)/src $(CAIRO_CFLAGS) LDADD = libpdiff.la $(top_builddir)/src/libcairo.la -# -# Delete intermediate files as well -clean-local: - -${FIND} . -name '*.[is]' -print | ${XARGS} ${RM} diff --git a/util/Makefile.am b/util/Makefile.am index 8b1aa21be..f481a2121 100644 --- a/util/Makefile.am +++ b/util/Makefile.am @@ -1,3 +1,4 @@ +include $(top_srcdir)/build/Makefile.am.common util: malloc-stats.so @@ -5,11 +6,11 @@ util: malloc-stats.so $(RM) $@ $(LN_S) .libs/$*.so $@ -CLEANFILES = *.so *.la +CLEANFILES += *.so *.la SOLDFLAGS = -module -avoid-version -export-dynamic -rpath /dev/null -EXTRA_LTLIBRARIES = malloc-stats.la backtrace-symbols.la +EXTRA_LTLIBRARIES += malloc-stats.la backtrace-symbols.la backtrace_symbols_la_LDFLAGS = $(SOLDFLAGS) @@ -20,7 +21,6 @@ malloc_stats_la_LDFLAGS = $(SOLDFLAGS) malloc_stats_la_LIBADD = $(backtrace_symbols_la_LIBADD) malloc_stats_la_SOURCES = $(backtrace_symbols_la_SOURCES) malloc-stats.c -EXTRA_DIST = \ +EXTRA_DIST += \ xr2cairo \ cairo-api-update -