99 lines
2.7 KiB
Makefile
99 lines
2.7 KiB
Makefile
ACLOCAL_AMFLAGS = -I m4
|
|
SUBDIRS = src tests tests-fuzz python samples distro doc
|
|
|
|
EXTRA_DIST = README.md
|
|
|
|
.PHONY: singlehtml epub install-singlehtml install-epub
|
|
singlehtml install-singlehtml epub install-epub:
|
|
$(MAKE) -C doc $@
|
|
|
|
.PHONY: check-compile
|
|
check-compile:
|
|
$(MAKE) $(AM_MAKEFLAGS) -C tests $@
|
|
$(MAKE) $(AM_MAKEFLAGS) -C tests-fuzz $@
|
|
|
|
AM_DISTCHECK_CONFIGURE_FLAGS =
|
|
|
|
CODE_COVERAGE_INFO = coverage.info
|
|
CODE_COVERAGE_HTML = coverage.html
|
|
CODE_COVERAGE_DIRS = \
|
|
src/contrib \
|
|
src/knot \
|
|
src/libdnssec \
|
|
src/libknot \
|
|
src/libzscanner
|
|
|
|
code_coverage_quiet = --quiet
|
|
|
|
check-code-coverage:
|
|
if CODE_COVERAGE_ENABLED
|
|
$(MAKE) $(AM_MAKEFLAGS) code-coverage-initial
|
|
-$(MAKE) $(AM_MAKEFLAGS) -k check
|
|
$(MAKE) $(AM_MAKEFLAGS) code-coverage-capture
|
|
$(MAKE) $(AM_MAKEFLAGS) code-coverage-html
|
|
$(MAKE) $(AM_MAKEFLAGS) code-coverage-summary
|
|
else
|
|
@echo "You need to run configure with --enable-code-coverage to enable code coverage"
|
|
endif
|
|
|
|
code-coverage-initial:
|
|
if CODE_COVERAGE_ENABLED
|
|
$(LCOV) $(code_coverage_quiet) \
|
|
--no-external \
|
|
$(foreach dir, $(CODE_COVERAGE_DIRS), --directory $(top_builddir)/$(dir)) \
|
|
--capture --initial \
|
|
--ignore-errors source \
|
|
--no-checksum \
|
|
--compat-libtool \
|
|
--output-file $(CODE_COVERAGE_INFO)
|
|
else
|
|
@echo "You need to run configure with --enable-code-coverage to enable code coverage"
|
|
endif
|
|
|
|
code-coverage-capture:
|
|
if CODE_COVERAGE_ENABLED
|
|
$(LCOV) $(code_coverage_quiet) \
|
|
--no-external \
|
|
$(foreach dir, $(CODE_COVERAGE_DIRS), --directory $(builddir)/$(dir)) \
|
|
--capture \
|
|
--ignore-errors source \
|
|
--no-checksum \
|
|
--compat-libtool \
|
|
--output-file $(CODE_COVERAGE_INFO)
|
|
else
|
|
@echo "You need to run configure with --enable-code-coverage to enable code coverage"
|
|
endif
|
|
|
|
code-coverage-html:
|
|
if CODE_COVERAGE_ENABLED
|
|
@echo "Generating code coverage HTML report (this might take a while)"
|
|
LANG=C $(GENHTML) $(code_coverage_quiet) \
|
|
--output-directory $(CODE_COVERAGE_HTML) \
|
|
--title "Knot DNS $(PACKAGE_VERSION) Code Coverage" \
|
|
--legend --show-details \
|
|
--ignore-errors source \
|
|
$(CODE_COVERAGE_INFO)
|
|
else
|
|
@echo "You need to run configure with --enable-code-coverage to enable code coverage"
|
|
endif
|
|
|
|
code-coverage-summary:
|
|
if CODE_COVERAGE_ENABLED
|
|
$(LCOV) \
|
|
--summary $(CODE_COVERAGE_INFO)
|
|
else
|
|
@echo "You need to run configure with --enable-code-coverage to enable code coverage"
|
|
endif
|
|
|
|
if CODE_COVERAGE_ENABLED
|
|
clean-local: code-coverage-clean
|
|
-find . -name "*.gcno" -delete
|
|
code-coverage-clean:
|
|
-$(LCOV) --directory $(top_builddir) -z
|
|
-rm -rf $(CODE_COVERAGE_INFO) $(CODE_COVERAGE_HTML)
|
|
-find . -name "*.gcda" -o -name "*.gcov" -delete
|
|
endif
|
|
|
|
|
|
.PHONY: check-code-coverage code-coverage-initial code-coverage-capture code-coverage-html code-coverage-summary code-coverage-clean
|
|
.NOTPARALLEL: clean
|