-----Original Message----- From: Ævar Arnfjörð Bjarmason [mailto:avarab@xxxxxxxxx] Sent: 2010年7月25日 20:16 To: Andreas Schwab Cc: Lin, Lynn; kpfleming@xxxxxxxxxx; git@xxxxxxxxxxxxxxx Subject: Re: [PATCH] Makefile: don't include git version file on 'make clean' On Sun, Jul 25, 2010 at 12:05, Andreas Schwab <schwab@xxxxxxxxxxxxxx> wrote: > Ævar Arnfjörð Bjarmason <avarab@xxxxxxxxx> writes: > >> Makefile targets aren't triggered by the include directive. > > Umm, yes they are, see (make) Remaking Makefiles. Ah, yes. But it was being included in more places than just that -include directive, so I didn't spot the difference: Without that directive, still generated on make clean: $ git diff -U0 | cat diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index e88f50c..f29406b 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -2,0 +3,2 @@ +echo MOO > /tmp/moo + diff --git a/Makefile b/Makefile index b6975aa..5edfeca 100644 --- a/Makefile +++ b/Makefile @@ -241 +240,0 @@ GIT-VERSION-FILE: FORCE --include GIT-VERSION-FILE $ rm -v /tmp/moo; make clean > /dev/null; cat /tmp/moo removed `/tmp/moo' GIT_VERSION = 1.7.2.6.g65a0d3.dirty GITGUI_VERSION = 0.12.0.64.g89d61-dirty MOO Deleted the rule, not generated, but other things are still calling the rule: Why not delete the rule? We only handle this on 'make clean' command ('make distclean') target $ git diff -U0 | cat diff --git a/GIT-VERSION-GEN b/GIT-VERSION-GEN index e88f50c..f29406b 100755 --- a/GIT-VERSION-GEN +++ b/GIT-VERSION-GEN @@ -2,0 +3,2 @@ +echo MOO > /tmp/moo + diff --git a/Makefile b/Makefile index b6975aa..1a189da 100644 --- a/Makefile +++ b/Makefile @@ -239,4 +238,0 @@ all:: -GIT-VERSION-FILE: FORCE - @$(SHELL_PATH) ./GIT-VERSION-GEN --include GIT-VERSION-FILE - $ rm -v /tmp/moo; make clean > /dev/null; cat /tmp/moo removed `/tmp/moo' make[2]: *** No rule to make target `GIT-VERSION-FILE'. Stop. make[2]: *** No rule to make target `GIT-VERSION-FILE'. Stop. make[2]: *** No rule to make target `GIT-VERSION-FILE'. Stop. GITGUI_VERSION = 0.12.0.64.g89d61-dirty cat: /tmp/moo: No such file or directory ��.n��������+%������w��{.n��������n�r������&��z�ޗ�zf���h���~����������_��+v���)ߣ�