git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Thomas Rast <trast@student.ethz.ch>, git@vger.kernel.org
Subject: [PATCHv2 8/8] Makefile: move GIT-VERSION-FILE dependencies closer to use
Date: Tue, 19 Jun 2012 19:30:32 -0400	[thread overview]
Message-ID: <20120619233032.GH6496@sigill.intra.peff.net> (raw)
In-Reply-To: <20120619232231.GA6328@sigill.intra.peff.net>

There is a list of all of the targets which depend on
GIT-VERSION-FILE, but it can be quite far from the actual
point where the targets actually use $(GIT_VERSION). This
can make it hard to verify that each use of $(GIT_VERSION)
has a matching dependency.

This patch moves the dependency closer to the actual build
instructions, which makes verification easier.  This also
fixes the generation of "configure", which did not properly
mark the dependency.

Signed-off-by: Jeff King <peff@peff.net>
---
This is the patch I was trying to get to when I started. :)

I do think this pattern will make patches easier to review; you should
typically see the dependency in the same hunk as the point-of-use.

 Makefile | 13 ++++---------
 1 file changed, 4 insertions(+), 9 deletions(-)

diff --git a/Makefile b/Makefile
index ad183d9..d21702c 100644
--- a/Makefile
+++ b/Makefile
@@ -1994,7 +1994,7 @@ builtin/help.sp builtin/help.s builtin/help.o: EXTRA_CPPFLAGS = \
 	'-DGIT_MAN_PATH="$(mandir_SQ)"' \
 	'-DGIT_INFO_PATH="$(infodir_SQ)"'
 
-version.sp version.s version.o: GIT-USER-AGENT
+version.sp version.s version.o: GIT-VERSION-FILE GIT-USER-AGENT
 version.sp version.s version.o: EXTRA_CPPFLAGS = \
 	'-DGIT_VERSION="$(GIT_VERSION)"' \
 	'-DGIT_USER_AGENT=$(GIT_USER_AGENT_CQ_SQ)'
@@ -2050,7 +2050,7 @@ $(patsubst %.perl,%,$(SCRIPT_PERL)): perl/perl.mak
 perl/perl.mak: GIT-CFLAGS GIT-PREFIX perl/Makefile perl/Makefile.PL
 	$(QUIET_SUBDIR0)perl $(QUIET_SUBDIR1) PERL_PATH='$(PERL_PATH_SQ)' prefix='$(prefix_SQ)' $(@F)
 
-$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl
+$(patsubst %.perl,%,$(SCRIPT_PERL)): % : %.perl GIT-VERSION-FILE
 	$(QUIET_GEN)$(RM) $@ $@+ && \
 	INSTLIBDIR=`MAKEFLAGS= $(MAKE) -C perl -s --no-print-directory instlibdir` && \
 	sed -e '1{' \
@@ -2107,18 +2107,13 @@ $(patsubst %.py,%,$(SCRIPT_PYTHON)): % : unimplemented.sh
 	mv $@+ $@
 endif # NO_PYTHON
 
-configure: configure.ac
+configure: configure.ac GIT-VERSION-FILE
 	$(QUIET_GEN)$(RM) $@ $<+ && \
 	sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
 	    $< > $<+ && \
 	autoconf -o $@ $<+ && \
 	$(RM) $<+
 
-# These can record GIT_VERSION
-version.o git.spec \
-	$(patsubst %.perl,%,$(SCRIPT_PERL)) \
-	: GIT-VERSION-FILE
-
 TEST_OBJS := $(patsubst test-%$X,test-%.o,$(TEST_PROGRAMS))
 GIT_OBJS := $(LIB_OBJS) $(BUILTIN_OBJS) $(PROGRAM_OBJS) $(TEST_OBJS) \
 	git.o
@@ -2676,7 +2671,7 @@ quick-install-html:
 
 ### Maintainer's dist rules
 
-git.spec: git.spec.in
+git.spec: git.spec.in GIT-VERSION-FILE
 	sed -e 's/@@VERSION@@/$(GIT_VERSION)/g' < $< > $@+
 	mv $@+ $@
 
-- 
1.7.11.rc3.5.g201460b

  parent reply	other threads:[~2012-06-19 23:30 UTC|newest]

Thread overview: 84+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-31 11:48 git version statistics Jeff King
2012-05-31 12:00 ` Jeff King
2012-05-31 19:35   ` Junio C Hamano
2012-06-01  9:03     ` Jeff King
2012-06-01 14:49       ` Junio C Hamano
2012-06-02 16:32         ` Jeff King
2012-06-02 16:59           ` Tomas Carnecky
2012-06-02 18:49           ` Jeff King
2012-06-02 18:51             ` [PATCH 1/4] move git_version_string into version.c Jeff King
2012-06-02 19:01             ` [PATCH 2/4] version: add git_user_agent function Jeff King
2012-06-19 18:40               ` Thomas Rast
2012-06-19 18:59                 ` Jeff King
2012-06-19 19:52                   ` Jeff King
2012-06-19 19:52                     ` [PATCH 1/3] Makefile: apply dependencies consistently to sparse/asm targets Jeff King
2012-06-19 20:38                       ` Junio C Hamano
2012-06-19 20:01                     ` [PATCH 2/3] Makefile: split GIT_USER_AGENT from GIT-CFLAGS Jeff King
2012-06-19 20:38                       ` Junio C Hamano
2012-06-19 20:03                     ` [PATCH 3/3] Makefile: split prefix flags " Jeff King
2012-06-19 20:51                       ` Junio C Hamano
2012-06-19 21:04                         ` Jeff King
2012-06-19 21:39                           ` Junio C Hamano
2012-06-19 23:36                             ` Jeff King
2012-06-19 23:58                               ` Junio C Hamano
2012-06-19 21:43                           ` Jeff King
2012-06-19 23:22                             ` [PATCHv2 0/8] makefile cleanups Jeff King
2012-06-19 23:23                               ` [PATCHv2 1/8] Makefile: apply dependencies consistently to sparse/asm targets Jeff King
2012-06-20  3:50                                 ` Jonathan Nieder
2012-06-20  4:26                                   ` Jeff King
2012-06-20 10:27                                     ` Jonathan Nieder
2012-06-20 16:37                                       ` Jeff King
2012-06-20 18:28                                         ` Jeff King
2012-06-20 18:30                                           ` [PATCHv3 01/11] Makefile: sort LIB_H list Jeff King
2012-06-20 20:00                                             ` Junio C Hamano
2012-06-20 20:01                                               ` Jeff King
2012-06-20 18:30                                           ` [PATCHv3 02/11] Makefile: fold MISC_H into LIB_H Jeff King
2012-06-20 20:01                                             ` Junio C Hamano
2012-06-20 21:07                                             ` Jonathan Nieder
2012-06-20 22:11                                               ` Jeff King
2012-07-07  3:39                                                 ` [PATCH 02.5/11] Makefile: fold XDIFF_H and VCSSVN_H " Jonathan Nieder
2012-07-09 14:59                                                   ` Junio C Hamano
2012-07-06 22:47                                             ` [PATCHv3 02/11] Makefile: fold MISC_H " Jonathan Nieder
2012-06-20 18:31                                           ` [PATCHv3 03/11] Makefile: do not have git.o depend on common-cmds.h Jeff King
2012-06-20 21:09                                             ` Jonathan Nieder
2012-06-20 18:31                                           ` [PATCHv3 04/11] Makefile: apply dependencies consistently to sparse/asm targets Jeff King
2012-06-20 21:12                                             ` Jonathan Nieder
2012-06-20 22:15                                               ` Jeff King
2012-07-07  4:19                                                 ` [PATCH/RFC] Makefile: document ground rules for target-specific dependencies Jonathan Nieder
2012-06-20 18:31                                           ` [PATCHv3 05/11] Makefile: do not replace @@GIT_USER_AGENT@@ in scripts Jeff King
2012-06-20 20:06                                             ` Junio C Hamano
2012-06-20 20:09                                               ` Jeff King
2012-06-20 18:31                                           ` [PATCHv3 06/11] Makefile: split GIT_USER_AGENT from GIT-CFLAGS Jeff King
2012-06-20 21:21                                             ` Jonathan Nieder
2012-06-20 22:16                                               ` Jeff King
2012-06-20 22:21                                                 ` Jonathan Nieder
2012-07-07  4:42                                                 ` [RFC/PATCH v4 " Jonathan Nieder
2012-06-20 18:31                                           ` [PATCHv3 07/11] Makefile: split prefix flags " Jeff King
2012-06-20 21:28                                             ` Jonathan Nieder
2012-06-20 22:22                                               ` Jeff King
2012-06-20 18:32                                           ` [PATCHv3 08/11] Makefile: do not replace @@GIT_VERSION@@ in shell scripts Jeff King
2012-06-20 18:32                                           ` [PATCHv3 09/11] Makefile: update scripts when build-time parameters change Jeff King
2012-06-20 18:32                                           ` [PATCHv3 10/11] Makefile: build instaweb similar to other scripts Jeff King
2012-06-20 18:32                                           ` [PATCHv3 11/11] Makefile: move GIT-VERSION-FILE dependencies closer to use Jeff King
2012-06-20 21:31                                             ` Jonathan Nieder
2012-06-20 19:30                                           ` [PATCHv2 1/8] Makefile: apply dependencies consistently to sparse/asm targets Jonathan Nieder
2012-06-20 19:36                                             ` Jeff King
2012-06-20 19:45                                               ` Jonathan Nieder
2012-06-20 19:57                                                 ` Jeff King
2012-06-20 21:00                                                   ` Jonathan Nieder
2012-06-21  8:52                                                   ` Automatic dependency tracking in the Git build system (was: Re: [PATCHv2 1/8] Makefile: apply dependencies consistently to sparse/asm targets) Stefano Lattarini
2012-06-20 20:10                                           ` [PATCHv2 1/8] Makefile: apply dependencies consistently to sparse/asm targets Junio C Hamano
2012-06-20 23:00                                             ` Thomas Rast
2012-06-21  5:18                                             ` Jeff King
2012-06-21  5:43                                               ` Junio C Hamano
2012-06-19 23:24                               ` [PATCHv2 2/8] Makefile: do not replace @@GIT_USER_AGENT@@ in scripts Jeff King
2012-06-19 23:25                               ` [PATCHv2 3/8] Makefile: split GIT_USER_AGENT from GIT-CFLAGS Jeff King
2012-06-19 23:25                               ` [PATCHv2 4/8] Makefile: split prefix flags " Jeff King
2012-06-19 23:27                               ` [PATCHv2 5/8] Makefile: do not replace @@GIT_VERSION@@ in shell scripts Jeff King
2012-06-19 23:28                               ` [PATCHv2 6/8] Makefile: update scripts when build-time parameters change Jeff King
2012-06-19 23:29                               ` [PATCHv2 7/8] Makefile: build instaweb similar to other scripts Jeff King
2012-06-19 23:30                               ` Jeff King [this message]
2012-06-02 19:03             ` [PATCH 3/4] http: get default user-agent from git_user_agent Jeff King
2012-06-02 19:05             ` [PATCH 4/4] include agent identifier in capability string Jeff King
2012-05-31 15:20 ` git version statistics Stephen Bash
2012-06-01  8:52   ` Jeff King

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

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120619233032.GH6496@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=trast@student.ethz.ch \
    /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.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).