1COVERAGE_DIR=coverage 2 3if HAVE_LCOV 4# run lcov from scratch 5lcov: 6 $(MAKE) lcov-run 7 $(MAKE) lcov-report 8 9else 10lcov: 11 @echo "lcov not found or lacking --compat-libtool support" 12 @exit 1 13endif 14 15# reset run coverage tests 16lcov-run: 17 @-rm -rf $(COVERAGE_DIR) 18 @-find . -name "*.gcda" -exec rm {} \; 19 -$(MAKE) check 20 21# generate report based on current coverage data 22lcov-report: 23 @mkdir -p $(COVERAGE_DIR) 24 @lcov --quiet --compat-libtool --directory . --capture --output-file $(COVERAGE_DIR)/lcov.info 25 @lcov --output-file $(COVERAGE_DIR)/lcov.info.clean --remove $(COVERAGE_DIR)/lcov.info '*/_gen/*' '/usr/*' 26 @echo ================================================= 27 @genhtml -t "$(PACKAGE_STRING)" -o $(COVERAGE_DIR) $(COVERAGE_DIR)/lcov.info.clean 28 @echo file://@abs_top_builddir@/$(COVERAGE_DIR)/index.html 29 @echo ================================================= 30