9ec0126ed2
variety of platforms. A few are missing, and they will be added in eventually, but as this is new stuff, it was better to not break lots of platforms in one go that we can't easily test. The changes to "Configure" should illustrate how to add support to other systems if you feel like having a go. NB: I'll add something shortly to allow you to add "dlfcn.h" support on those platforms that don't have (or need) a dlfcn.h header file. (The symbol for Configure will probably by "dlfcn_no_h"). Thanks to Richard Levitte, who is responsible for the dso_dl.c support, understanding the trickier aspects of the build process, and giving great feedback on everything else. [Don't use this stuff if you're easily offended by changes to the interface or behaviour - it's still work in progress.] PR:
195 lines
8.2 KiB
Text
195 lines
8.2 KiB
Text
#
|
|
# SSLeay/crypto/Makefile
|
|
#
|
|
|
|
DIR= crypto
|
|
TOP= ..
|
|
CC= cc
|
|
INCLUDE= -I. -I../include
|
|
INCLUDES= -I.. -I../../include
|
|
CFLAG= -g
|
|
INSTALL_PREFIX=
|
|
OPENSSLDIR= /usr/local/ssl
|
|
INSTALLTOP= /usr/local/ssl
|
|
MAKE= make -f Makefile.ssl
|
|
MAKEDEPEND= $(TOP)/util/domd $(TOP)
|
|
MAKEFILE= Makefile.ssl
|
|
RM= rm -f
|
|
AR= ar r
|
|
|
|
PEX_LIBS=
|
|
EX_LIBS=
|
|
|
|
CFLAGS= $(INCLUDE) $(CFLAG)
|
|
|
|
|
|
LIBS=
|
|
|
|
SDIRS= md2 md5 sha mdc2 hmac ripemd \
|
|
des rc2 rc4 rc5 idea bf cast \
|
|
bn rsa dsa dh dso \
|
|
buffer bio stack lhash rand err objects \
|
|
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp
|
|
|
|
GENERAL=Makefile README crypto-lib.com install.com
|
|
|
|
LIB= $(TOP)/libcrypto.a
|
|
LIBSRC= cryptlib.c mem.c mem_dbg.c cversion.c ex_data.c tmdiff.c cpt_err.c ebcdic.c
|
|
LIBOBJ= cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o tmdiff.o cpt_err.o ebcdic.o
|
|
|
|
SRC= $(LIBSRC)
|
|
|
|
EXHEADER= crypto.h tmdiff.h opensslv.h opensslconf.h ebcdic.h
|
|
HEADER= cryptlib.h buildinf.h md32_common.h $(EXHEADER)
|
|
|
|
ALL= $(GENERAL) $(SRC) $(HEADER)
|
|
|
|
top:
|
|
@(cd ..; $(MAKE) DIRS=$(DIR) all)
|
|
|
|
all: buildinf.h lib subdirs
|
|
|
|
buildinf.h: ../Makefile.ssl
|
|
( echo "#ifndef MK1MF_BUILD"; \
|
|
echo " /* auto-generated by crypto/Makefile.ssl for crypto/cversion.c */"; \
|
|
echo " #define CFLAGS \"$(CC) $(CFLAG)\""; \
|
|
echo " #define PLATFORM \"$(PLATFORM)\""; \
|
|
echo " #define DATE \"`date`\""; \
|
|
echo "#endif" ) >buildinf.h
|
|
|
|
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
|
|
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
|
|
|
|
subdirs:
|
|
@for i in $(SDIRS) ;\
|
|
do \
|
|
(cd $$i && echo "making all 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}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \
|
|
done;
|
|
|
|
files:
|
|
$(PERL) $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO
|
|
@for i in $(SDIRS) ;\
|
|
do \
|
|
(cd $$i; echo "making 'files' in crypto/$$i..."; \
|
|
$(MAKE) PERL='${PERL}' files ); \
|
|
done;
|
|
|
|
links:
|
|
@$(TOP)/util/point.sh Makefile.ssl Makefile
|
|
@$(PERL) $(TOP)/util/mklink.pl ../include/openssl $(EXHEADER)
|
|
@$(PERL) $(TOP)/util/mklink.pl ../test $(TEST)
|
|
@$(PERL) $(TOP)/util/mklink.pl ../apps $(APPS)
|
|
@$(TOP)/util/point.sh Makefile.ssl Makefile
|
|
@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 ); \
|
|
done;
|
|
|
|
lib: $(LIBOBJ)
|
|
$(AR) $(LIB) $(LIBOBJ)
|
|
$(RANLIB) $(LIB)
|
|
@touch lib
|
|
|
|
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 ); \
|
|
done;
|
|
|
|
tests:
|
|
@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;
|
|
|
|
install:
|
|
@for i in $(EXHEADER) ;\
|
|
do \
|
|
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \
|
|
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \
|
|
done;
|
|
@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 ); \
|
|
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 ); \
|
|
done;
|
|
|
|
depend:
|
|
if [ ! -f buildinf.h ]; then touch buildinf.h; fi # fake buildinf.h if it does not exist
|
|
$(MAKEDEPEND) $(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}' DEPFLAG='${DEPFLAG}' depend ); \
|
|
done;
|
|
|
|
clean:
|
|
rm -f buildinf.h *.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 ); \
|
|
done;
|
|
|
|
dclean:
|
|
$(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
|
|
mv -f Makefile.new $(MAKEFILE)
|
|
@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 ); \
|
|
done;
|
|
|
|
# DO NOT DELETE THIS LINE -- make depend depends on it.
|
|
|
|
cpt_err.o: ../include/openssl/crypto.h ../include/openssl/err.h
|
|
cpt_err.o: ../include/openssl/opensslv.h ../include/openssl/safestack.h
|
|
cpt_err.o: ../include/openssl/stack.h
|
|
cryptlib.o: ../include/openssl/bio.h ../include/openssl/buffer.h
|
|
cryptlib.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
|
|
cryptlib.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
|
cryptlib.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
|
cryptlib.o: ../include/openssl/safestack.h ../include/openssl/stack.h
|
|
cryptlib.o: cryptlib.h
|
|
cversion.o: ../include/openssl/bio.h ../include/openssl/buffer.h
|
|
cversion.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
|
|
cversion.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
|
cversion.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
|
cversion.o: ../include/openssl/safestack.h ../include/openssl/stack.h
|
|
cversion.o: buildinf.h cryptlib.h
|
|
ex_data.o: ../include/openssl/bio.h ../include/openssl/buffer.h
|
|
ex_data.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
|
|
ex_data.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
|
ex_data.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
|
|
ex_data.o: ../include/openssl/opensslv.h ../include/openssl/safestack.h
|
|
ex_data.o: ../include/openssl/stack.h cryptlib.h
|
|
mem.o: ../include/openssl/bio.h ../include/openssl/buffer.h
|
|
mem.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
|
|
mem.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
|
mem.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
|
mem.o: ../include/openssl/safestack.h ../include/openssl/stack.h cryptlib.h
|
|
mem_dbg.o: ../include/openssl/bio.h ../include/openssl/buffer.h
|
|
mem_dbg.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
|
|
mem_dbg.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
|
mem_dbg.o: ../include/openssl/lhash.h ../include/openssl/opensslconf.h
|
|
mem_dbg.o: ../include/openssl/opensslv.h ../include/openssl/safestack.h
|
|
mem_dbg.o: ../include/openssl/stack.h cryptlib.h
|
|
tmdiff.o: ../include/openssl/bio.h ../include/openssl/buffer.h
|
|
tmdiff.o: ../include/openssl/crypto.h ../include/openssl/e_os.h
|
|
tmdiff.o: ../include/openssl/e_os2.h ../include/openssl/err.h
|
|
tmdiff.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
|
|
tmdiff.o: ../include/openssl/safestack.h ../include/openssl/stack.h
|
|
tmdiff.o: ../include/openssl/tmdiff.h cryptlib.h
|