#
# SSLeay/crypto/Makefile
#

DIR=		crypto
TOP=		..
CC=		cc
INCLUDE=	-I. -I../include
INCLUDES=	-I.. -I../../include
CFLAG=		-g
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) -DCFLAGS="\"$(CC) $(CFLAG)\"" -DPLATFORM="\"$(PLATFORM)\""

ERR=crypto
ERRC=cpt_err

LIBS=

SDIRS=	md2 md5 sha mdc2 hmac ripemd \
	des rc2 rc4 rc5 idea bf cast \
	bn rsa dsa dh \
	buffer bio stack lhash rand err objects \
	evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp

GENERAL=Makefile README

LIB= $(TOP)/libcrypto.a
LIBSRC=	cryptlib.c mem.c cversion.c ex_data.c tmdiff.c $(ERRC).c
LIBOBJ= cryptlib.o mem.o cversion.o ex_data.o tmdiff.o $(ERRC).o

SRC= $(LIBSRC)

EXHEADER= crypto.h cryptall.h tmdiff.h opensslv.h opensslconf.h
HEADER=	cryptlib.h date.h $(EXHEADER)

ALL=    $(GENERAL) $(SRC) $(HEADER)

top:
	@(cd ..; $(MAKE) DIRS=$(DIR) all)

all: date.h lib subdirs

date.h: ../Makefile.ssl
	echo "#define DATE \"`date`\"" >date.h

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) files ); \
	done;

links:
	@$(TOP)/util/point.sh Makefile.ssl Makefile
	@$(TOP)/util/mklink.sh ../include $(EXHEADER)
	@$(TOP)/util/mklink.sh ../test $(TEST)
	@$(TOP)/util/mklink.sh ../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}' 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}' 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 $(INSTALLTOP)/include/$$i; \
	chmod 644 $(INSTALLTOP)/include/$$i ); \
	done;
	@for i in $(SDIRS) ;\
	do \
	(cd $$i; echo "making install in crypto/$$i..."; \
	$(MAKE) CC='$(CC)' CFLAG='${CFLAG}' 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:
	$(MAKEDEPEND) $(INCLUDE) $(PROGS) $(LIBSRC)
	@for i in $(SDIRS) ;\
	do \
	(cd $$i; echo "making depend in crypto/$$i..."; \
	$(MAKE) MAKEFILE='${MAKEFILE}' INCLUDES='${INCLUDES}' depend ); \
	done;

clean:
	rm -f *.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) CC='$(CC)' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' dclean ); \
	done;

errors: errgen $(ERRC).c

$(ERRC).c: $(ERR).err
	$(PERL) $(TOP)/util/err-ins.pl $(ERR).err $(ERR).h
	$(PERL) err/err_genc.pl -s $(ERR).h $(ERRC).c

errgen:
	$(PERL) ./err/err_code.pl -conf err/ssleay.ec *.c */*.c ../ssl/*.c ../rsaref/*.c
	@for i in $(SDIRS) ;\
	do \
	(cd $$i; echo "making errors in crypto/$$i..."; \
	$(MAKE) errors ); \
	done;


# DO NOT DELETE THIS LINE -- make depend depends on it.

cpt_err.o: ../include/err.h ../include/stack.h crypto.h opensslv.h
cryptlib.o: ../include/bio.h ../include/buffer.h ../include/e_os.h
cryptlib.o: ../include/err.h ../include/stack.h cryptlib.h crypto.h date.h
cryptlib.o: opensslv.h
cversion.o: ../include/bio.h ../include/buffer.h ../include/e_os.h
cversion.o: ../include/err.h ../include/stack.h cryptlib.h crypto.h date.h
cversion.o: opensslv.h
ex_data.o: ../include/bio.h ../include/buffer.h ../include/e_os.h
ex_data.o: ../include/err.h ../include/lhash.h ../include/stack.h cryptlib.h
ex_data.o: crypto.h opensslv.h
mem.o: ../include/bio.h ../include/buffer.h ../include/e_os.h ../include/err.h
mem.o: ../include/lhash.h ../include/stack.h cryptlib.h crypto.h opensslv.h
tmdiff.o: ../include/bio.h ../include/buffer.h ../include/e_os.h
tmdiff.o: ../include/err.h ../include/stack.h cryptlib.h crypto.h opensslv.h
tmdiff.o: tmdiff.h
