diff --git a/Makefile b/Makefile index d3d0855e03..0f01b5b420 100644 --- a/Makefile +++ b/Makefile @@ -142,6 +142,13 @@ ifeq ($(shell uname -s),SunOS) PLATFORM_DEFINES += -DNO_GETDOMAINNAME=1 endif +ifndef SHELL_PATH + SHELL_PATH = /bin/sh +endif +ifndef PERL_PATH + PERL_PATH = /usr/bin/perl +endif + ifndef NO_OPENSSL LIB_OBJS += epoch.o OPENSSL_LIBSSL = -lssl @@ -179,21 +186,32 @@ endif DEFINES += '-DSHA1_HEADER=$(SHA1_HEADER)' -SCRIPTS = $(SCRIPT_SH) $(SCRIPT_PERL) gitk +SCRIPTS = $(patsubst %.sh,%,$(SCRIPT_SH)) \ + $(patsubst %.perl,%,$(SCRIPT_PERL)) gitk ### Build rules -all: $(PROGRAMS) git.sh +all: $(PROGRAMS) $(SCRIPTS) all: $(MAKE) -C templates -git.sh: git.sh.in Makefile +git: git.sh Makefile rm -f $@+ $@ - sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.in >$@+ + sed -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' <$@.sh >$@+ chmod +x $@+ mv $@+ $@ +$(filter-out git,$(patsubst %.sh,%,$(SCRIPT_SH))) : % : %.sh + rm -f $@ + sed -e '1s|#!.*/sh|#!$(SHELL_PATH)|' $@.sh >$@ + chmod +x $@ + +$(patsubst %.perl,%,$(SCRIPT_PERL)) : % : %.perl + rm -f $@ + sed -e '1s|#!.*perl|#!$(PERL_PATH)|' $@.perl >$@ + chmod +x $@ + %.o: %.c $(CC) -o $*.o -c $(ALL_CFLAGS) $< %.o: %.S @@ -250,19 +268,8 @@ check: install: $(PROGRAMS) $(SCRIPTS) $(INSTALL) -m755 -d $(DESTDIR)$(bindir) - $(INSTALL) $(PROGRAMS) $(DESTDIR)$(bindir) - @for s in $(SCRIPTS); \ - do \ - case "$$s" in \ - *.*) \ - e=`expr "$$s" : '\(.*\)\.[^.]*$$'` ;; \ - *) \ - e="$$s" ;; \ - esac && \ - echo ": install $$s $(DESTDIR)$(bindir)/$$e" && \ - $(INSTALL) $$s $(DESTDIR)$(bindir)/$$e || exit; \ - done - $(INSTALL) git-revert.sh $(DESTDIR)$(bindir)/git-cherry-pick + $(INSTALL) $(PROGRAMS) $(SCRIPTS) $(DESTDIR)$(bindir) + $(INSTALL) git-revert $(DESTDIR)$(bindir)/git-cherry-pick sh ./cmd-rename.sh $(DESTDIR)$(bindir) $(MAKE) -C templates install @@ -299,7 +306,8 @@ deb: dist clean: rm -f *.o mozilla-sha1/*.o ppc/*.o $(PROGRAMS) $(LIB_FILE) - rm -f git-core.spec git.sh + rm -f $(filter-out gitk,$(SCRIPTS)) + rm -f git-core.spec rm -rf $(GIT_TARNAME) rm -f $(GIT_TARNAME).tar.gz git-core_$(GIT_VERSION)-*.tar.gz rm -f git-core_$(GIT_VERSION)-*.deb git-core_$(GIT_VERSION)-*.dsc diff --git a/git.sh.in b/git.sh similarity index 100% rename from git.sh.in rename to git.sh diff --git a/t/t1005-read-tree-m-2way-emu23.sh b/t/t1005-read-tree-m-2way-emu23.sh index 00c332a140..258a372ed7 100755 --- a/t/t1005-read-tree-m-2way-emu23.sh +++ b/t/t1005-read-tree-m-2way-emu23.sh @@ -25,7 +25,7 @@ In the test, these paths are used: read_tree_twoway () { git-read-tree --emu23 "$1" "$2" && git-ls-files --stage && - git-merge-index ../../git-merge-one-file.sh -a && + git-merge-index git-merge-one-file -a && git-ls-files --stage } diff --git a/t/t3200-branch.sh b/t/t3200-branch.sh index 6e36398444..5f98f64de1 100755 --- a/t/t3200-branch.sh +++ b/t/t3200-branch.sh @@ -13,12 +13,12 @@ handled. Specifically, that a bogus branch is not created. test_expect_success \ 'prepare an trivial repository' \ 'echo Hello > A && - ../../git-update-index --add A && - ../../git-commit.sh -m "Initial commit."' + git-update-index --add A && + git-commit -m "Initial commit."' test_expect_failure \ 'git branch --help should return error code' \ - '../../git-branch.sh --help' + 'git-branch --help' test_expect_failure \ 'git branch --help should not have created a bogus branch' \ diff --git a/t/t5400-send-pack.sh b/t/t5400-send-pack.sh index fb8320d755..59ce77b6b4 100755 --- a/t/t5400-send-pack.sh +++ b/t/t5400-send-pack.sh @@ -21,9 +21,9 @@ test_expect_success setup ' parent=$commit || return 1 done && echo "$commit" >.git/HEAD && - git-clone.sh -l ./. victim && + git-clone -l ./. victim && cd victim && - git-log.sh && + git-log && cd .. && echo $zero >.git/HEAD && parent=$zero && @@ -35,7 +35,7 @@ test_expect_success setup ' done && echo "$commit" >.git/HEAD && echo Rebase && - git-log.sh' + git-log' test_expect_success \ 'pushing rewound head should not barf but require --force' '