Code

Makefile: do not link three copies of git-remote-* programs
authorJunio C Hamano <gitster@pobox.com>
Fri, 7 Aug 2009 05:08:09 +0000 (22:08 -0700)
committerJunio C Hamano <gitster@pobox.com>
Fri, 7 Aug 2009 18:55:52 +0000 (11:55 -0700)
Instead, link only one and make the rest hardlinks/copies, like we do for
the built-ins.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
Makefile

index e29b15f2e0341ebd447e3de942faab587062f7fc..5f4d0c95e58955711038e329503cc6cbfeeb3568 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -980,7 +980,8 @@ else
        else
                CURL_LIBCURL = -lcurl
        endif
-       PROGRAMS += git-remote-http$X git-remote-https$X git-remote-ftp$X git-http-fetch$X
+       CURL_SYNONYMS = git-remote-https$X git-remote-ftp$X
+       PROGRAMS += git-remote-http$X $(CURL_SYNONYMS) git-http-fetch$X
        curl_check := $(shell (echo 070908; curl-config --vernum) | sort -r | sed -ne 2p)
        ifeq "$(curl_check)" "070908"
                ifndef NO_EXPAT
@@ -1256,6 +1257,7 @@ ifndef V
        QUIET_LINK     = @echo '   ' LINK $@;
        QUIET_BUILT_IN = @echo '   ' BUILTIN $@;
        QUIET_GEN      = @echo '   ' GEN $@;
+       QUIET_LNCP     = @echo '   ' LN/CP $@;
        QUIET_SUBDIR0  = +@subdir=
        QUIET_SUBDIR1  = ;$(NO_SUBDIR) echo '   ' SUBDIR $$subdir; \
                         $(MAKE) $(PRINT_DIR) -C $$subdir
@@ -1494,10 +1496,16 @@ git-http-push$X: revision.o http.o http-push.o $(GITLIBS)
        $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
                $(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
 
-git-remote-http$X git-remote-https$X git-remote-ftp$X: remote-curl.o http.o http-walker.o $(GITLIBS)
+git-remote-http$X: remote-curl.o http.o http-walker.o $(GITLIBS)
        $(QUIET_LINK)$(CC) $(ALL_CFLAGS) -o $@ $(ALL_LDFLAGS) $(filter %.o,$^) \
                $(LIBS) $(CURL_LIBCURL) $(EXPAT_LIBEXPAT)
 
+$(CURL_SYNONYMS): git-remote-http$X
+       $(QUIET_LNCP)$(RM) $@ && \
+       ln $< $@ 2>/dev/null || \
+       ln -s $< $@ 2>/dev/null || \
+       cp $< $@
+
 $(LIB_OBJS) $(BUILTIN_OBJS): $(LIB_H)
 $(patsubst git-%$X,%.o,$(PROGRAMS)) git.o: $(LIB_H) $(wildcard */*.h)
 builtin-revert.o wt-status.o: wt-status.h