Move the sed program in the % : %.sh pattern into the shellsedprog
variable. Add clauses to change the CPIO, FIND, and XARGS built-in
defaults if those variables are set. With appropriate settings, all
the current tests pass on Solaris 8 with my personal bizarre setup.
I'll try on a modules-based AIX once the machine's back next week.
I don't really like how I build the sed program, but I can't think of
an easier / better way.
Signed-off-by: Jason Riedy <redacted>
---
Makefile | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
e512a44ccd488fec29af59e95b35741d4454b118
diff --git a/Makefile b/Makefile
index f240e45..edf785c 100644
--- a/Makefile
+++ b/Makefile
@@ -415,11 +415,21 @@ git$X: git.c $(LIB_FILE)
$(CC) -DGIT_VERSION='"$(GIT_VERSION)"' \
$(CFLAGS) $(COMPAT_CFLAGS) -o $@ $(filter %.c,$^) $(LIB_FILE)
+shellsedprog=-e '1s|\#!.*/sh|\#!$(call shq,$(SHELL_PATH))|;'
+shellsedprog+= -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g;'
+ifdef CPIO
+ shellsedprog+= -e 's@^: \$${CPIO:=cpio}@: \$${CPIO:=$(CPIO)}@;'
+endif
+ifdef FIND
+ shellsedprog+= -e 's@^: \$${FIND:=find}@: \$${FIND:=$(FIND)}@;'
+endif
+ifdef XARGS
+ shellsedprog+= -e 's@^: \$${XARGS:=xargs}@: \$${XARGS:=$(XARGS)}@;'
+endif
+
$(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh
rm -f $@
- sed -e '1s|#!.*/sh|#!$(call shq,$(SHELL_PATH))|' \
- -e 's/@@GIT_VERSION@@/$(GIT_VERSION)/g' \
- $@.sh >$@
+ sed $(shellsedprog) $@.sh >$@
chmod +x $@
$(patsubst %.perl,%,$(SCRIPT_PERL)) : % : %.perl--
1.1.6.g0d39d