1NULL = 2 3SUBDIRS = build clutter tests 4 5if BUILD_EXAMPLES 6SUBDIRS += examples 7endif 8 9DIST_SUBDIRS = clutter tests examples build 10 11# XXX - this is a massive hack to make autoreconf honour the ACLOCAL_FLAGS 12# that jhbuild sets while still retaining build/autotools as the authoritative 13# source for m4 macros 14ACLOCAL_AMFLAGS = -I build/autotools ${ACLOCAL_FLAGS} 15 16CLEANFILES = $(pcfiles) 17 18DISTCLEANFILES = 19 20DISTCHECK_CONFIGURE_FLAGS = --enable-maintainer-flags 21 22# proxy rules for tests 23test-report full-report: 24 $(MAKE) -C tests/conform $(@) 25 26perf-report: 27 $(MAKE) -C tests/performance $(@) 28 29if ENABLE_GCOV 30# use recursive makes in order to ignore errors during check/perf 31lcov: 32 -$(MAKE) $(AM_MAKEFLAGS) -C clutter check 33 -$(MAKE) $(AM_MAKEFLAGS) -C tests/conform test 34 $(MAKE) $(AM_MAKEFLAGS) genlcov 35 36# we have to massage the lcov.info file slightly to hide the effect of libtool 37# placing the objects files in the .libs/ directory separate from the *.c 38genlcov: 39 $(LTP) --directory $(top_builddir) --capture --output-file clutter-lcov.info --test-name CLUTTER_TEST --no-checksum 40 $(SED) -e 's#.libs/##' < clutter-lcov.info > clutter-lcov.info.tmp 41 LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory clutter-lcov --title "Clutter Code Coverage" --show-details clutter-lcov.info.tmp 42 rm -f clutter-lcov.info.tmp 43 44lcov-clean: 45 -$(LTP) --directory $(top_builddir) -z 46 -$(RM) -rf clutter-lcov.info clutter-lcov 47else 48lcov genlcov lcov-clean: 49 @echo You need to configure Clutter with support for gcov enabled. 50 @echo e.g., ./configure --enable-gcov 51endif 52 53.PHONY: test-report full-report perf-report lcov genlcov lcov-clean 54