]> git.ipfire.org Git - people/ms/strongswan.git/blobdiff - Makefile.am
apidoc: Fix make target dependency find precedence
[people/ms/strongswan.git] / Makefile.am
index 1fc1fcdb3143495274e6b5e2777e21b941b05675..99356b0934dbf7ed513ac7e96b312be7e32b721e 100644 (file)
@@ -1,4 +1,4 @@
-SUBDIRS = src man init testing
+SUBDIRS = src man conf init testing
 
 if USE_SCRIPTS
   SUBDIRS += scripts
@@ -20,7 +20,10 @@ config_includedir = $(ipseclibdir)/include
 nodist_config_include_HEADERS = config.h
 endif
 
-Android.common.mk :    Android.common.mk.in configure.in
+# we leave config files behind intentionally so prevent distcheck from complaining
+distuninstallcheck_listfiles = find . -type f \! -name '*.conf' -print
+
+Android.common.mk :    Android.common.mk.in configure.ac
                $(AM_V_GEN) \
                sed \
                -e "s:\@PACKAGE_VERSION\@:$(PACKAGE_VERSION):" \
@@ -31,11 +34,47 @@ Doxyfile :  Doxyfile.in
                sed \
                -e "s:\@PACKAGE_VERSION\@:$(PACKAGE_VERSION):" \
                -e "s:\@PACKAGE_NAME\@:$(PACKAGE_NAME):" \
-               -e "s:\@SRC_DIR\@:$(srcdir):" \
+               -e "s:\@SRC_DIR\@:$(srcdir):g" \
                $(srcdir)/$@.in > $@
 
 apidoc :       Doxyfile
-               doxygen
+               @test -d apidoc || doxygen
+               @! find Doxyfile src/ \( -name '*.h' -o -name '*.md' \) -newer apidoc | \
+                       grep -q '' || doxygen && touch apidoc
+
+cov-reset-common:
+               @rm -rf $(top_builddir)/coverage
+               @find $(top_builddir)/src $(top_builddir)/scripts -name "*.gcda" -delete
+
+if COVERAGE
+cov-reset: cov-reset-common
+               @lcov --zerocounters --directory $(top_builddir)
+
+cov-report:
+               @mkdir $(top_builddir)/coverage
+               lcov -c -o $(top_builddir)/coverage/coverage.info -d $(top_builddir) \
+                        --rc lcov_branch_coverage=1
+               lcov -r $(top_builddir)/coverage/coverage.info '*/tests/*' \
+                        -o $(top_builddir)/coverage/coverage.cleaned.info \
+                        --rc lcov_branch_coverage=1
+               genhtml --num-spaces 4 --legend --branch-coverage --ignore-errors source \
+                               -t "$(PACKAGE_STRING)" \
+                               -o $(top_builddir)/coverage/html \
+                               -p `readlink -m $(abs_top_srcdir)`/src \
+                               $(top_builddir)/coverage/coverage.cleaned.info
+               @echo "Coverage Report at $(top_builddir)/coverage/html" >&2
+
+coverage:
+               @$(MAKE) cov-reset
+               @$(MAKE) check
+               @$(MAKE) cov-report
+else
+coverage:
+               @echo "reconfigure with --enable-coverage"
+endif
+
+clean-local: cov-reset-common
+               @find $(top_builddir)/src $(top_builddir)/scripts -name "*.gcno" -delete
+               @rm -rf apidoc
 
-clean-local:
-               rm -rf apidoc
+.PHONY: cov-reset-common cov-reset cov-report coverage apidoc