aboutsummaryrefslogtreecommitdiff
path: root/Makefile.am.coverage
blob: b0a2f8cfca691308731c5ad615a32186d584f2cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41

# Coverage targets

if HAVE_GCOV

  .PHONY: clean-gcda
  clean-gcda:
	@echo Removing old coverage results
	-find -name '*.gcda' -print | xargs -r rm
  
  .PHONY: coverage-html generate-coverage-html clean-coverage-html
  coverage-html: clean-gcda
	-$(MAKE) $(AM_MAKEFLAGS) -k check
	$(MAKE) $(AM_MAKEFLAGS) generate-coverage-html
  
  generate-coverage-html:
	@echo Collecting coverage data
	$(LCOV) --directory $(top_builddir) --capture --output-file coverage.info --no-checksum --compat-libtool
	LANG=C $(GENHTML) --prefix $(top_builddir) --output-directory coveragereport --title "Code Coverage" --legend --show-details coverage.info
  
  clean-coverage-html: clean-gcda
	-$(LCOV) --directory $(top_builddir) -z
	-rm -rf coverage.info coveragereport
  
if HAVE_GCOVR

  .PHONY: coverage-gcovr generate-coverage-gcovr clean-coverage-gcovr
  coverage-gcovr: clean-gcda
	-$(MAKE) $(AM_MAKEFLAGS) -k check
	$(MAKE) $(AM_MAKEFLAGS) generate-coverage-gcovr
	
  generate-coverage-gcovr:
	@echo Generating coverage GCOVR report
	$(GCOVR) -x -r $(top_builddir) -o $(top_builddir)/coverage.gcovr
	
  clean-coverage-gcovr: clean-gcda
	-rm -rf $(top_builddir)/coverage.gcovr

endif # HAVE_GCOVR

endif # HAVE_GCOV