threads / patch / 56567

patchMakefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes

Subject: [PATCH] Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes

## tl;dr

3 messages between Sep 22, 2021 and Sep 22, 2021. Diffs are folded; open one to read it.

replies: 2people: 3as markdown or json

Ævar Arnfjörð Bjarmason· Sep 22, 2021, 20:17 UTC · lore

Fix a logic error in dfea575017d (Makefile: lazily compute header dependencies, 2010-01-26) where we'd make whether we cleaned the .depend dirs contingent on the currently configured COMPUTE_HEADER_DEPENDENCIES value. Before this running e.g.:

    make COMPUTE_HEADER_DEPENDENCIES=yes grep.o
    make COMPUTE_HEADER_DEPENDENCIES=no clean
Would leave behind the .depend directory, now it'll be removed.

Normally we'd need to use another variable, but in this case there's no other uses of $(dep_dirs), as opposed to $(dep_args) which is used as an argument to $(CC). So just deleting this line makes everything work correctly.

See http://lore.kernel.org/git/xmqqmto48ufz.fsf@gitster.g for a report about this issue.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
---
 Makefile | 1 -
 1 file changed, 1 deletion(-)
Show changes to Makefile +0 −1
diff --git a/Makefile b/Makefile
index 9df565f27bb..bc987daf495 100644
--- a/Makefile
+++ b/Makefile
@@ -2466,7 +2466,6 @@ dep_args = -MF $(dep_file) -MQ $@ -MMD -MP
 endif
 
 ifneq ($(COMPUTE_HEADER_DEPENDENCIES),yes)
-dep_dirs =
 missing_dep_dirs =
 dep_args =
 endif
-- 
2.33.0.1225.g9f062250122
Jeff King· Sep 22, 2021, 20:26 UTC · re: Ævar Arnfjörð Bjarmason · lore

Re: [PATCH] Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes

On Wed, Sep 22, 2021 at 10:17:06PM +0200, Ævar Arnfjörð Bjarmason wrote:
Show 17 quoted lines
> Fix a logic error in dfea575017d (Makefile: lazily compute header
> dependencies, 2010-01-26) where we'd make whether we cleaned the
> .depend dirs contingent on the currently configured
> COMPUTE_HEADER_DEPENDENCIES value. Before this running e.g.:
> 
>     make COMPUTE_HEADER_DEPENDENCIES=yes grep.o
>     make COMPUTE_HEADER_DEPENDENCIES=no clean
> 
> Would leave behind the .depend directory, now it'll be removed.
> 
> Normally we'd need to use another variable, but in this case there's
> no other uses of $(dep_dirs), as opposed to $(dep_args) which is used
> as an argument to $(CC). So just deleting this line makes everything
> work correctly.
> 
> See http://lore.kernel.org/git/xmqqmto48ufz.fsf@gitster.g for a report
> about this issue.

This makes perfect sense to me. Nicely explained, and the patch is simpler than I'd have expected. :)

-Peff
Junio C Hamano· Sep 22, 2021, 20:31 UTC · re: Jeff King · lore

Re: [PATCH] Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes

Jeff King <peff@peff.net> writes:
Show 5 quoted lines
>> See http://lore.kernel.org/git/xmqqmto48ufz.fsf@gitster.g for a report
>> about this issue.
>
> This makes perfect sense to me. Nicely explained, and the patch is
> simpler than I'd have expected. :)

For the record, I did *not* (and I right now do not) consider this behaviour as an "issue" when I mentioned it. It's like building with a setting that requires some compat/ stuff and then cleaning without the setting, no? i.e. cruft left behind is something the user deserves to see.

Since there is no other useful purpose for these .depend directories to exist, I do not mind if "make clean" removed them, though ;-)

Thanks.

← back to recent threads