Browse Source

[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>
maint
Petr Baudis 20 years ago committed by Junio C Hamano
parent
commit
623c8a1460
  1. 15
      Makefile

15
Makefile

@ -137,13 +137,14 @@ CFLAGS += '-DSHA1_HEADER=$(SHA1_HEADER)' @@ -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

Loading…
Cancel
Save