From: Jonathan Nieder <jrnieder@gmail.com>
To: Jeff King <peff@peff.net>
Cc: Junio C Hamano <gitster@pobox.com>,
Thomas Rast <trast@student.ethz.ch>,
git@vger.kernel.org
Subject: [PATCH 02.5/11] Makefile: fold XDIFF_H and VCSSVN_H into LIB_H
Date: Fri, 6 Jul 2012 22:39:18 -0500 [thread overview]
Message-ID: <20120707033918.GB3574@burratino> (raw)
In-Reply-To: <20120620221125.GA3302@sigill.intra.peff.net>
Just like MISC_H (see previous commit), there is no reason to track
xdiff and vcs-svn headers separately from the rest of the headers.
The only purpose of these variables is to keep track of recompilation
dependencies.
As a pleasant side effect, folding these into LIB_H lets us stop
tracking GIT_OBJS and VCSSVN_TEST_OBJS separately from the list of all
OBJECTS.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Jeff King wrote:
> On Wed, Jun 20, 2012 at 04:07:30PM -0500, Jonathan Nieder wrote:
>> Should XDIFF_H and VCSSVN_H be folded into STATIC_HEADERS, too?
>
> I stopped short of that, but I'd be tempted to do so.
Here goes.
Makefile | 60 ++++++++++++++++++++++++------------------------------------
1 file changed, 24 insertions(+), 36 deletions(-)
diff --git a/Makefile b/Makefile
index 500966b1..b24ca20d 100644
--- a/Makefile
+++ b/Makefile
@@ -392,11 +392,8 @@ BUILTIN_OBJS =
BUILT_INS =
COMPAT_CFLAGS =
COMPAT_OBJS =
-XDIFF_H =
XDIFF_OBJS =
-VCSSVN_H =
VCSSVN_OBJS =
-VCSSVN_TEST_OBJS =
GENERATED_H =
EXTRA_CPPFLAGS =
LIB_H =
@@ -558,21 +555,21 @@ LIB_FILE=libgit.a
XDIFF_LIB=xdiff/lib.a
VCSSVN_LIB=vcs-svn/lib.a
-XDIFF_H += xdiff/xinclude.h
-XDIFF_H += xdiff/xmacros.h
-XDIFF_H += xdiff/xdiff.h
-XDIFF_H += xdiff/xtypes.h
-XDIFF_H += xdiff/xutils.h
-XDIFF_H += xdiff/xprepare.h
-XDIFF_H += xdiff/xdiffi.h
-XDIFF_H += xdiff/xemit.h
+LIB_H += xdiff/xinclude.h
+LIB_H += xdiff/xmacros.h
+LIB_H += xdiff/xdiff.h
+LIB_H += xdiff/xtypes.h
+LIB_H += xdiff/xutils.h
+LIB_H += xdiff/xprepare.h
+LIB_H += xdiff/xdiffi.h
+LIB_H += xdiff/xemit.h
-VCSSVN_H += vcs-svn/line_buffer.h
-VCSSVN_H += vcs-svn/sliding_window.h
-VCSSVN_H += vcs-svn/repo_tree.h
-VCSSVN_H += vcs-svn/fast_export.h
-VCSSVN_H += vcs-svn/svndiff.h
-VCSSVN_H += vcs-svn/svndump.h
+LIB_H += vcs-svn/line_buffer.h
+LIB_H += vcs-svn/sliding_window.h
+LIB_H += vcs-svn/repo_tree.h
+LIB_H += vcs-svn/fast_export.h
+LIB_H += vcs-svn/svndiff.h
+LIB_H += vcs-svn/svndump.h
GENERATED_H += common-cmds.h
@@ -2110,13 +2107,6 @@ 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
-ifndef NO_CURL
- GIT_OBJS += http.o http-walker.o remote-curl.o
-endif
-
XDIFF_OBJS += xdiff/xdiffi.o
XDIFF_OBJS += xdiff/xprepare.o
XDIFF_OBJS += xdiff/xutils.o
@@ -2132,9 +2122,14 @@ VCSSVN_OBJS += vcs-svn/fast_export.o
VCSSVN_OBJS += vcs-svn/svndiff.o
VCSSVN_OBJS += vcs-svn/svndump.o
-VCSSVN_TEST_OBJS += test-line-buffer.o
-
-OBJECTS := $(GIT_OBJS) $(XDIFF_OBJS) $(VCSSVN_OBJS)
+TEST_OBJS := $(patsubst test-%$X,test-%.o,$(TEST_PROGRAMS))
+OBJECTS := $(LIB_OBJS) $(BUILTIN_OBJS) $(PROGRAM_OBJS) $(TEST_OBJS) \
+ $(XDIFF_OBJS) \
+ $(VCSSVN_OBJS) \
+ git.o
+ifndef NO_CURL
+ OBJECTS += http.o http-walker.o remote-curl.o
+endif
dep_files := $(foreach f,$(OBJECTS),$(dir $f).depend/$(notdir $f).d)
dep_dirs := $(addsuffix .depend,$(sort $(dir $(OBJECTS))))
@@ -2233,15 +2228,8 @@ else
# Dependencies on automatically generated headers such as common-cmds.h
# should _not_ be included here, since they are necessary even when
# building an object for the first time.
-#
-# XXX. Please check occasionally that these include all dependencies
-# gcc detects!
-$(GIT_OBJS): $(LIB_H)
-
-xdiff-interface.o $(XDIFF_OBJS): $(XDIFF_H)
-
-$(VCSSVN_OBJS) $(VCSSVN_TEST_OBJS): $(LIB_H) $(VCSSVN_H)
+$(OBJECTS): $(LIB_H)
endif
exec_cmd.sp exec_cmd.s exec_cmd.o: EXTRA_CPPFLAGS = \
@@ -2334,7 +2322,7 @@ XGETTEXT_FLAGS_C = $(XGETTEXT_FLAGS) --language=C \
--keyword=_ --keyword=N_ --keyword="Q_:1,2"
XGETTEXT_FLAGS_SH = $(XGETTEXT_FLAGS) --language=Shell
XGETTEXT_FLAGS_PERL = $(XGETTEXT_FLAGS) --keyword=__ --language=Perl
-LOCALIZED_C := $(C_OBJ:o=c) $(LIB_H) $(XDIFF_H) $(VCSSVN_H) $(GENERATED_H)
+LOCALIZED_C := $(C_OBJ:o=c) $(LIB_H) $(GENERATED_H)
LOCALIZED_SH := $(SCRIPT_SH)
LOCALIZED_PERL := $(SCRIPT_PERL)
--
1.7.10.4
next prev parent reply other threads:[~2012-07-07 3:40 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 ` Jonathan Nieder [this message]
2012-07-09 14:59 ` [PATCH 02.5/11] Makefile: fold XDIFF_H and VCSSVN_H " 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 ` [PATCHv2 8/8] Makefile: move GIT-VERSION-FILE dependencies closer to use Jeff King
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120707033918.GB3574@burratino \
--to=jrnieder@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--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.
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 NNTP newsgroup(s).