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