gbranden pushed a commit to branch master
in repository groff.
commit afe3b8cdf9890b3faf48447fc8b5e01e561299ee
Author: G. Branden Robinson <[email protected]>
AuthorDate: Fri Jan 16 19:35:39 2026 -0600
Makefile.am: Add "coverage" target.
Crib gnulib's coverage generation from its "maint.mk" file. This way
developers can run "make coverage" to produce a code coverage report.
Requires "lcov" package.
* Makefile.am: Define macros `COVERAGE_CCOPTS` and `COVERAGE_OUT`.
(init-coverage, build-coverage, gen-coverage, coverage): Define new
(phony) target rules.
No update to copyright notice; this stuff was committed to gnulib from
2008-2017, wholly within the date range of our existing FSF notice. (I
wrapped some long lines and migrated to `$(MKDIR_P)`.)
---
ChangeLog | 11 +++++++++++
Makefile.am | 30 ++++++++++++++++++++++++++++++
2 files changed, 41 insertions(+)
diff --git a/ChangeLog b/ChangeLog
index 9e2c8be55..859a22a54 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2026-01-16 G. Branden Robinson <[email protected]>
+
+ Crib gnulib's coverage generation from its "maint.mk" file.
+ This way developers can run "make coverage" to produce a code
+ coverage report. Requires "lcov" package.
+
+ * Makefile.am: Define macros `COVERAGE_CCOPTS` and
+ `COVERAGE_OUT`.
+ (init-coverage, build-coverage, gen-coverage, coverage): Define
+ new (phony) target rules.
+
2026-01-18 Deri James <[email protected]>
* src/devices/gropdf/gropdf.pl (.pdf*href): For external
diff --git a/Makefile.am b/Makefile.am
index ef3754845..db9362e43 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -877,6 +877,36 @@ $(top_srcdir)/.version:
dist-hook:
echo $(VERSION) > $(distdir)/.tarball-version
+# maintainer-mode targets
+
+init-coverage:
+ $(MAKE) $(AM_MAKEFLAGS) clean
+ lcov --directory . --zerocounters
+
+COVERAGE_CCOPTS ?= "-g --coverage"
+COVERAGE_OUT ?= doc/coverage
+
+build-coverage:
+ $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) \
+ CXXFLAGS=$(COVERAGE_CCOPTS)
+ $(MAKE) $(AM_MAKEFLAGS) CFLAGS=$(COVERAGE_CCOPTS) \
+ CXXFLAGS=$(COVERAGE_CCOPTS) check
+ $(MKDIR_P) $(COVERAGE_OUT)
+ lcov --directory . --output-file \
+ $(COVERAGE_OUT)/$(PACKAGE).info --capture
+
+gen-coverage:
+ genhtml --output-directory $(COVERAGE_OUT) \
+ $(COVERAGE_OUT)/$(PACKAGE).info \
+ --frames --legend \
+ --title "$(PACKAGE_NAME)"
+
+coverage:
+ $(MAKE) init-coverage
+ $(MAKE) build-coverage
+ $(MAKE) gen-coverage
+
+
# Local Variables:
# fill-column: 72
# mode: makefile-automake
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit