From: Eric Blake Date: Tue, 28 Apr 2009 12:28:31 GMT Subject: [PATCH 1/2] Makefile: installing git in cygwin 1.7.0 Message-ID: <1240921712-3100-2-git-send-email-ebb9@byu.net> In-Reply-To: <1240921712-3100-1-git-send-email-ebb9@byu.net> On platforms with $X, make removes any leftover scripts 'a' from earlier builds if a new binary 'a.exe' is now built. However, on cygwin 1.7.0, 'git' and 'git.exe' now consistently name the same file. Test for file equality before attempting a remove, in order to avoid nuking just-built binaries. This repeats commit 0d768f7 for the installation destdir. Signed-off-by: Eric Blake --- This should be a trivial approval, seeing as how it finishes the job of a previous patch (but this time for the installation dir, as opposed to the build dir). Without it, programs like git-var get nuked during 'make install', giving a broken installation. Makefile | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/Makefile b/Makefile index 5c8e83a..93ca0db 100644 --- a/Makefile +++ b/Makefile @@ -1545,7 +1545,7 @@ ifndef NO_TCLTK $(MAKE) -C git-gui gitexecdir='$(gitexec_instdir_SQ)' install endif ifneq (,$X) - $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), $(RM) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p';) + $(foreach p,$(patsubst %$X,%,$(filter %$X,$(ALL_PROGRAMS) $(BUILT_INS) git$X)), test '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p' -ef '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p$X' || $(RM) '$(DESTDIR_SQ)$(gitexec_instdir_SQ)/$p';) endif bindir=$$(cd '$(DESTDIR_SQ)$(bindir_SQ)' && pwd) && \ execdir=$$(cd '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' && pwd) && \ -- 1.6.3.rc3.2.g4b51