From: Jeff King <peff@peff.net>
To: Jack Nagel <jacknagel@gmail.com>
Cc: Junio C Hamano <gitster@pobox.com>, git@vger.kernel.org
Subject: [PATCH] subtree: make "all" default target of Makefile
Date: Sun, 17 Aug 2014 03:07:32 -0400 [thread overview]
Message-ID: <20140817070732.GA23808@peff.net> (raw)
In-Reply-To: <CAMYxyaVrknapiF6L3Lnf5U59h7RCUY8qhYtipZp5P0k3Y1tCxg@mail.gmail.com>
You should be able to run "make" in contrib/subtree with no
arguments and get the "all" target. This was broken by
8e2a5cc (contrib/subtree/Makefile: use GIT-VERSION-FILE,
2014-05-06), which put the rule for GIT-VERSION-FILE higher
in the file.
We can fix this by putting an empty "all::" target at the
top of the file. That fixes this instance and future-proofs
against it happening again.
Reported-by: Jack Nagel <jacknagel@gmail.com>
Signed-off-by: Jeff King <peff@peff.net>
---
On Sun, Aug 17, 2014 at 01:49:49AM -0500, Jack Nagel wrote:
> $ make -C contrib/subtree
> /Library/Developer/CommandLineTools/usr/bin/make -C ../../ GIT-VERSION-FILE
> GIT_VERSION = 2.1.0
> make[1]: `GIT-VERSION-FILE' is up to date.
> /Library/Developer/CommandLineTools/usr/bin/make -C ../../ GIT-VERSION-FILE
> make[1]: `GIT-VERSION-FILE' is up to date.
> make: `../../GIT-VERSION-FILE' is up to date.
> $ ls contrib/subtree/git-subtree
> ls: contrib/subtree/git-subtree: No such file or directory
Thanks for a clear report. The patch below should fix it. This is the
same trick we use in the top-level Makefile. I notice we don't use it in
t/Makefile or Documentation/Makefile, though. Maybe we should.
I also notice that GIT-VERSION-FILE is included first in the top-level
Makefile, but in contrib/subtree/Makefile it comes after we include
config.mak and friends. I wonder if that would ever matter. I can see
somebody adjusting their config.mak based on the git version, but it's
probably not likely. It would only be used by somebody who compiles
historical git versions a lot (i.e., git devs). And it would require
using make's "simply expanded variables", since regular variables aren't
expanded until point of use. So it seems unlikely that anybody cares.
contrib/subtree/Makefile | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/contrib/subtree/Makefile b/contrib/subtree/Makefile
index d9a0ce2..8deffad 100644
--- a/contrib/subtree/Makefile
+++ b/contrib/subtree/Makefile
@@ -1,3 +1,5 @@
+all::
+
-include ../../config.mak.autogen
-include ../../config.mak
@@ -34,7 +36,7 @@ GIT_SUBTREE_XML := git-subtree.xml
GIT_SUBTREE_TXT := git-subtree.txt
GIT_SUBTREE_HTML := git-subtree.html
-all: $(GIT_SUBTREE)
+all:: $(GIT_SUBTREE)
$(GIT_SUBTREE): $(GIT_SUBTREE_SH)
sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' $< >$@
--
2.1.0.344.gf63f03f
prev parent reply other threads:[~2014-08-17 7:07 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-17 6:49 Running make in contrib/subtree does not create executable Jack Nagel
2014-08-17 7:07 ` Jeff King [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140817070732.GA23808@peff.net \
--to=peff@peff.net \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=jacknagel@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.