{"thread":{"id":"57735","subject":"[PATCH v4 1/1] Makefile: add a prerequisite to the coverage-report target","startedAt":"2022-04-15T02:48:36Z","lastAt":"2022-04-15T06:36:16Z","messageCount":2,"participants":["Elia Pinto","Junio C Hamano"],"isPatch":true,"patchVersion":4,"patchTotal":1},"messages":[{"id":"453680","messageId":"20220415024738.9239-1-gitter.spiros@gmail.com","threadId":"57735","inReplyTo":null,"subject":"[PATCH v4 1/1] Makefile: add a prerequisite to the coverage-report target","fromName":"Elia Pinto","fromEmail":"gitter.spiros@gmail.com","sentAt":"2022-04-15T02:47:38Z","receivedAt":"2022-04-15T02:48:36Z","isPatch":true,"sender":{"key":"gitter.spiros@gmail.com","avatar":"https://avatars.githubusercontent.com/u/158490?v=4"},"body":"Directly invoking make coverage-report as a target results in an error because\nits prerequisites are missing,\n\nThis patch adds the compile-test prerequisite, which is run only once each time\nthe compile-report target is invoked. In practice, the developer may decide to\nreview the coverage-report results without necessarily rerunning for this\ncoverage-test, if it has already been run.\n\nSigned-off-by: Elia Pinto <gitter.spiros@gmail.com>\n---\nThis is the fourth revision of the patch. Compared to the third:\n\n- @make -> $ (MAKE)\n- drop touch coverage-test.made from the coverage-test.made target\n\n Makefile | 7 ++++++-\n 1 file changed, 6 insertions(+), 1 deletion(-)\n\ndiff --git a/Makefile b/Makefile\nindex f8bccfab5e..3740a3a4e7 100644\n--- a/Makefile\n+++ b/Makefile\n@@ -3407,6 +3407,7 @@ coverage-clean-results:\n \t$(RM) coverage-untested-functions\n \t$(RM) -r cover_db/\n \t$(RM) -r cover_db_html/\n+\t$(RM) coverage-test.made\n \n coverage-clean: coverage-clean-results\n \t$(RM) $(addsuffix *.gcno,$(object_dirs))\n@@ -3421,13 +3422,17 @@ coverage-compile:\n coverage-test: coverage-clean-results coverage-compile\n \t$(MAKE) CFLAGS=\"$(COVERAGE_CFLAGS)\" LDFLAGS=\"$(COVERAGE_LDFLAGS)\" \\\n \t\tDEFAULT_TEST_TARGET=test -j1 test\n+\ttouch coverage-test.made\n+\n+coverage-test.made:\n+\t$(MAKE) coverage-test\n \n coverage-prove: coverage-clean-results coverage-compile\n \t$(MAKE) CFLAGS=\"$(COVERAGE_CFLAGS)\" LDFLAGS=\"$(COVERAGE_LDFLAGS)\" \\\n \t\tDEFAULT_TEST_TARGET=prove GIT_PROVE_OPTS=\"$(GIT_PROVE_OPTS) -j1\" \\\n \t\t-j1 test\n \n-coverage-report:\n+coverage-report: coverage-test.made\n \t$(QUIET_GCOV)for dir in $(object_dirs); do \\\n \t\t$(GCOV) $(GCOVFLAGS) --object-directory=$$dir $$dir*.c || exit; \\\n \tdone\n-- \n2.35.1\n\n"},{"id":"453683","messageId":"xmqqczhig8fb.fsf@gitster.g","threadId":"57735","inReplyTo":"20220415024738.9239-1-gitter.spiros@gmail.com","subject":"Re: [PATCH v4 1/1] Makefile: add a prerequisite to the coverage-report target","fromName":"Junio C Hamano","fromEmail":"gitster@pobox.com","sentAt":"2022-04-15T06:36:08Z","receivedAt":"2022-04-15T06:36:16Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Elia Pinto <gitter.spiros@gmail.com> writes:\n\n> Directly invoking make coverage-report as a target results in an error because\n> its prerequisites are missing,\n\nThe result happens to be identical to what I already have in my tree.\n\nThanks for taking care of the details of dependencies.\n\n"}]}