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 26 LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info 27 28clean-coverage-html: clean-gcda 29 -$(LCOV) --directory $(top_builddir) -z 30 -rm -rf coverage.info coveragereport 31 32if HAVE_GCOVR 33 34coverage-gcovr: 35 -$(MAKE) $(AM_MAKEFLAGS) -k check 36 $(MAKE) $(AM_MAKEFLAGS) generate-coverage-gcovr 37 38coverage-xml: coverage-gcovr 39 40generate-coverage-gcovr: 41 @echo Generating coverage GCOVR report 42 $(GCOVR) --xml -r $(top_builddir) -e "tests.*" -o $(top_builddir)/coverage.xml 43 44endif # HAVE_GCOVR 45 46endif # HAVE_GCOV 47 48clean-coverage-gcovr: clean-gcda 49 -rm -f $(top_builddir)/coverage.xml 50 51clean-coverage-xml: clean-coverage-gcovr 52