Improve Makefile recipe for coverage testing.
authorEric S. Raymond <esr@thyrsus.com>
Mon, 6 Mar 2023 17:23:40 +0000 (12:23 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Mon, 6 Mar 2023 17:55:17 +0000 (12:55 -0500)
Makefile

index 38139dec2f89210d7860dc927ddfa022a7d25eff..eebc68c93fe52ac3215b429fe89f8ec21f0bff56 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -65,10 +65,12 @@ cheat: $(CHEAT_OBJS) dungeon.o
 check: advent cheat
        cd tests; $(MAKE) --quiet
 
+# Requires gcov, lcov, libasan6, and libubsan1
+# The last two are Ubuntu names, might vary onb other distributions.
 # After this, run your browser on coverage/open-adventure/index.html
 # to see coverage results. Browse coverage/adventure.yaml.html
 # to see symbol coverage over the YAML file.
-coverage: debug
+coverage: clean debug
        cd tests; $(MAKE) coverage --quiet
 
 .SUFFIXES: .adoc .html .6
@@ -129,6 +131,11 @@ linty: CCFLAGS += -Winit-self
 linty: CCFLAGS += -Wpointer-arith
 linty: advent cheat
 
+# These seem to be more modeern options for enabling coverage testing.
+# Documenting them here in case a future version bump disables --coverage.
+#debug: CCFLAGS += -ftest-coverage
+#debug: CCFLAGS += -fprofile-arcs
+
 debug: CCFLAGS += -O0
 debug: CCFLAGS += --coverage
 debug: CCFLAGS += -ggdb