summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorLibravatar Petr Baudis <pasky@suse.cz>2005-07-29 19:21:53 +0200
committerLibravatar Junio C Hamano <junkio@cox.net>2005-07-29 17:21:53 -0700
commit623c8a1460125f66274f451691b3576b0d0f7a4c (patch)
treeca233792488973eb6445ddef17a5457b78002605 /Makefile
parentSkip --merge-order test when built with NO_OPENSSL (diff)
downloadtgif-623c8a1460125f66274f451691b3576b0d0f7a4c.tar.xz
[PATCH] Build commands through object files
Separate the process of building the commands to compilation and linkage. This makes it more consistent with the library objects, is the traditional thing to do, and significantly speeds up the subsequent rebuilds, especially for us the people who develop git on 300MHz notebooks. Ported from Cogito. Signed-off-by: Petr Baudis <pasky@ucw.cz> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile15
1 files changed, 8 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index d7d4182e09..f2677be036 100644
--- a/Makefile
+++ b/Makefile
@@ -137,13 +137,14 @@ CFLAGS += '-DSHA1_HEADER=$(SHA1_HEADER)'
all: $(PROG)
-git-%: %.c $(LIB_FILE)
- $(CC) $(CFLAGS) -o $@ $(filter %.c,$^) $(LIBS)
-
-git-http-pull: pull.c
-git-local-pull: pull.c
-git-ssh-pull: rsh.c pull.c
-git-ssh-push: rsh.c
+.PRECIOUS: %.o
+git-%: %.o $(LIB_FILE)
+ $(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(LIBS)
+
+git-http-pull: pull.o
+git-local-pull: pull.o
+git-ssh-pull: rsh.o pull.o
+git-ssh-push: rsh.o
git-http-pull: LIBS += -lcurl
git-rev-list: LIBS += -lssl