Subject: Re: [PATCH] Makefile: add missing dependencies of 'config-list.h'

From: SZEDER Gábor <[email-masked]>
Date: Fri, 9 Apr 2021 23:20:44 +0200

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.