summaryrefslogtreecommitdiff
path: root/Makefile.am
diff options
context:
space:
mode:
authorRob Taylor <rob.taylor@codethink.co.uk>2008-02-08 18:09:05 +0000
committerRobert James Taylor <robtaylor@src.gnome.org>2008-02-08 18:09:05 +0000
commite2340a78cd657c2398f1076f6f0b87a3dca25540 (patch)
tree17395722d1bda95d39e4b543cd3739fe4314eeec /Makefile.am
parentb935261f387dffa2c7006fe1be04820004810e87 (diff)
downloadgobject-introspection-e2340a78cd657c2398f1076f6f0b87a3dca25540.tar.gz
Added:
2008-02-08 Rob Taylor <rob.taylor@codethink.co.uk> * Makefile.am: * configure.ac: * gcov.mak: Added: * girepository/Makefile.am: * m4/Makefile.am: Added: * m4/as-compiler-flag.m4: Added: * m4/gcov.m4: Added: * tools/Makefile.am: Add ability to generate a coverage report. Adds configure option --enable-gcov and make rule 'check-coverage'. svn path=/trunk/; revision=105
Diffstat (limited to 'Makefile.am')
-rw-r--r--Makefile.am40
1 files changed, 39 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am
index 8a336995..978d2c09 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,45 @@
## Process this file with automake to produce Makefile.in
-
+DIST_SUBDIRS = m4
SUBDIRS = gidl girepository tools tests
+ACLOCAL_AMFLAGS = -I m4
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = gobject-introspection.pc
EXTRA_DIST = $(pkgconfig_DATA)
+
+if GI_GCOV_ENABLED
+GCOV_DIRS = girepository tools
+
+clean-gcov:
+ find -name "*.gcda" -o -name "*.gcov" -delete
+
+clean-gcno:
+ find -name "*.gcno" -delete
+
+.PHONEY: gcov-all
+gcov-all:
+ @for dir in $(GCOV_DIRS); do \
+ cd $(abs_srcdir)/$$dir && \
+ for file in *.c; do \
+ gcov -f -p -o `find $(abs_builddir)/$$dir -newer $$file -name "*-$${file/.c/.gcda}" -print0 | sed -e 's/\.gcda/\.o/'` $$file > /dev/null; \
+ done \
+ done
+
+.PHONEY: coverage-report.txt
+coverage-report.txt: clean clean-gcov all check gcov-all
+ @rm -f $(top_builddir)/coverage-report.txt
+ @echo -e "=== Coverage Report ===\n" >> $(top_builddir)/coverage-report.txt
+ @for dir in $(GCOV_DIRS); do \
+ echo "Module '$$dir':" >> $(top_builddir)/coverage-report.txt; \
+ $(MAKE) -C $$dir coverage-report; \
+ done
+
+check-coverage: coverage-report.txt
+ @cat $(top_builddir)/coverage-report.txt
+
+else
+
+check-coverage:
+ @echo "Need to reconfigure with --enable-gcov"
+
+endif