Thread (1 message) 1 message, 1 author, 2021-03-28

Re: [PATCH 2/5] Documentation/Makefile: make $(wildcard <doc deps>) a var

From: Junio C Hamano <hidden>
Date: 2021-03-28 06:29:11

Ævar Arnfjörð Bjarmason  [off-list ref] writes:
quoted hunk
Refactor the wildcard we'll scan for "include" directives into a
single INCLUDE_TARGETS_TXT variable for readability, consistency.

Signed-off-by: Ævar Arnfjörð Bjarmason <redacted>
---
 Documentation/Makefile | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Documentation/Makefile b/Documentation/Makefile
index 0ba7564be93..7313956d73f 100644
--- a/Documentation/Makefile
+++ b/Documentation/Makefile
@@ -3,6 +3,7 @@ MAN1_TXT =
 MAN5_TXT =
 MAN7_TXT =
 HOWTO_TXT =
+INCLUDE_TARGETS_TXT =
 TECH_DOCS =
 ARTICLES =
 SP_ARTICLES =
@@ -45,6 +46,9 @@ MAN7_TXT += gitworkflows.txt
 
 HOWTO_TXT += $(wildcard howto/*.txt)
 
+INCLUDE_TARGETS_TXT += $(wildcard *.txt)
+INCLUDE_TARGETS_TXT += $(wildcard config/*.txt)
+
 ifdef MAN_FILTER
 MAN_TXT = $(filter $(MAN_FILTER),$(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT))
 else
@@ -287,7 +291,7 @@ docdep_prereqs = \
 	mergetools-list.made $(mergetools_txt) \
 	cmd-list.made $(cmds_txt)
 
-doc.dep : $(docdep_prereqs) $(wildcard *.txt) $(wildcard config/*.txt) build-docdep.perl
+doc.dep : $(docdep_prereqs) $(INCLUDE_TARGETS_TXT) build-docdep.perl
 	$(QUIET_GEN)$(RM) $@+ $@ && \
 	$(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \
 	mv $@+ $@
While this may not break anything per-se, I find the name of the new
macro not quite intuitive.

The build-docdep script opens $(wildcard *.txt) itself (without
getting them fed from Makefile) to find what other files are used
via "include::", and then it recursively scans more files that are
used via "include::" to build dependencies.  Makefile assumes the
"include::" chain would pull in $(wildcard config/*.txt) files, but
this assumption may not prevent other *.txt files from getting
pulled in (not a new problem introduced by this patch).

I am not sure what these *.txt files involved in the process should
be called, but "include targets" sounds something else.  Naïvely, I
would say "we rebuild documentation dependency any time any source
text file changes", so if this were called "ALL_TXT" or something
like that, I wouldn't have such a reaction.

Thanks.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help