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

3 messages from 2021-09-22 to 2021-09-22. Participants: Ævar Arnfjörð Bjarmason, Jeff King, Junio C Hamano.
Thread: https://gitlist.dev/t/56567

## Ævar Arnfjörð Bjarmason, 2021-09-22 20:17

Subject: [PATCH] Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes
Message-ID: <patch-1.1-b8bde2ee7b7-20210922T201615Z-avarab@gmail.com>
URL: https://gitlist.dev/e/patch-1.1-b8bde2ee7b7-20210922T201615Z-avarab%40gmail.com

```
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(-)

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, 2021-09-22 20:26

Subject: Re: [PATCH] Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes
Message-ID: <YUuRWT8+Q4ls6BHu@coredump.intra.peff.net>
URL: https://gitlist.dev/e/YUuRWT8%2BQ4ls6BHu%40coredump.intra.peff.net
In-Reply-To: <patch-1.1-b8bde2ee7b7-20210922T201615Z-avarab@gmail.com>

```
On Wed, Sep 22, 2021 at 10:17:06PM +0200, Ævar Arnfjörð Bjarmason wrote:

> 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, 2021-09-22 20:31

Subject: Re: [PATCH] Makefile: clean .depend dirs under COMPUTE_HEADER_DEPENDENCIES != yes
Message-ID: <xmqqpmt05p3t.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqpmt05p3t.fsf%40gitster.g
In-Reply-To: <YUuRWT8+Q4ls6BHu@coredump.intra.peff.net>

```
Jeff King <peff@peff.net> writes:

>> 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.

```
