#
# SSLeay/engines/Makefile
#

DIR=	engines
TOP=	..
CC=	cc
INCLUDES= -I../include
CFLAG=-g
INSTALL_PREFIX=
OPENSSLDIR=     /usr/local/ssl
INSTALLTOP=/usr/local/ssl
NEWMAKE=	make
MAKE=		$(NEWMAKE) -f Makefile.ssl
MAKEDEPPROG=	makedepend
MAKEDEPEND=	$(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
MAKEFILE=	Makefile.ssl
AR=		ar r

PEX_LIBS=
EX_LIBS=
 
CFLAGS= $(INCLUDES) $(CFLAG)

GENERAL=Makefile engines.com install.com engine_vector.mar
TEST=
APPS=

LIB=$(TOP)/libcrypto.a
LIBNAMES= 4758_cca aep atalla cswift gmp ncipher nuron sureware ubsec

LIBSRC=	e_4758_cca.c \
	e_aep.c \
	e_atalla.c \
	e_cswift.c \
	e_gmp.c \
	e_ncipher.c \
	e_nuron.c \
	e_sureware.c \
	e_ubsec.c
LIBOBJ= e_4758_cca.o \
	e_aep.o \
	e_atalla.o \
	e_cswift.o \
	e_gmp.o \
	e_ncipher.o \
	e_nuron.o \
	e_sureware.o \
	e_ubsec.o

SRC= $(LIBSRC)

EXHEADER= 
HEADER=	e_4758_cca_err.c e_4758_cca_err.h \
	e_aep_err.c e_aep_err.h \
	e_atalla_err.c e_atalla_err.h \
	e_cswift_err.c e_cswift_err.h \
	e_gmp_err.c e_gmp_err.h \
	e_ncipher_err.c e_ncipher_err.h \
	e_nuron_err.c e_nuron_err.h \
	e_sureware_err.c e_sureware_err.h \
	e_ubsec_err.c e_ubsec_err.h

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

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

all:	lib

lib:	$(LIBOBJ)
	@if [ -n "$(SHARED_LIBS)" ]; then \
		set -e; \
		for l in $(LIBNAMES); do \
			$(NEWMAKE) -f ../Makefile.shared \
				CC="$(CC)" LIBNAME=$$l LIBEXTRAS=e_$$l.o \
				LIBDEPS='-L.. -lcrypto $(EX_LIBS)' \
				CFLAG="$(CFLAG)" LDFLAGS="$(LDFLAGS)" \
				SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
				PLATFORM="$(PLATFORM)" \
				link_o.$(SHLIB_TARGET); \
		done; \
	else \
		$(AR) $(LIB) $(LIBOBJ); \
		$(RANLIB) $(LIB) || echo Never mind.; \
	fi; \
	touch lib

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

links:
	@$(TOP)/util/point.sh Makefile.ssl Makefile

# XXXXX This currently only works on systems that use .so as suffix
# for shared libraries.
install:
	@if [ -n "$(SHARED_LIBS)" ]; then \
		set -e; \
		for l in $(LIBNAMES); do \
			( echo installing $$l; \
			  cp lib$$l.so $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
			  chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new; \
			  mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.so ); \
		done; \
	fi

tags:
	ctags $(SRC)

errors:
	set -e; for l in $(LIBNAMES); do \
		$(PERL) ../util/mkerr.pl -conf e_$$l.ec \
			-nostatic -staticloader -write e_$$l.c; \
	done

tests:

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

depend:
	$(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)

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

clean:
	rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff

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

e_4758_cca.o: ../include/openssl/asn1.h ../include/openssl/bio.h
e_4758_cca.o: ../include/openssl/bn.h ../include/openssl/buffer.h
e_4758_cca.o: ../include/openssl/crypto.h ../include/openssl/dso.h
e_4758_cca.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
e_4758_cca.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
e_4758_cca.o: ../include/openssl/engine.h ../include/openssl/err.h
e_4758_cca.o: ../include/openssl/evp.h ../include/openssl/lhash.h
e_4758_cca.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
e_4758_cca.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
e_4758_cca.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
e_4758_cca.o: ../include/openssl/rand.h ../include/openssl/rsa.h
e_4758_cca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
e_4758_cca.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
e_4758_cca.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
e_4758_cca.o: e_4758_cca.c e_4758_cca_err.c e_4758_cca_err.h
e_4758_cca.o: vendor_defns/hw_4758_cca.h
e_aep.o: ../include/openssl/asn1.h ../include/openssl/bio.h
e_aep.o: ../include/openssl/bn.h ../include/openssl/buffer.h
e_aep.o: ../include/openssl/crypto.h ../include/openssl/dh.h
e_aep.o: ../include/openssl/dsa.h ../include/openssl/dso.h
e_aep.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
e_aep.o: ../include/openssl/err.h ../include/openssl/lhash.h
e_aep.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
e_aep.o: ../include/openssl/ossl_typ.h ../include/openssl/rsa.h
e_aep.o: ../include/openssl/safestack.h ../include/openssl/stack.h
e_aep.o: ../include/openssl/symhacks.h e_aep.c e_aep_err.c e_aep_err.h
e_aep.o: vendor_defns/aep.h
e_atalla.o: ../include/openssl/asn1.h ../include/openssl/bio.h
e_atalla.o: ../include/openssl/bn.h ../include/openssl/buffer.h
e_atalla.o: ../include/openssl/crypto.h ../include/openssl/dh.h
e_atalla.o: ../include/openssl/dsa.h ../include/openssl/dso.h
e_atalla.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
e_atalla.o: ../include/openssl/err.h ../include/openssl/lhash.h
e_atalla.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
e_atalla.o: ../include/openssl/ossl_typ.h ../include/openssl/rsa.h
e_atalla.o: ../include/openssl/safestack.h ../include/openssl/stack.h
e_atalla.o: ../include/openssl/symhacks.h e_atalla.c e_atalla_err.c
e_atalla.o: e_atalla_err.h vendor_defns/atalla.h
e_cswift.o: ../include/openssl/asn1.h ../include/openssl/bio.h
e_cswift.o: ../include/openssl/bn.h ../include/openssl/buffer.h
e_cswift.o: ../include/openssl/crypto.h ../include/openssl/dh.h
e_cswift.o: ../include/openssl/dsa.h ../include/openssl/dso.h
e_cswift.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
e_cswift.o: ../include/openssl/err.h ../include/openssl/lhash.h
e_cswift.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
e_cswift.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
e_cswift.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
e_cswift.o: ../include/openssl/stack.h ../include/openssl/symhacks.h e_cswift.c
e_cswift.o: e_cswift_err.c e_cswift_err.h vendor_defns/cswift.h
e_gmp.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
e_gmp.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
e_gmp.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
e_gmp.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
e_gmp.o: ../include/openssl/stack.h ../include/openssl/symhacks.h e_gmp.c
e_ncipher.o: ../include/openssl/asn1.h ../include/openssl/bio.h
e_ncipher.o: ../include/openssl/bn.h ../include/openssl/buffer.h
e_ncipher.o: ../include/openssl/crypto.h ../include/openssl/dh.h
e_ncipher.o: ../include/openssl/dso.h ../include/openssl/e_os2.h
e_ncipher.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
e_ncipher.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
e_ncipher.o: ../include/openssl/err.h ../include/openssl/evp.h
e_ncipher.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
e_ncipher.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
e_ncipher.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
e_ncipher.o: ../include/openssl/pem.h ../include/openssl/pem2.h
e_ncipher.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
e_ncipher.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
e_ncipher.o: ../include/openssl/sha.h ../include/openssl/stack.h
e_ncipher.o: ../include/openssl/symhacks.h ../include/openssl/ui.h
e_ncipher.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
e_ncipher.o: e_ncipher.c e_ncipher_err.c e_ncipher_err.h
e_ncipher.o: vendor_defns/hwcryptohook.h
e_nuron.o: ../include/openssl/asn1.h ../include/openssl/bio.h
e_nuron.o: ../include/openssl/bn.h ../include/openssl/buffer.h
e_nuron.o: ../include/openssl/crypto.h ../include/openssl/dh.h
e_nuron.o: ../include/openssl/dsa.h ../include/openssl/dso.h
e_nuron.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
e_nuron.o: ../include/openssl/err.h ../include/openssl/lhash.h
e_nuron.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
e_nuron.o: ../include/openssl/ossl_typ.h ../include/openssl/rsa.h
e_nuron.o: ../include/openssl/safestack.h ../include/openssl/stack.h
e_nuron.o: ../include/openssl/symhacks.h e_nuron.c e_nuron_err.c e_nuron_err.h
e_sureware.o: ../include/openssl/asn1.h ../include/openssl/bio.h
e_sureware.o: ../include/openssl/bn.h ../include/openssl/buffer.h
e_sureware.o: ../include/openssl/crypto.h ../include/openssl/dh.h
e_sureware.o: ../include/openssl/dsa.h ../include/openssl/dso.h
e_sureware.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
e_sureware.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
e_sureware.o: ../include/openssl/engine.h ../include/openssl/err.h
e_sureware.o: ../include/openssl/evp.h ../include/openssl/lhash.h
e_sureware.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
e_sureware.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
e_sureware.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
e_sureware.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
e_sureware.o: ../include/openssl/rand.h ../include/openssl/rsa.h
e_sureware.o: ../include/openssl/safestack.h ../include/openssl/sha.h
e_sureware.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
e_sureware.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
e_sureware.o: e_sureware.c e_sureware_err.c e_sureware_err.h
e_sureware.o: vendor_defns/sureware.h
e_ubsec.o: ../include/openssl/asn1.h ../include/openssl/bio.h
e_ubsec.o: ../include/openssl/bn.h ../include/openssl/buffer.h
e_ubsec.o: ../include/openssl/crypto.h ../include/openssl/dh.h
e_ubsec.o: ../include/openssl/dsa.h ../include/openssl/dso.h
e_ubsec.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
e_ubsec.o: ../include/openssl/err.h ../include/openssl/lhash.h
e_ubsec.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
e_ubsec.o: ../include/openssl/ossl_typ.h ../include/openssl/rsa.h
e_ubsec.o: ../include/openssl/safestack.h ../include/openssl/stack.h
e_ubsec.o: ../include/openssl/symhacks.h e_ubsec.c e_ubsec_err.c e_ubsec_err.h
e_ubsec.o: vendor_defns/hw_ubsec.h
