Make link-shard a little bit more efficient. If there are no
[openssl.git] / Makefile.org
index 0427ce9647a9d6612aa61d61a7148f3eb4955a1c..1b2e9e90f8d8f0edf7bd551a3403c056d94843a8 100644 (file)
@@ -211,11 +211,11 @@ sub_all:
        do \
        if [ -d "$$i" ]; then \
                (cd $$i && echo "making all in $$i..." && \
-               $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' all ) || exit 1; \
+               $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' all ) || exit 1; \
        else \
                $(MAKE) $$i; \
        fi; \
-       done; \
+       done;
 
 libcrypto$(SHLIB_EXT): libcrypto.a
        @if [ "$(SHLIB_TARGET)" != "" ]; then \
@@ -223,6 +223,7 @@ libcrypto$(SHLIB_EXT): libcrypto.a
        else \
                echo "There's no support for shared libraries on this platform" >&2; \
        fi
+
 libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
        @if [ "$(SHLIB_TARGET)" != "" ]; then \
                $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
@@ -242,16 +243,16 @@ clean-shared:
        done
 
 link-shared:
-       @for i in $(SHLIBDIRS); do \
-               prev=lib$$i$(SHLIB_EXT); \
-               if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
-                       tmp="$(SHARED_LIBS_LINK_EXTS)"; \
+       if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \
+               tmp="$(SHARED_LIBS_LINK_EXTS)"; \
+               @for i in $(SHLIBDIRS); do \
+                       prev=lib$$i$(SHLIB_EXT); \
                        for j in $${tmp:-x}; do \
                                ( set -x; ln -f -s $$prev lib$$i$$j ); \
                                prev=lib$$i$$j; \
                        done; \
-               fi; \
-       done
+               done; \
+       fi
 
 build-shared: clean-shared do_$(SHLIB_TARGET) link-shared
 
@@ -348,6 +349,25 @@ do_solaris-shared:
                done; \
        fi
 
+# OpenServer 5 native compilers used
+do_svr3-shared:
+       if ${DETECT_GNU_LD}; then \
+               $(MAKE) do_gnu-shared; \
+       else \
+               libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
+               ( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
+                 find . -name "*.o" -print > allobjs ; \
+                 OBJS= ; export OBJS ; \
+                 for obj in `ar t lib$$i.a` ; do \
+                   OBJS="$${OBJS} `grep $$obj allobjs`" ; \
+                 done ; \
+                 set -x; ${CC}  -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
+                       -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
+                       $${OBJS} $$libs ${EX_LIBS} ) || exit 1; \
+               libs="$$libs -l$$i"; \
+               done; \
+       fi
+
 # UnixWare 7 and OpenUNIX 8 native compilers used
 do_svr5-shared:
        if ${DETECT_GNU_LD}; then \
@@ -464,6 +484,20 @@ do_aix-shared:
        libs="$$libs -l$$i"; \
        done
 
+do_reliantunix-shared:
+       libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
+       tmpdir=/tmp/openssl.$$$$ ; rm -rf $$tmpdir ; \
+       ( set -x; \
+         ( Opwd=`pwd` ; mkdir $$tmpdir || exit 1; \
+           cd $$tmpdir || exit 1 ; ar x $$Opwd/lib$$i.a ; \
+           ${CC} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} *.o \
+         ) || exit 1; \
+         cp $$tmpdir/lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} . ; \
+       ) || exit 1; \
+       rm -rf $$tmpdir ; \
+       libs="$$libs -l$$i"; \
+       done
+
 Makefile.ssl: Makefile.org
        @echo "Makefile.ssl is older than Makefile.org."
        @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
@@ -574,6 +608,7 @@ tags:
 
 errors:
        $(PERL) util/mkerr.pl -recurse -write
+       (cd crypto/engine; $(MAKE) PERL=$(PERL) errors)
 
 stacks:
        $(PERL) util/mkstack.pl -write