summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Analysis.mk35
-rw-r--r--Makefile.am72
2 files changed, 52 insertions, 55 deletions
diff --git a/Analysis.mk b/Analysis.mk
new file mode 100644
index 00000000..d0e00ca4
--- /dev/null
+++ b/Analysis.mk
@@ -0,0 +1,35 @@
+if CAIRO_HAS_LCOV
+# use recursive makes in order to ignore errors during check/perf
+lcov:
+ -$(MAKE) $(AM_MAKEFLAGS) check
+ $(MAKE) $(AM_MAKEFLAGS) genlcov
+lcov-perf:
+ -$(MAKE) $(AM_MAKEFLAGS) perf
+ $(MAKE) $(AM_MAKEFLAGS) genlcov
+
+# we have to massage the lcov.info file slightly to hide the effect of libtool
+# placing the objects files in the .libs/ directory separate from the *.c
+genlcov:
+ $(LTP) --directory $(top_builddir) --path $(top_builddir) --capture --output-file cairo-lcov.info --test-name CAIRO_TEST --no-checksum
+ $(SED) -e 's#.libs/##' \
+ -e 's#boilerplate/src#src#' \
+ -e 's#$(shell pwd)#$(shell cd $(top_srcdir) && pwd)#' \
+ < cairo-lcov.info > cairo-lcov.info.tmp
+ LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory cairo-lcov --title "Cairo Code Coverage" --show-details cairo-lcov.info.tmp
+ $(RM) cairo-lcov.info.tmp
+else
+lcov lcov-perf genlcov:
+ @echo You need to configure Cairo with support for gcov enabled.
+ @echo e.g, ./configure --enable-gcov
+endif
+
+lcov-clean:
+if CAIRO_HAS_LCOV
+ -$(LTP) --directory $(top_builddir) -z
+endif
+ -$(RM) -r cairo-lcov.info cairo-lcov
+ -$(FIND) -name '*.gcda' -print | $(XARGS) $(RM)
+
+distclean-local: lcov-clean
+
+.PHONY: lcov lcov-perf genlcov lcov-clean
diff --git a/Makefile.am b/Makefile.am
index eef0456b..e8d5bf97 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -7,61 +7,19 @@ endif
configure: cairo-version.h
-.PHONY: doc test retest recheck check-valgrind
-# We have some generated header files, so we really need to build the
-# library before we can build the docs
-doc: all
- cd doc && $(MAKE) $(AM_MAKEFLAGS) doc
-test: all
- cd test && $(MAKE) $(AM_MAKEFLAGS) test
-retest: all
- cd test && $(MAKE) $(AM_MAKEFLAGS) retest
-recheck: all
- cd test && $(MAKE) $(AM_MAKEFLAGS) recheck
+doc:
+ cd doc && $(MAKE) $(AM_MAKEFLAGS) $@
+test retest recheck: all
+ cd test && $(MAKE) $(AM_MAKEFLAGS) $@
+perf: all
+ cd perf && $(MAKE) $(AM_MAKEFLAGS) $@
check-valgrind: all
cd test && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
cd perf && $(MAKE) $(AM_MAKEFLAGS) check-valgrind
-perf: all
- cd perf && $(MAKE) $(AM_MAKEFLAGS) perf
-
-if CAIRO_HAS_LCOV
-# use recursive makes in order to ignore errors during check/perf
-lcov:
- -$(MAKE) $(AM_MAKEFLAGS) check
- $(MAKE) $(AM_MAKEFLAGS) genlcov
-lcov-perf:
- -$(MAKE) $(AM_MAKEFLAGS) perf
- $(MAKE) $(AM_MAKEFLAGS) genlcov
-
-# we have to massage the lcov.info file slightly to hide the effect of libtool
-# placing the objects files in the .libs/ directory separate from the *.c
-genlcov:
- $(LTP) --directory $(top_builddir) --path $(top_builddir) --capture --output-file cairo-lcov.info --test-name CAIRO_TEST --no-checksum
- $(SED) -e 's#.libs/##' \
- -e 's#boilerplate/src#src#' \
- -e 's#$(shell pwd)#$(shell cd $(top_srcdir) && pwd)#' \
- < cairo-lcov.info > cairo-lcov.info.tmp
- LANG=C $(LTP_GENHTML) --prefix $(top_builddir) --output-directory cairo-lcov --title "Cairo Code Coverage" --show-details cairo-lcov.info.tmp
- $(RM) cairo-lcov.info.tmp
-else
-lcov lcov-perf genlcov:
- @echo You need to configure Cairo with support for gcov enabled.
- @echo e.g, ./configure --enable-gcov
-endif
-
-lcov-clean:
-if CAIRO_HAS_LCOV
- -$(LTP) --directory $(top_builddir) -z
-endif
- -$(RM) -r cairo-lcov.info cairo-lcov
- -$(FIND) -name '*.gcda' -print | $(XARGS) $(RM)
-
-.PHONY: lcov lcov-perf lcov-clean genlcov
+.PHONY: doc test retest recheck perf check-valgrind
EXTRA_DIST = \
- autogen.sh \
- cairo-version.h \
AUTHORS \
BIBLIOGRAPHY \
BUGS \
@@ -71,13 +29,16 @@ EXTRA_DIST = \
COPYING-MPL-1.1 \
HACKING \
INSTALL \
+ Makefile.win32 \
NEWS \
PORTING_GUIDE \
README \
- RELEASING
-DISTCLEANFILES = config.cache
-distclean-local: lcov-clean
+ RELEASING \
+ autogen.sh \
+ cairo-version.h \
+ $(NULL)
+DISTCLEANFILES = config.cache
MAINTAINERCLEANFILES = \
$(srcdir)/aclocal.m4 \
$(srcdir)/autoscan.log \
@@ -93,9 +54,10 @@ MAINTAINERCLEANFILES = \
$(srcdir)/mkinstalldirs \
`find "$(srcdir)" -type f -name Makefile.in -print`
-DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc --enable-test-surfaces
+DISTCHECK_CONFIGURE_FLAGS = \
+ --enable-gtk-doc \
+ --enable-test-surfaces
include $(srcdir)/ChangeLog.mk
include $(srcdir)/Releasing.mk
-
-EXTRA_DIST += Makefile.win32
+include $(srcdir)/Analysis.mk