Fix tests with new git in C
[gitweb.git] / t / Makefile
index 6882e23be568ccf14f3adb0c766139086f2ee952..5c5a62012673eaa7eec76da0068606bc78311fbd 100644 (file)
@@ -4,12 +4,25 @@
 #
 
 #GIT_TEST_OPTS=--verbose --debug
+SHELL_PATH ?= $(SHELL)
+TAR ?= $(TAR)
+
+# Shell quote;
+# Result of this needs to be placed inside ''
+shq = $(subst ','\'',$(1))
+# This has surrounding ''
+shellquote = '$(call shq,$(1))'
 
 T = $(wildcard t[0-9][0-9][0-9][0-9]-*.sh)
 
-all:
-       @$(foreach t,$T,echo "*** $t ***"; sh $t $(GIT_TEST_OPTS) || exit; )
-       @rm -fr trash
+all: $(T) clean
+
+$(T):
+       @echo "*** $@ ***"; $(call shellquote,$(SHELL_PATH)) $@ $(GIT_TEST_OPTS)
 
 clean:
        rm -fr trash
+
+.PHONY: $(T) clean
+.NOPARALLEL:
+