diff options
author | chpe <chpe@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2012-10-27 17:58:43 +0000 |
---|---|---|
committer | chpe <chpe@2f5784b3-3f2a-0410-8824-cb99058d5e15> | 2012-10-27 17:58:43 +0000 |
commit | cd5d1048885dc8a0f79dbcc59669788fa953d784 (patch) | |
tree | 7e132c68b0475c3ec52570a4f7a29944492fe674 /Makefile.am | |
parent | e9e375218e48cb667f8594427f5ba3cf725c97b3 (diff) | |
download | pcre-cd5d1048885dc8a0f79dbcc59669788fa953d784.tar.gz |
build: Improve coverage rules
Make the rules more robust. Fix a typo that prevented 'make coverage-clean'
from removing the generated report directory.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1180 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'Makefile.am')
-rw-r--r-- | Makefile.am | 86 |
1 files changed, 56 insertions, 30 deletions
diff --git a/Makefile.am b/Makefile.am index b33cdd8..11c5b04 100644 --- a/Makefile.am +++ b/Makefile.am @@ -755,55 +755,81 @@ endif if WITH_GCOV -GCOV_NAME = $(PACKAGE)-$(VERSION) -GCOV_OUTPUT_FILE = $(GCOV_NAME)-coverage.info -GCOV_OUTPUT_DIR = $(GCOV_NAME)-coverage -GCOV_LCOV_FLAGS = -GCOV_GENHTML_FLAGS = - -gcov_quiet = $(gcov_quiet_$(V)) -gcov_quiet_ = $(gcov_quiet_$(AM_DEFAULT_VERBOSITY)) -gcov_quiet_0 = --quiet +# Coverage reporting targets: +# +# coverage: Create a coverage report from 'make check' +# coverage-baseline: Capture baseline coverage information +# coverage-reset: This zeros the coverage counters only +# coverage-report: This creates the coverage report only +# coverage-clean-report: This removes the generated coverage report +# without cleaning the coverage data itself +# coverage-clean: This cleans all coverage data including the generated +# coverage report. + +COVERAGE_TEST_NAME = $(PACKAGE) +COVERAGE_NAME = $(PACKAGE)-$(VERSION) +COVERAGE_OUTPUT_FILE = $(COVERAGE_NAME)-coverage.info +COVERAGE_OUTPUT_DIR = $(COVERAGE_NAME)-coverage +COVERAGE_LCOV_EXTRA_FLAGS = +COVERAGE_GENHTML_EXTRA_FLAGS = + +coverage_quiet = $(coverage_quiet_$(V)) +coverage_quiet_ = $(coverage_quiet_$(AM_DEFAULT_VERBOSITY)) +coverage_quiet_0 = --quiet coverage-check: all -$(MAKE) $(AM_MAKEFLAGS) -k check +coverage-baseline: + $(LCOV) $(coverage_quiet) \ + --directory $(top_builddir) \ + --output-file "$(COVERAGE_OUTPUT_FILE)" \ + --capture \ + --initial + coverage-report: - $(LCOV) $(gcov_quiet) \ + $(LCOV) $(coverage_quiet) \ --directory $(top_builddir) \ --capture \ - --output-file "$(GCOV_OUTPUT_FILE).tmp" \ - --test-name "$(GCOV_NAME)" \ + --output-file "$(COVERAGE_OUTPUT_FILE).tmp" \ + --test-name "$(COVERAGE_TEST_NAME)" \ --no-checksum \ --compat-libtool \ - $(GCOV_LCOV_FLAGS) - $(LCOV) $(gcov_quiet) \ + $(COVERAGE_LCOV_EXTRA_FLAGS) + $(LCOV) $(coverage_quiet) \ --directory $(top_builddir) \ - --output-file "$(GCOV_OUTPUT_FILE)" \ - --remove "$(GCOV_OUTPUT_FILE).tmp" \ + --output-file "$(COVERAGE_OUTPUT_FILE)" \ + --remove "$(COVERAGE_OUTPUT_FILE).tmp" \ "/tmp/*" \ "/usr/include/*" \ "$(includedir)/*" - -@rm -f "$(GCOV_OUTPUT_FILE).tmp" - LANG=C $(GENHTML) $(gcov_quiet) \ + -@rm -f "$(COVERAGE_OUTPUT_FILE).tmp" + LANG=C $(GENHTML) $(coverage_quiet) \ --prefix $(top_builddir) \ - --output-directory "$(GCOV_OUTPUT_DIR)" \ + --output-directory "$(COVERAGE_OUTPUT_DIR)" \ --title "$(PACKAGE) $(VERSION) Code Coverage Report" \ - --show-details "$(GCOV_OUTPUT_FILE)" \ + --show-details "$(COVERAGE_OUTPUT_FILE)" \ --legend \ - $(GCOV_GENHTML_FLAGS) - @echo "Code coverage report written to file://$(abs_builddir)/$(GCOV_OUTPUT_DIR)/index.html" + $(COVERAGE_GENHTML_EXTRA_FLAGS) + @echo "Code coverage report written to file://$(abs_builddir)/$(COVERAGE_OUTPUT_DIR)/index.html" -coverage-clean: - -$(LCOV) $(gcov_quiet) --zerocounters --directory $(top_builddir) - -rm -f "$(GCOV_OUTPUT_FILE)" - -rm -f "$(GCOV_OUTPUT_FILE).tmp" - -rm -rf "$(GCOV_NAME)" - -find $(top_builddir) -name '*.gcda' -o -name "*.gcov" -delete +coverage-reset: + -$(LCOV) $(coverage_quiet) --zerocounters --directory $(top_builddir) -coverage: coverage-check coverage-report +coverage-clean-report: + -rm -f "$(COVERAGE_OUTPUT_FILE)" "$(COVERAGE_OUTPUT_FILE).tmp" + -rm -rf "$(COVERAGE_OUTPUT_DIR)" + +coverage-clean: coverage-reset coverage-clean-report + -find $(top_builddir) -name "*.gcda" -or -name "*.gcno" -delete + +coverage-distclean: coverage-clean + +coverage: coverage-baseline coverage-check coverage-report clean-local: coverage-clean -distclean-local: coverage-clean +distclean-local: coverage-distclean + +.PHONY: coverage coverage-baseline coverage-check coverage-report coverage-reset coverage-clean-report coverage-clean coverage-distclean else |