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