1 2# Coverage targets 3 4.PHONY: clean-gcno clean-gcda \ 5 coverage-html generate-coverage-html clean-coverage-html \ 6 coverage-gcovr generate-coverage-gcovr clean-coverage-gcovr 7 8clean-local: clean-gcno clean-coverage-html clean-coverage-gcovr 9 10clean-gcno: 11 @echo Removing old coverage instrumentation 12 -find -name '*.gcno' -print | xargs -r rm 13 14clean-gcda: 15 @echo Removing old coverage results 16 -find -name '*.gcda' -print | xargs -r rm 17 18if HAVE_GCOV 19coverage-html: 20 -$(MAKE) $(AM_MAKEFLAGS) -k check 21 $(MAKE) $(AM_MAKEFLAGS) generate-coverage-html 22 23generate-coverage-html: 24 @echo Collecting coverage data 25 $(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool --derive-func-data 26 $(LCOV) --directory $(top_builddir) --output-file coverage.info --remove coverage.info "*.c" "*.h" "*.vapi" 27 LANG=C $(GENHTML) --output-directory $(top_builddir)/coveragereport --title "@PACKAGE_STRING@" --num-spaces 4 --legend --show-details $(top_builddir)/coverage.info 28 29clean-coverage-html: clean-gcda 30 -$(LCOV) --directory $(top_builddir) -z 31 -rm -rf $(top_builddir)/coverage.info $(top_builddir)/coveragereport 32 33if HAVE_GCOVR 34 35coverage-gcovr: 36 -$(MAKE) $(AM_MAKEFLAGS) -k check 37 $(MAKE) $(AM_MAKEFLAGS) generate-coverage-gcovr 38 39coverage-xml: coverage-gcovr 40 41generate-coverage-gcovr: 42 @echo Generating coverage GCOVR report 43 $(GCOVR) --xml -r $(top_builddir) -e "tests.*" -o $(top_builddir)/coverage.xml 44 45endif # HAVE_GCOVR 46 47endif # HAVE_GCOV 48 49clean-coverage-gcovr: clean-gcda 50 -rm -f $(top_builddir)/coverage.xml 51 52clean-coverage-xml: clean-coverage-gcovr 53