Update from stable branch.
[oweals/openssl.git] / crypto / Makefile
index 7e15bb233ddd1ee6606b449f233f8825b5e546e7..1322b72a39b365f5212e833e48e20e24cddc7f0d 100644 (file)
@@ -6,6 +6,7 @@ DIR=            crypto
 TOP=           ..
 CC=            cc
 INCLUDE=       -I. -I$(TOP) -I../include
+# INCLUDES targets sudbirs!
 INCLUDES=      -I.. -I../.. -I../../include
 CFLAG=         -g
 MAKEDEPPROG=   makedepend
@@ -51,6 +52,30 @@ top:
 
 all: shared
 
+BUILDENV=      PLATFORM='${PLATFORM}' PROCESSOR='${PROCESSOR}' \
+               CC='${CC}' CFLAG='${CFLAG}'                     \
+               AS='${CC}' ASFLAG='${CFLAG} -c'                 \
+               AR='${AR}' PERL='${PERL}' RANLIB='${RANLIB}'    \
+               SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/lib'           \
+               INSTALLTOP='${INSTALLTOP}' OPENSSLDIR='${OPENSSLDIR}'   \
+               MAKEDEPEND='$$(TOP)/util/domd $$(TOP) -MD $(MAKEDEPPROG)'\
+               DEPFLAG='-DOPENSSL_NO_DEPRECATED ${DEPFLAG}'    \
+               MAKEDEPPROG='${MAKEDEPPROG}'                    \
+               LDFLAGS="$(LDFLAGS)" SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
+               KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}'   \
+               EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}'       \
+               SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' \
+               PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}'     \
+               CPUID_OBJ='${CPUID_OBJ}'                        \
+               BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}'         \
+               AES_ASM_OBJ='${AES_ASM_OBJ}'                    \
+               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}'              \
+               THIS=$${THIS:-$@}
+
 buildinf.h: ../Makefile
        ( echo "#ifndef MK1MF_BUILD"; \
        echo '  /* auto-generated by crypto/Makefile for crypto/cversion.c */'; \
@@ -66,22 +91,28 @@ x86cpuid-cof.s: x86cpuid.pl perlasm/x86asm.pl
 x86cpuid-out.s: x86cpuid.pl perlasm/x86asm.pl
        $(PERL) x86cpuid.pl a.out $(CFLAGS) $(PROCESSOR) > $@
 
+uplink.o:      ../ms/uplink.c
+       $(CC) $(CFLAGS) -c -o $@ ../ms/uplink.c
+
+uplink-cof.s:  ../ms/uplink.pl
+       $(PERL) ../ms/uplink.pl coff > $@
+
 x86_64cpuid.s: x86_64cpuid.pl
        $(PERL) x86_64cpuid.pl $@
 ia64cpuid.s: ia64cpuid.S
        $(CC) $(CFLAGS) -E ia64cpuid.S > $@
 
 testapps:
-       @if [ -z "(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
        [ -z "$(THIS)" ] || ( if echo ${SDIRS} | fgrep ' des '; \
        then cd des && $(MAKE) des; fi )
        [ -z "$(THIS)" ] || ( cd pkcs7 && $(MAKE) testapps );
+       @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
 
 subdirs:
        @for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making all in crypto/$$i..." && \
-       $(MAKE) INCLUDES='${INCLUDES}' all ) || exit 1; \
+       $(MAKE) $(BUILDENV) INCLUDES='${INCLUDES}' all ) || exit 1; \
        done;
 
 files:
@@ -89,7 +120,7 @@ files:
        @for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making 'files' in crypto/$$i..." && \
-       $(MAKE) PERL='${PERL}' files ); \
+       $(MAKE) files ); \
        done;
 
 links:
@@ -119,12 +150,12 @@ libs:
        done;
 
 tests:
-       @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@ fi
        @[ -z "$(THIS)" ] || (for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making tests in crypto/$$i..." && \
        $(MAKE) tests ); \
        done; )
+       @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
 
 install:
        @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
@@ -147,14 +178,16 @@ lint:
        done;
 
 depend:
-       if [ ! -f buildinf.h ]; then touch buildinf.h; fi # fake buildinf.h if it does not exist
-       $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
-       if [ ! -s buildinf.h ]; then rm buildinf.h; fi
-       @for i in $(SDIRS) ;\
-       do \
-       (cd $$i && echo "making depend in crypto/$$i..." && \
-       $(MAKE) depend ); \
-       done;
+       [ -z "$(THIS)" -o -f buildinf.h ] || touch buildinf.h # fake buildinf.h if it does not exist
+       [ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDE) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
+       [ -z "$(THIS)" -o -s buildinf.h ] || rm buildinf.h
+       @[ -z "$(THIS)" ] || (set -e; \
+       for i in $(SDIRS) ; do \
+           (   cd $$i && echo "making depend in crypto/$$i..." && \
+               $(MAKE) INCLUDES='${INCLUDES}' depend \
+           ); \
+       done; )
+       @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
 
 clean:
        rm -f buildinf.h *.s *.o */*.o *.obj lib tags core .pure .nfs* *.old *.bak fluff