Close files.
[openssl.git] / Makefile.org
index 869fe8cc5a387d780ef686ef085efd54c8741fed..33f81de54e25137a10093a7104bb360bdbbda293 100644 (file)
@@ -2,7 +2,9 @@
 ## Makefile for OpenSSL
 ##
 
-VERSION = 0.9.2b
+VERSION=
+MAJOR=
+MINOR=
 PLATFORM=dist
 INSTALLTOP=/usr/local/ssl
 
@@ -43,6 +45,7 @@ OPENSSLDIR=/usr/local/ssl
 CC= gcc
 #CFLAG= -DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -m486 -Wall -Wuninitialized -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
 CFLAG= -DTERMIOS -DL_ENDIAN -fomit-frame-pointer -O3 -m486 -Wall -DSHA1_ASM -DMD5_ASM -DRMD160_ASM
+DEPFLAG= 
 PEX_LIBS= -L. -L.. -L../.. -L../../..
 EX_LIBS= 
 AR=ar r
@@ -135,6 +138,8 @@ RMD160_ASM_OBJ= asm/rm86-out.o
 #RMD160_ASM_OBJ= asm/rm86bsdi.o       # bsdi
 
 DIRS=   crypto ssl rsaref apps test tools
+SHLIBDIRS= crypto ssl
+
 # dirs in crypto to build
 SDIRS=  \
        md2 md5 sha mdc2 hmac ripemd \
@@ -178,6 +183,23 @@ sub_all:
        $(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}' all ) || exit 1; \
        done;
 
+linux-shared:
+       for i in ${SHLIBDIRS}; do \
+       rm -f lib$$i.a lib$$i.so \
+               lib$$i.so.${MAJOR} lib$$i.so.${MAJOR}.${MINOR}; \
+       ${MAKE} CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='-fPIC ${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}' DIRS=$$i clean all || exit 1; \
+       ( set -x; ${CC}  -shared -o lib$$i.so.${MAJOR}.${MINOR} \
+               -Wl,-S,-soname=lib$$i.so.${MAJOR} \
+               -Wl,--whole-archive lib$$i.a \
+               -Wl,--no-whole-archive -lc ) || exit 1; \
+       rm -f lib$$i.a; make -C $$i clean || exit 1 ;\
+       done;
+       @set -x; \
+       for i in ${SHLIBDIRS}; do \
+       ln -s lib$$i.so.${MAJOR}.${MINOR} lib$$i.so.${MAJOR}; \
+       ln -s lib$$i.so.${MAJOR} lib$$i.so; \
+       done;
+
 Makefile.ssl: Makefile.org
        @echo "Makefile.ssl is older than Makefile.org."
        @echo "Reconfigure the source tree (via 'perl Configure' or 'sh config')"
@@ -217,10 +239,10 @@ files:
 links:
        @$(TOP)/util/point.sh Makefile.ssl Makefile
        @-mkdir -p include/openssl 2>/dev/null
-       @$(TOP)/util/mklink.sh include/openssl $(EXHEADER)
+       @$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER)
        @for i in $(DIRS); do \
        (cd $$i && echo "making links 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}' links ) || 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}' PERL='${PERL}' links ) || exit 1; \
        done;
        @(OPENSSL="`pwd`/apps/openssl"; export OPENSSL; sh tools/c_rehash certs)
 
@@ -229,7 +251,7 @@ dclean:
        @for i in $(DIRS) ;\
        do \
        (cd $$i && echo "making dclean in $$i..." && \
-       $(MAKE) SDIRS='${SDIRS}' dclean ) || exit 1; \
+       $(MAKE) SDIRS='${SDIRS}' PERL='${PERL}' dclean ) || exit 1; \
        done;
 
 rehash:
@@ -237,7 +259,7 @@ rehash:
 
 test:   tests
 
-tests:
+tests: rehash
        @(cd test && echo "testing..." && \
        $(MAKE) CC='${CC}' CFLAG='${CFLAG}' 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}' SDIRS='${SDIRS}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' tests );
        @apps/openssl version -a
@@ -246,7 +268,7 @@ depend:
        @for i in $(DIRS) ;\
        do \
        (cd $$i && echo "making dependancies $$i..." && \
-       $(MAKE) SDIRS='${SDIRS}' depend ) || exit 1; \
+       $(MAKE) SDIRS='${SDIRS}' DEPFLAG='${DEPFLAG}' depend ) || exit 1; \
        done;
 
 lint:
@@ -288,6 +310,7 @@ install: all
        @-mkdir -p $(INSTALLTOP)/bin 2>/dev/null
        @-mkdir -p $(INSTALLTOP)/lib 2>/dev/null
        @-mkdir -p $(INSTALLTOP)/include/openssl 2>/dev/null
+       @-mkdir -p $(OPENSSLDIR)/misc 2>/dev/null
        @-mkdir -p $(OPENSSLDIR)/certs 2>/dev/null
        @-mkdir -p $(OPENSSLDIR)/private 2>/dev/null
        @-mkdir -p $(OPENSSLDIR)/lib 2>/dev/null