Engage Applink in mingw. Note that application-side module is not
[openssl.git] / crypto / Makefile
index ae9cf4e146eba759c11321561df89e2dcf401649..c6c76c26ac3553610a5950766a51f714ff15a267 100644 (file)
@@ -6,12 +6,9 @@ DIR=           crypto
 TOP=           ..
 CC=            cc
 INCLUDE=       -I. -I$(TOP) -I../include
+# INCLUDES targets sudbirs!
 INCLUDES=      -I.. -I../.. -I../../include
 CFLAG=         -g
-INSTALL_PREFIX=
-OPENSSLDIR=     /usr/local/ssl
-INSTALLTOP=    /usr/local/ssl
-MAKE=           make
 MAKEDEPPROG=   makedepend
 MAKEDEPEND=    $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
 MAKEFILE=       Makefile
@@ -70,22 +67,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 echo ${SDIRS} | fgrep ' des '; \
-       then cd des && $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' des; fi
-       if echo ${SDIRS} | fgrep ' pkcs7 '; \
-       then cd pkcs7 && $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' testapps; 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) -e INCLUDES='${INCLUDES}' all ) || exit 1; \
+       $(MAKE) INCLUDES='${INCLUDES}' all ) || exit 1; \
        done;
 
 files:
@@ -93,7 +96,7 @@ files:
        @for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making 'files' in crypto/$$i..." && \
-       $(MAKE) PERL='${PERL}' files ); \
+       $(MAKE) files ); \
        done;
 
 links:
@@ -101,8 +104,8 @@ links:
        @$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
        @$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
        @for i in $(SDIRS); do \
-       (cd $$i && echo "making links in crypto/$$i..." && \
-       $(MAKE) CC='$(CC)' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' AR='${AR}' PERL='${PERL}' links ); \
+           (cd $$i && echo "making links in crypto/$$i..." && \
+           $(MAKE) links ); \
        done;
 
 lib:   $(LIBOBJ)
@@ -119,17 +122,19 @@ libs:
        @for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making libs in crypto/$$i..." && \
-       $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' lib ); \
+       $(MAKE) lib );
        done;
 
 tests:
-       @for i in $(SDIRS) ;\
+       @[ -z "$(THIS)" ] || (for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making tests in crypto/$$i..." && \
-       $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' AR='${AR}' tests ); \
-       done;
+       $(MAKE) tests ); \
+       done; )
+       @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
 
 install:
+       @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
        @headerlist="$(EXHEADER)"; for i in $$headerlist ;\
        do \
        (cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
@@ -138,32 +143,34 @@ install:
        @for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making install in crypto/$$i..." && \
-       $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALL_PREFIX='${INSTALL_PREFIX}'  INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' install ); \
+       $(MAKE) install ); \
        done;
 
 lint:
        @for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making lint in crypto/$$i..." && \
-       $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' lint ); \
+       $(MAKE) 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) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' CFLAG='${CFLAG}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' PERL='${PERL}' 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
        @for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making clean in crypto/$$i..." && \
-       $(MAKE) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' clean ); \
+       $(MAKE) clean ); \
        done;
 
 dclean:
@@ -172,7 +179,7 @@ dclean:
        @for i in $(SDIRS) ;\
        do \
        (cd $$i && echo "making dclean in crypto/$$i..." && \
-       $(MAKE) PERL='${PERL}' CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' dclean ); \
+       $(MAKE) dclean ); \
        done;
 
 # DO NOT DELETE THIS LINE -- make depend depends on it.