# [PATCH 3/3] Use active CPIO, FIND, and XARGS to set built-in defaults.

1 messages from 2006-02-10 to 2006-02-10. Participants: Jason Riedy.
Thread: https://gitlist.dev/t/3292

## Jason Riedy, 2006-02-10 23:36

Subject: [PATCH 3/3] Use active CPIO, FIND, and XARGS to set built-in defaults.
Message-ID: <1112.1139614602@lotus.CS.Berkeley.EDU>
URL: https://gitlist.dev/e/1112.1139614602%40lotus.CS.Berkeley.EDU

```
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 <ejr@cs.berkeley.edu>

---

 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

```
