Allow building applications against static libraries with Makefile.shared.
diff --git a/CHANGES b/CHANGES
index 0e70062..bedf11e 100644
--- a/CHANGES
+++ b/CHANGES
@@ -4,6 +4,10 @@
 
  Changes between 0.9.7a and 0.9.8  [xx XXX xxxx]
 
+  *) Make it possible to link applications using Makefile.shared.
+     Make that possible even when linking against static libraries!
+     [Richard Levitte]
+
   *) Various fixes to base64 BIO and non blocking I/O. On write 
      flushes were not handled properly if the BIO retried. On read
      data was not being buffered properly and had various logic bugs.
@@ -439,6 +443,10 @@
      differing sizes.
      [Richard Levitte]
 
+ Changes between 0.9.7a and 0.9.7b  [xx XXX 2003]
+
+  *) 
+
  Changes between 0.9.7 and 0.9.7a  [19 Feb 2003]
 
   *) In ssl3_get_record (ssl/s3_pkt.c), minimize information leaked
diff --git a/Makefile.shared b/Makefile.shared
index 9178b82..e33c10b 100644
--- a/Makefile.shared
+++ b/Makefile.shared
@@ -141,6 +141,18 @@
 	LIBDEPS="$(LIBDEPS) -lc"; \
 	APPNAME=$(APPNAME)
 
+#This is rather special.  It's a special target with which one can link
+#applications without bothering with any features that have anything to
+#do with shared libraries, for example when linking against static
+#libraries.  It's mostly here to avoid a lot of conditionals everywhere
+#else...
+link_app.:
+	LDCMD=$(CC); \
+	LDFLAGS=""; \
+	LIBDEPS="$(LIBDEPS)"; \
+	APPNAME="$(APPNAME)"; \
+	$(LINK_APP)
+
 link_o.gnu:
 	@ $(DO_GNU_SO); $(LINK_SO_O)
 link_a.gnu:
diff --git a/apps/Makefile.ssl b/apps/Makefile.ssl
index 7dce73d..593c9a5 100644
--- a/apps/Makefile.ssl
+++ b/apps/Makefile.ssl
@@ -88,12 +88,15 @@
 exe:	$(PROGRAM)
 
 req: sreq.o $(A_OBJ) $(DLIBCRYPTO)
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
 	$(NEWMAKE) -f $(TOP)/Makefile.shared \
 		APPNAME=req LDFLAGS="$(CFLAG)" \
 		OBJECTS="sreq.o $(A_OBJ) $(RAND_OBJ)" \
 		LIBDEPS="$(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 sreq.o: req.c 
 	$(CC) -c $(INCLUDES) $(CFLAG) -o sreq.o req.c
@@ -150,7 +153,10 @@
 
 $(PROGRAM): progs.h $(E_OBJ) $(PROGRAM).o $(DLIBCRYPTO) $(DLIBSSL)
 	$(RM) $(PROGRAM)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBSSL) $(LIBKRB5) $(DLIBCRYPTO)" ; \
 	else \
 	  LIBRARIES="$(LIBSSL) $(LIBKRB5) $(LIBCRYPTO)" ; \
@@ -160,7 +166,7 @@
 		OBJECTS="$(PROGRAM).o $(E_OBJ)" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 	-(cd ..; OPENSSL="`pwd`/apps/openssl"; export OPENSSL; \
 		LIBPATH="`pwd`"; LD_LIBRARY_PATH="`pwd`"; DYLD_LIBRARY_PATH="`pwd`"; SHLIB_PATH="`pwd`"; \
 		if [ "$(PLATFORM)" = "Cygwin" ]; then PATH="`pwd`:$$PATH"; fi; \
diff --git a/test/Makefile.ssl b/test/Makefile.ssl
index 344d21e..26ae0dc 100644
--- a/test/Makefile.ssl
+++ b/test/Makefile.ssl
@@ -301,7 +301,10 @@
 	(cd ..; $(MAKE) DIRS=crypto all)
 
 $(RSATEST): $(RSATEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -311,10 +314,13 @@
 		OBJECTS="$(RSATEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(BNTEST): $(BNTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -324,10 +330,13 @@
 		OBJECTS="$(BNTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(ECTEST): $(ECTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -337,10 +346,13 @@
 		OBJECTS="$(ECTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(EXPTEST): $(EXPTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -350,10 +362,13 @@
 		OBJECTS="$(EXPTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(IDEATEST): $(IDEATEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -363,10 +378,13 @@
 		OBJECTS="$(IDEATEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(MD2TEST): $(MD2TEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -376,10 +394,13 @@
 		OBJECTS="$(MD2TEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(SHATEST): $(SHATEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -389,10 +410,13 @@
 		OBJECTS="$(SHATEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(SHA1TEST): $(SHA1TEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -402,10 +426,13 @@
 		OBJECTS="$(SHA1TEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(RMDTEST): $(RMDTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -415,10 +442,13 @@
 		OBJECTS="$(RMDTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(MDC2TEST): $(MDC2TEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -428,10 +458,13 @@
 		OBJECTS="$(MDC2TEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(MD4TEST): $(MD4TEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -441,10 +474,13 @@
 		OBJECTS="$(MD4TEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(MD5TEST): $(MD5TEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -454,10 +490,13 @@
 		OBJECTS="$(MD5TEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(HMACTEST): $(HMACTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -467,10 +506,13 @@
 		OBJECTS="$(HMACTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(RC2TEST): $(RC2TEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -480,10 +522,13 @@
 		OBJECTS="$(RC2TEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(BFTEST): $(BFTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -493,10 +538,13 @@
 		OBJECTS="$(BFTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(CASTTEST): $(CASTTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -506,10 +554,13 @@
 		OBJECTS="$(CASTTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(RC4TEST): $(RC4TEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -519,10 +570,13 @@
 		OBJECTS="$(RC4TEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(RC5TEST): $(RC5TEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -532,10 +586,13 @@
 		OBJECTS="$(RC5TEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(DESTEST): $(DESTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -545,10 +602,13 @@
 		OBJECTS="$(DESTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(RANDTEST): $(RANDTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -558,10 +618,13 @@
 		OBJECTS="$(RANDTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(DHTEST): $(DHTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -571,10 +634,13 @@
 		OBJECTS="$(DHTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(DSATEST): $(DSATEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -584,10 +650,13 @@
 		OBJECTS="$(DSATEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(METHTEST): $(METHTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -597,10 +666,13 @@
 		OBJECTS="$(METHTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(SSLTEST): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBSSL) $(LIBKRB5) $(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBSSL) $(LIBKRB5) $(LIBCRYPTO)"; \
@@ -610,10 +682,13 @@
 		OBJECTS="$(SSLTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(ENGINETEST): $(ENGINETEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -623,10 +698,13 @@
 		OBJECTS="$(ENGINETEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(EVPTEST): $(EVPTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -636,10 +714,13 @@
 		OBJECTS="$(EVPTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(ECDSATEST): $(ECDSATEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -649,10 +730,13 @@
 		OBJECTS="$(ECDSATEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 $(ECDHTEST): $(ECDHTEST).o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -662,7 +746,7 @@
 		OBJECTS="$(ECDHTEST).o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 #$(AESTEST).o: $(AESTEST).c
 #	$(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
@@ -675,7 +759,10 @@
 #	fi
 
 dummytest: dummytest.o $(DLIBCRYPTO)
-	if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+	shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
+		shlib_target="$(SHLIB_TARGET)"; \
+	fi; \
+	if [ "$${shlib_target}" = "hpux-shared" -o "$${shlib_target}" = "darwin-shared" ] ; then \
 	  LIBRARIES="$(DLIBCRYPTO)"; \
 	else \
 	  LIBRARIES="$(LIBCRYPTO)"; \
@@ -685,7 +772,7 @@
 		OBJECTS="dummytest.o" \
 		LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
 		LIBRPATH=$(INSTALLTOP)/lib \
-		link_app.$(SHLIB_TARGET)
+		link_app.$${shlib_target}
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.