Cleanse memory using the new OPENSSL_cleanse() function.
[openssl.git] / test / Makefile.ssl
index 8926435971a15f39a1721682c737de9aaf10ed33..6b4f038fafdfa82fe2310d609c3d2ea88227ba8c 100644 (file)
@@ -123,11 +123,11 @@ tests:    exe apps $(TESTS)
 apps:
        @(cd ..; $(MAKE) DIRS=apps all)
 
-alltests:
-       (LIBPATH="`cd ..; pwd`"; LD_LIBRARY_PATH=$$LIBPATH; DYLD_LIBRARY_PATH=$$LIBPATH; SHLIB_PATH=$$LIBPATH; \
-               export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH; \
-               $(MAKE) CC='${CC}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' alltests.chooser)
-alltests.chooser: \
+SET_SO_PATHS=LIBPATH="`cd ..; pwd`"; LD_LIBRARY_PATH="$$LIBPATH"; DYLD_LIBRARY_PATH="$$LIBPATH"; SHLIB_PATH="$$LIBPATH"; \
+               if [ "$(PLATFORM)" != "Cygwin" ]; then PATH="$$LIBPATH:$$PATH"; fi; \
+               export LD_LIBRARY_PATH DYLD_LIBRARY_PATH SHLIB_PATH LIBPATH PATH
+
+alltests: \
        test_des test_idea test_sha test_md4 test_md5 test_hmac \
        test_md2 test_mdc2 \
        test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast test_rd \
@@ -137,136 +137,136 @@ alltests.chooser: \
        test_ss test_ca test_engine test_evp test_ssl
 
 test_evp:
-       ./$(EVPTEST) evptests.txt
+       $(SET_SO_PATHS); ./$(EVPTEST) evptests.txt
 
 test_des:
-       ./$(DESTEST)
+       $(SET_SO_PATHS); ./$(DESTEST)
 
 test_idea:
-       ./$(IDEATEST)
+       $(SET_SO_PATHS); ./$(IDEATEST)
 
 test_sha:
-       ./$(SHATEST)
-       ./$(SHA1TEST)
+       $(SET_SO_PATHS); ./$(SHATEST)
+       $(SET_SO_PATHS); ./$(SHA1TEST)
 
 test_mdc2:
-       ./$(MDC2TEST)
+       $(SET_SO_PATHS); ./$(MDC2TEST)
 
 test_md5:
-       ./$(MD5TEST)
+       $(SET_SO_PATHS); ./$(MD5TEST)
 
 test_md4:
-       ./$(MD4TEST)
+       $(SET_SO_PATHS); ./$(MD4TEST)
 
 test_hmac:
-       ./$(HMACTEST)
+       $(SET_SO_PATHS); ./$(HMACTEST)
 
 test_md2:
-       ./$(MD2TEST)
+       $(SET_SO_PATHS); ./$(MD2TEST)
 
 test_rmd:
-       ./$(RMDTEST)
+       $(SET_SO_PATHS); ./$(RMDTEST)
 
 test_bf:
-       ./$(BFTEST)
+       $(SET_SO_PATHS); ./$(BFTEST)
 
 test_cast:
-       ./$(CASTTEST)
+       $(SET_SO_PATHS); ./$(CASTTEST)
 
 test_rc2:
-       ./$(RC2TEST)
+       $(SET_SO_PATHS); ./$(RC2TEST)
 
 test_rc4:
-       ./$(RC4TEST)
+       $(SET_SO_PATHS); ./$(RC4TEST)
 
 test_rc5:
-       ./$(RC5TEST)
+       $(SET_SO_PATHS); ./$(RC5TEST)
 
 test_rand:
-       ./$(RANDTEST)
+       $(SET_SO_PATHS); ./$(RANDTEST)
 
 test_enc:
-       @sh ./testenc
+       @$(SET_SO_PATHS); sh ./testenc
 
 test_x509:
        echo test normal x509v1 certificate
-       sh ./tx509 2>/dev/null
+       $(SET_SO_PATHS); sh ./tx509 2>/dev/null
        echo test first x509v3 certificate
-       sh ./tx509 v3-cert1.pem 2>/dev/null
+       $(SET_SO_PATHS); sh ./tx509 v3-cert1.pem 2>/dev/null
        echo test second x509v3 certificate
-       sh ./tx509 v3-cert2.pem 2>/dev/null
+       $(SET_SO_PATHS); sh ./tx509 v3-cert2.pem 2>/dev/null
 
 test_rsa:
-       @sh ./trsa 2>/dev/null
-       ./$(RSATEST)
+       @$(SET_SO_PATHS); sh ./trsa 2>/dev/null
+       $(SET_SO_PATHS); ./$(RSATEST)
 
 test_crl:
-       @sh ./tcrl 2>/dev/null
+       @$(SET_SO_PATHS); sh ./tcrl 2>/dev/null
 
 test_sid:
-       @sh ./tsid 2>/dev/null
+       @$(SET_SO_PATHS); sh ./tsid 2>/dev/null
 
 test_req:
-       @sh ./treq 2>/dev/null
-       @sh ./treq testreq2.pem 2>/dev/null
+       @$(SET_SO_PATHS); sh ./treq 2>/dev/null
+       @$(SET_SO_PATHS); sh ./treq testreq2.pem 2>/dev/null
 
 test_pkcs7:
-       @sh ./tpkcs7 2>/dev/null
-       @sh ./tpkcs7d 2>/dev/null
+       @$(SET_SO_PATHS); sh ./tpkcs7 2>/dev/null
+       @$(SET_SO_PATHS); sh ./tpkcs7d 2>/dev/null
 
 test_bn:
        @echo starting big number library test, could take a while...
-       @./$(BNTEST) >tmp.bntest
+       @$(SET_SO_PATHS); ./$(BNTEST) >tmp.bntest
        @echo quit >>tmp.bntest
        @echo "running bc"
        @<tmp.bntest sh -c "`sh ./bctest ignore`" | $(PERL) -e '$$i=0; while (<STDIN>) {if (/^test (.*)/) {print STDERR "\nverify $$1";} elsif (!/^0$$/) {die "\nFailed! bc: $$_";} else {print STDERR "."; $$i++;}} print STDERR "\n$$i tests passed\n"'
        @echo 'test a^b%c implementations'
-       ./$(EXPTEST)
+       $(SET_SO_PATHS); ./$(EXPTEST)
 
 test_ec:
        @echo 'test elliptic curves'
-       ./$(ECTEST)
+       $(SET_SO_PATHS); ./$(ECTEST)
 
 test_ecdsa:
        @echo 'test ecdsa'
-       ./$(ECDSATEST)
+       $(SET_SO_PATHS); ./$(ECDSATEST)
 
 test_ecdh:
        @echo 'test ecdh'
-       ./$(ECDHTEST)
+       $(SET_SO_PATHS); ./$(ECDHTEST)
 
 test_verify:
        @echo "The following command should have some OK's and some failures"
        @echo "There are definitly a few expired certificates"
-       ../apps/openssl verify -CApath ../certs ../certs/*.pem
+       $(SET_SO_PATHS); ../apps/openssl verify -CApath ../certs ../certs/*.pem
 
 test_dh:
        @echo "Generate a set of DH parameters"
-       ./$(DHTEST)
+       $(SET_SO_PATHS); ./$(DHTEST)
 
 test_dsa:
        @echo "Generate a set of DSA parameters"
-       ./$(DSATEST)
-       ./$(DSATEST) -app2_1
+       $(SET_SO_PATHS); ./$(DSATEST)
+       $(SET_SO_PATHS); ./$(DSATEST) -app2_1
 
 test_gen:
        @echo "Generate and verify a certificate request"
-       @sh ./testgen
+       @$(SET_SO_PATHS); sh ./testgen
 
 test_ss keyU.ss certU.ss certCA.ss: testss
        @echo "Generate and certify a test certificate"
-       @sh ./testss
+       @$(SET_SO_PATHS); sh ./testss
 
 test_engine: 
        @echo "Manipulate the ENGINE structures"
-       ./$(ENGINETEST)
+       $(SET_SO_PATHS); ./$(ENGINETEST)
 
 test_ssl: keyU.ss certU.ss certCA.ss
        @echo "test SSL protocol"
-       @sh ./testssl keyU.ss certU.ss certCA.ss
+       @$(SET_SO_PATHS); sh ./testssl keyU.ss certU.ss certCA.ss
 
 test_ca:
-       @if ../apps/openssl no-rsa; then \
+       @$(SET_SO_PATHS); if ../apps/openssl no-rsa; then \
          echo "skipping CA.sh test -- requires RSA"; \
        else \
          echo "Generate and certify a test certificate via the 'ca' program"; \
@@ -275,7 +275,7 @@ test_ca:
 
 test_rd: #$(RDTEST)
 #      @echo "test Rijndael"
-#      ./$(RDTEST)
+#      $(SET_SO_PATHS); ./$(RDTEST)
 
 lint:
        lint -DLINT $(INCLUDES) $(SRC)>fluff
@@ -297,97 +297,217 @@ $(DLIBCRYPTO):
        (cd ..; $(MAKE) DIRS=crypto all)
 
 $(RSATEST): $(RSATEST).o $(DLIBCRYPTO)
-       $(CC) -o $(RSATEST) $(CFLAGS) $(RSATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(RSATEST) $(CFLAGS) $(RSATEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(RSATEST) $(CFLAGS) $(RSATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(BNTEST): $(BNTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(BNTEST) $(CFLAGS) $(BNTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(BNTEST) $(CFLAGS) $(BNTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(BNTEST) $(CFLAGS) $(BNTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(ECTEST): $(ECTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(ECTEST) $(CFLAGS) $(ECTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(ECTEST) $(CFLAGS) $(ECTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(ECTEST) $(CFLAGS) $(ECTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(EXPTEST): $(EXPTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(EXPTEST) $(CFLAGS) $(EXPTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(EXPTEST) $(CFLAGS) $(EXPTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(EXPTEST) $(CFLAGS) $(EXPTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(IDEATEST): $(IDEATEST).o $(DLIBCRYPTO)
-       $(CC) -o $(IDEATEST) $(CFLAGS) $(IDEATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(IDEATEST) $(CFLAGS) $(IDEATEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(IDEATEST) $(CFLAGS) $(IDEATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(MD2TEST): $(MD2TEST).o $(DLIBCRYPTO)
-       $(CC) -o $(MD2TEST) $(CFLAGS) $(MD2TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(MD2TEST) $(CFLAGS) $(MD2TEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(MD2TEST) $(CFLAGS) $(MD2TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(SHATEST): $(SHATEST).o $(DLIBCRYPTO)
-       $(CC) -o $(SHATEST) $(CFLAGS) $(SHATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(SHATEST) $(CFLAGS) $(SHATEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(SHATEST) $(CFLAGS) $(SHATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(SHA1TEST): $(SHA1TEST).o $(DLIBCRYPTO)
-       $(CC) -o $(SHA1TEST) $(CFLAGS) $(SHA1TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(SHA1TEST) $(CFLAGS) $(SHA1TEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(SHA1TEST) $(CFLAGS) $(SHA1TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(RMDTEST): $(RMDTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(RMDTEST) $(CFLAGS) $(RMDTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(RMDTEST) $(CFLAGS) $(RMDTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(RMDTEST) $(CFLAGS) $(RMDTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(MDC2TEST): $(MDC2TEST).o $(DLIBCRYPTO)
-       $(CC) -o $(MDC2TEST) $(CFLAGS) $(MDC2TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(MDC2TEST) $(CFLAGS) $(MDC2TEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(MDC2TEST) $(CFLAGS) $(MDC2TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(MD4TEST): $(MD4TEST).o $(DLIBCRYPTO)
-       $(CC) -o $(MD4TEST) $(CFLAGS) $(MD4TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(MD4TEST) $(CFLAGS) $(MD4TEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(MD4TEST) $(CFLAGS) $(MD4TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(MD5TEST): $(MD5TEST).o $(DLIBCRYPTO)
-       $(CC) -o $(MD5TEST) $(CFLAGS) $(MD5TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(MD5TEST) $(CFLAGS) $(MD5TEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(MD5TEST) $(CFLAGS) $(MD5TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(HMACTEST): $(HMACTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(HMACTEST) $(CFLAGS) $(HMACTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(HMACTEST) $(CFLAGS) $(HMACTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(HMACTEST) $(CFLAGS) $(HMACTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(RC2TEST): $(RC2TEST).o $(DLIBCRYPTO)
-       $(CC) -o $(RC2TEST) $(CFLAGS) $(RC2TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(RC2TEST) $(CFLAGS) $(RC2TEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(RC2TEST) $(CFLAGS) $(RC2TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(BFTEST): $(BFTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(BFTEST) $(CFLAGS) $(BFTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(BFTEST) $(CFLAGS) $(BFTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(BFTEST) $(CFLAGS) $(BFTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(CASTTEST): $(CASTTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(CASTTEST) $(CFLAGS) $(CASTTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(CASTTEST) $(CFLAGS) $(CASTTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(CASTTEST) $(CFLAGS) $(CASTTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(RC4TEST): $(RC4TEST).o $(DLIBCRYPTO)
-       $(CC) -o $(RC4TEST) $(CFLAGS) $(RC4TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(RC4TEST) $(CFLAGS) $(RC4TEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(RC4TEST) $(CFLAGS) $(RC4TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(RC5TEST): $(RC5TEST).o $(DLIBCRYPTO)
-       $(CC) -o $(RC5TEST) $(CFLAGS) $(RC5TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(RC5TEST) $(CFLAGS) $(RC5TEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(RC5TEST) $(CFLAGS) $(RC5TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(DESTEST): $(DESTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(DESTEST) $(CFLAGS) $(DESTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(DESTEST) $(CFLAGS) $(DESTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(DESTEST) $(CFLAGS) $(DESTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(RANDTEST): $(RANDTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(RANDTEST) $(CFLAGS) $(RANDTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(RANDTEST) $(CFLAGS) $(RANDTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(RANDTEST) $(CFLAGS) $(RANDTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(DHTEST): $(DHTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(DHTEST) $(CFLAGS) $(DHTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(DHTEST) $(CFLAGS) $(DHTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(DHTEST) $(CFLAGS) $(DHTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(DSATEST): $(DSATEST).o $(DLIBCRYPTO)
-       $(CC) -o $(DSATEST) $(CFLAGS) $(DSATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(DSATEST) $(CFLAGS) $(DSATEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(DSATEST) $(CFLAGS) $(DSATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(METHTEST): $(METHTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(METHTEST) $(CFLAGS) $(METHTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(METHTEST) $(CFLAGS) $(METHTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(METHTEST) $(CFLAGS) $(METHTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(SSLTEST): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
-       $(CC) -o $(SSLTEST) $(CFLAGS) $(SSLTEST).o $(PEX_LIBS) $(LIBSSL) $(LIBKRB5) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(SSLTEST) $(CFLAGS) $(SSLTEST).o $(PEX_LIBS) $(DLIBSSL) $(LIBKRB5) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(SSLTEST) $(CFLAGS) $(SSLTEST).o $(PEX_LIBS) $(LIBSSL) $(LIBKRB5) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(ENGINETEST): $(ENGINETEST).o $(DLIBCRYPTO)
-       $(CC) -o $(ENGINETEST) $(CFLAGS) $(ENGINETEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(ENGINETEST) $(CFLAGS) $(ENGINETEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(ENGINETEST) $(CFLAGS) $(ENGINETEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(EVPTEST): $(EVPTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(EVPTEST) $(CFLAGS) $(EVPTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(EVPTEST) $(CFLAGS) $(EVPTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(EVPTEST) $(CFLAGS) $(EVPTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 $(ECDSATEST): $(ECDSATEST).o $(DLIBCRYPTO)
-       $(CC) -o $(ECDSATEST) $(CFLAGS) $(ECDSATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
-       
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(ECDSATEST) $(CFLAGS) $(ECDSATEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(ECDSATEST) $(CFLAGS) $(ECDSATEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
+
 $(ECDHTEST): $(ECDHTEST).o $(DLIBCRYPTO)
-       $(CC) -o $(ECDHTEST) $(CFLAGS) $(ECDHTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o $(ECDHTEST) $(CFLAGS) $(ECDHTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o $(ECDHTEST) $(CFLAGS) $(ECDHTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 #$(RDTEST).o: $(RDTEST).c
 #      $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(RDTEST).c
 
 #$(RDTEST): $(RDTEST).o $(DLIBCRYPTO)
-#      $(CC) -o $(RDTEST) $(CFLAGS) $(RDTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+#      if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+#        $(CC) -o $(RDTEST) $(CFLAGS) $(RDTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+#      else \
+#        $(CC) -o $(RDTEST) $(CFLAGS) $(RDTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+#      fi
 
 dummytest: dummytest.o $(DLIBCRYPTO)
-       $(CC) -o dummytest $(CFLAGS) dummytest.o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+       if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
+         $(CC) -o dummytest $(CFLAGS) dummytest.o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
+       else \
+         $(CC) -o dummytest $(CFLAGS) dummytest.o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
+       fi
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.
 
@@ -472,18 +592,18 @@ ecdsatest.o: ../include/openssl/sha.h ../include/openssl/stack.h
 ecdsatest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h
 ecdsatest.o: ../include/openssl/ui_compat.h ../include/openssl/x509.h
 ecdsatest.o: ../include/openssl/x509_vfy.h ecdsatest.c
-ectest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
+ectest.o: ../e_os.h ../include/openssl/asn1.h ../include/openssl/bio.h
 ectest.o: ../include/openssl/bn.h ../include/openssl/crypto.h
 ectest.o: ../include/openssl/dh.h ../include/openssl/dsa.h
 ectest.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
 ectest.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
 ectest.o: ../include/openssl/engine.h ../include/openssl/err.h
 ectest.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
-ectest.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
-ectest.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
-ectest.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
-ectest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
-ectest.o: ../include/openssl/ui.h ectest.c
+ectest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+ectest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+ectest.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+ectest.o: ../include/openssl/safestack.h ../include/openssl/stack.h
+ectest.o: ../include/openssl/symhacks.h ../include/openssl/ui.h ectest.c
 enginetest.o: ../include/openssl/asn1.h ../include/openssl/bio.h
 enginetest.o: ../include/openssl/bn.h ../include/openssl/buffer.h
 enginetest.o: ../include/openssl/crypto.h ../include/openssl/dh.h