From: Petr Baudis Date: Fri, 29 Jul 2005 17:21:53 +0000 (+0200) Subject: [PATCH] Build commands through object files X-Git-Tag: v0.99.3~24 X-Git-Url: https://git.octo.it/?a=commitdiff_plain;h=623c8a1460125f66274f451691b3576b0d0f7a4c;p=git.git [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 Signed-off-by: Junio C Hamano --- diff --git a/Makefile b/Makefile index d7d4182e..f2677be0 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