On Thu, Apr 08, 2021 at 07:40:41PM -0400, Jeff King wrote: > On Fri, Apr 09, 2021 at 12:08:23AM +0200, Ævar Arnfjörð Bjarmason wrote: > > > > -config-list.h: > > > +config-list.h: Documentation/*config.txt Documentation/config/*.txt > > > $(QUIET_GEN)$(SHELL_PATH) ./generate-configlist.sh \ > > > >$@+ && mv $@+ $@ > > > > > > command-list.h: generate-cmdlist.sh command-list.txt > > > > > > -command-list.h: $(wildcard Documentation/git*.txt) Documentation/*config.txt Documentation/config/*.txt > > > +command-list.h: $(wildcard Documentation/git*.txt) > > > $(QUIET_GEN)$(SHELL_PATH) ./generate-cmdlist.sh \ > > > $(patsubst %,--exclude-program %,$(EXCLUDED_PROGRAMS)) \ > > > command-list.txt >$@+ && mv $@+ $@ > > > > This change makes sense. > > I agree it looks like it's moving in the right direction, but I am > slightly puzzled by the existing code. Why do we need to use $(wildcard) > for git*.txt, but not for the others? We don't need $(wildcard) for git*.txt either, because 'make' expands wildcards in prerequisites, see e.g.: https://www.gnu.org/software/make/manual/html_node/Wildcard-Examples.html On a related note: all config variables are now listed in Documentation/config/*.txt; Documentation/*config.txt doesn't contain any, so that could be removed.