#
# SSLeay/apps/Makefile.ssl
#

DIR=		apps
TOP=		..
CC=		cc
INCLUDES=	-I../include
CFLAG=		-g -static
INSTALLTOP=	/usr/local/ssl
MAKE=		make -f Makefile.ssl
MAKEDEPEND=	makedepend -f Makefile.ssl
MAKEFILE=	Makefile.ssl
RM=		/bin/rm -f

PEX_LIBS=
EX_LIBS= 

CFLAGS= -DMONOLITH $(INCLUDES) $(CFLAG)

GENERAL=Makefile

DLIBCRYPTO=../libcrypto.a
DLIBSSL=../libssl.a
LIBCRYPTO=-L.. -lcrypto
LIBSSL=-L.. -lssl

SSLEAY= ssleay

SCRIPTS=CA.sh der_chop

EXE= $(SSLEAY)

E_EXE=	verify asn1pars req dgst dh enc gendh gendsa errstr ca crl \
	rsa dsa dsaparam \
	x509 genrsa s_server s_client speed \
	s_time version pkcs7 crl2pkcs7 sess_id ciphers

PROGS= $(SSLEAY).c

A_OBJ=apps.o
A_SRC=apps.c
S_OBJ=	s_cb.o s_socket.o
S_SRC=	s_cb.c s_socket.c

E_OBJ=	verify.o asn1pars.o req.o dgst.o dh.o enc.o gendh.o errstr.o ca.o \
	gendsa.o pkcs7.o crl2p7.o crl.o \
	rsa.o dsa.o dsaparam.o \
	x509.o genrsa.o s_server.o s_client.o speed.o \
	s_time.o $(A_OBJ) $(S_OBJ) version.o sess_id.o \
	ciphers.o

#	pem_mail.o

E_SRC=	verify.c asn1pars.c req.c dgst.c dh.c enc.c gendh.c errstr.c ca.c \
	gendsa.c pkcs7.c crl2p7.c crl.c \
	rsa.c dsa.c dsaparam.c \
	x509.c genrsa.c s_server.c s_client.c speed.c \
	s_time.c $(A_SRC) $(S_SRC) version.c sess_id.c \
	ciphers.c

#	pem_mail.c

SRC=$(E_SRC)

EXHEADER=
HEADER=	apps.h progs.h s_apps.h \
	testdsa.h testrsa.h \
	$(EXHEADER)

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

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

all:	exe

exe:	$(EXE)

req: sreq.o $(A_OBJ) $(DLIBCRYPTO)
	$(CC) -o req $(CFLAG) sreq.o $(A_OBJ) $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)

sreq.o: req.c 
	$(CC) -c $(INCLUDES) $(CFLAG) -o sreq.o req.c

files:
	perl $(TOP)/util/files.pl Makefile.ssl >> $(TOP)/MINFO

install: mklinks
	@for i in $(EXE) $(SCRIPTS) mklinks; \
	do  \
	(echo installing $$i; \
	 cp $$i $(INSTALLTOP)/bin/$$i; \
	 chmod 755 $(INSTALLTOP)/bin/$$i ); \
	 done; \
	cp ssleay.cnf $(INSTALLTOP)/lib
	chmod 644 $(INSTALLTOP)/lib/ssleay.cnf
	cd $(INSTALLTOP)/bin; \
	/bin/sh ./mklinks; \
	/bin/rm -f ./mklinks

tags:
	ctags $(SRC)

tests:

links:
	/bin/rm -f Makefile
	$(TOP)/util/point.sh Makefile.ssl Makefile ;

lint:
	lint -DLINT $(INCLUDES) $(SRC)>fluff

depend:
	$(MAKEDEPEND) $(INCLUDES) $(PROGS) $(SRC)

dclean:
	perl -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
	mv -f Makefile.new $(MAKEFILE)

errors:

clean:
	/bin/rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff $(EXE)
	/bin/rm -f req

$(DLIBSSL):
	(cd ../ssl; $(MAKE))

$(DLIBCRYPTO):
	(cd ../crypto; $(MAKE))

$(SSLEAY): progs.h $(E_OBJ) $(SSLEAY).o $(DLIBCRYPTO) $(DLIBSSL)
	$(RM) $(SSLEAY)
	$(CC) -o $(SSLEAY) $(CFLAGS) $(SSLEAY).o $(E_OBJ) $(PEX_LIBS) $(LIBSSL) $(LIBCRYPTO) $(EX_LIBS)

progs.h:
	perl ./g_ssleay.pl $(E_EXE) >progs.h
	$(RM) $(SSLEAY).o

mklinks:
	perl ./g_ssleay.pl $(E_EXE) >progs.h

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