Make Makefiles OSF-make-friendly.

PR: 3165
diff --git a/crypto/Makefile b/crypto/Makefile
index 1de9d5f..b253f50 100644
--- a/crypto/Makefile
+++ b/crypto/Makefile
@@ -86,7 +86,9 @@
 ppccpuid.s:	ppccpuid.pl;	$(PERL) ppccpuid.pl $(PERLASM_SCHEME) $@
 pariscid.s:	pariscid.pl;	$(PERL) pariscid.pl $(PERLASM_SCHEME) $@
 alphacpuid.s:	alphacpuid.pl
-	$(PERL) $< | $(CC) -E - | tee $@ > /dev/null
+	(preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
+	$(PERL) alphacpuid.pl > $$preproc && \
+	$(CC) -E $$preproc > $@ && rm $$preproc)
 
 subdirs:
 	@target=all; $(RECURSIVE_MAKE)
diff --git a/crypto/bn/Makefile b/crypto/bn/Makefile
index 30cc210..5f2c2f4 100644
--- a/crypto/bn/Makefile
+++ b/crypto/bn/Makefile
@@ -136,7 +136,9 @@
 ppc64-mont.s:	asm/ppc64-mont.pl;$(PERL) asm/ppc64-mont.pl $(PERLASM_SCHEME) $@
 
 alpha-mont.s:	asm/alpha-mont.pl
-	$(PERL) $< | $(CC) -E - | tee $@ > /dev/null
+	(preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
+	$(PERL) asm/alpha-mont.pl > $$preproc && \
+	$(CC) -E $$preproc > $@ && rm $$preproc)
 
 # GNU make "catch all"
 %-mont.s:	asm/%-mont.pl;	$(PERL) $< $(PERLASM_SCHEME) $@
diff --git a/crypto/evp/Makefile b/crypto/evp/Makefile
index 98a7e8d..c33d8a6 100644
--- a/crypto/evp/Makefile
+++ b/crypto/evp/Makefile
@@ -67,7 +67,7 @@
 links:
 	@$(PERL) $(TOP)/util/mklink.pl ../../include/openssl $(EXHEADER)
 	@$(PERL) $(TOP)/util/mklink.pl ../../test $(TEST)
-	[ ! -f $(TESTDATA) ] || cp $(TESTDATA) ../../test
+	@[ -f $(TESTDATA) ] && cp $(TESTDATA) ../../test && echo "$(TESTDATA) -> ../../test/$(TESTDATA)"
 	@$(PERL) $(TOP)/util/mklink.pl ../../apps $(APPS)
 
 install:
diff --git a/crypto/modes/Makefile b/crypto/modes/Makefile
index 88ac65e..ce0dcd6 100644
--- a/crypto/modes/Makefile
+++ b/crypto/modes/Makefile
@@ -55,7 +55,10 @@
 ghash-sparcv9.s:	asm/ghash-sparcv9.pl
 	$(PERL) asm/ghash-sparcv9.pl $@ $(CFLAGS)
 ghash-alpha.s:	asm/ghash-alpha.pl
-	$(PERL) $< | $(CC) -E - | tee $@ > /dev/null
+	(preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
+	$(PERL) asm/ghash-alpha.pl > $$preproc && \
+	$(CC) -E $$preproc > $@ && rm $$preproc)
+
 ghash-parisc.s:	asm/ghash-parisc.pl
 	$(PERL) asm/ghash-parisc.pl $(PERLASM_SCHEME) $@
 
diff --git a/crypto/sha/Makefile b/crypto/sha/Makefile
index 63fba69..64eab6c 100644
--- a/crypto/sha/Makefile
+++ b/crypto/sha/Makefile
@@ -60,7 +60,9 @@
 	$(PERL) $< $(PERLASM_SCHEME) $@
 
 sha1-alpha.s:	asm/sha1-alpha.pl
-	$(PERL) $< | $(CC) -E - | tee $@ > /dev/null
+	(preproc=/tmp/$$$$.$@; trap "rm $$preproc" INT; \
+	$(PERL) asm/sha1-alpha.pl > $$preproc && \
+	$(CC) -E $$preproc > $@ && rm $$preproc)
 
 # Solaris make has to be explicitly told
 sha1-x86_64.s:	asm/sha1-x86_64.pl;	$(PERL) asm/sha1-x86_64.pl $(PERLASM_SCHEME) > $@
diff --git a/util/shlib_wrap.sh b/util/shlib_wrap.sh
index 9416d59..8775cb5 100755
--- a/util/shlib_wrap.sh
+++ b/util/shlib_wrap.sh
@@ -90,4 +90,8 @@
 
 cmd="$1${EXE_EXT}"
 shift
-exec "$cmd" "$@"
+if [ $# -eq 0 ]; then
+	exec "$cmd"	# old sh, such as Tru64 4.x, fails to expand empty "$@"
+else
+	exec "$cmd" "$@"
+fi