Compile in gost engine.
[openssl.git] / engines / Makefile
index 8aa8fa691590a7cb40fb0f17dc747bf72bf6651c..9bd9f42ff416c5a242df7db7f0c5377f3d57141e 100644 (file)
@@ -1,5 +1,5 @@
 #
-# SSLeay/engines/Makefile
+# OpenSSL/engines/Makefile
 #
 
 DIR=   engines
@@ -7,16 +7,14 @@ TOP=  ..
 CC=    cc
 INCLUDES= -I../include
 CFLAG=-g
-INSTALL_PREFIX=
-OPENSSLDIR=     /usr/local/ssl
-INSTALLTOP=/usr/local/ssl
-PERL=           perl
-NEWMAKE=       make
-MAKE=          $(NEWMAKE)
-MAKEDEPPROG=   makedepend
-MAKEDEPEND=    $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
 MAKEFILE=      Makefile
 AR=            ar r
+EDIRS= ccgost
+
+RECURSIVE_MAKE=        [ -n "$(EDIRS)" ] && for i in $(EDIRS) ; do \
+                   (cd $$i && echo "making $$target in $(DIR)/$$i..." && \
+                   $(MAKE) -e TOP=../.. DIR=$$i $$target ) || exit 1; \
+               done;
 
 PEX_LIBS=
 EX_LIBS=
@@ -28,23 +26,23 @@ TEST=
 APPS=
 
 LIB=$(TOP)/libcrypto.a
-LIBNAMES= 4758_cca aep atalla cswift gmp ncipher nuron sureware ubsec
+LIBNAMES= 4758cca aep atalla cswift gmp chil nuron sureware ubsec
 
-LIBSRC=        e_4758_cca.c \
+LIBSRC=        e_4758cca.c \
        e_aep.c \
        e_atalla.c \
        e_cswift.c \
        e_gmp.c \
-       e_ncipher.c \
+       e_chil.c \
        e_nuron.c \
        e_sureware.c \
        e_ubsec.c
-LIBOBJ= e_4758_cca.o \
+LIBOBJ= e_4758cca.o \
        e_aep.o \
        e_atalla.o \
        e_cswift.o \
        e_gmp.o \
-       e_ncipher.o \
+       e_chil.o \
        e_nuron.o \
        e_sureware.o \
        e_ubsec.o
@@ -52,12 +50,12 @@ LIBOBJ= e_4758_cca.o \
 SRC= $(LIBSRC)
 
 EXHEADER= 
-HEADER=        e_4758_cca_err.c e_4758_cca_err.h \
+HEADER=        e_4758cca_err.c e_4758cca_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_chil_err.c e_chil_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
@@ -69,16 +67,13 @@ top:
 
 all:   lib
 
-lib:   $(LIBOBJ)
+lib:   $(LIBOBJ) subdirs
        @if [ -n "$(SHARED_LIBS)" ]; then \
                set -e; \
                for l in $(LIBNAMES); do \
-                       $(MAKE) -f ../Makefile.shared \
-                               CC="$(CC)" LIBNAME=$$l LIBEXTRAS=e_$$l.o \
+                       $(MAKE) -f ../Makefile.shared -e \
+                               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 \
@@ -87,23 +82,44 @@ lib:        $(LIBOBJ)
        fi; \
        touch lib
 
+subdirs:
+       echo $(EDIRS)
+       @target=all; $(RECURSIVE_MAKE)
+
 files:
        $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
+       @target=files; $(RECURSIVE_MAKE)
 
 links:
+       @target=links; $(RECURSIVE_MAKE)
 
 # XXXXX This currently only works on systems that use .so as suffix
-# for shared libraries.
+# for shared libraries as well as for Cygwin which uses the
+# dlfcn_name_converter and therefore stores the engines with .so suffix, too.
+# XXXXX This was extended to HP-UX dl targets, which use .sl suffix.
 install:
+       @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
        @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 ); \
+                         if [ "$(PLATFORM)" != "Cygwin" ]; then \
+                               case "$(CFLAGS)" in \
+                               *DSO_BEOS*)     sfx="so";;      \
+                               *DSO_DLFCN*)    sfx="so";;      \
+                               *DSO_DL*)       sfx="sl";;      \
+                               *)              sfx="bad";;     \
+                               esac; \
+                               cp lib$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
+                         else \
+                               sfx="so"; \
+                               cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
+                         fi; \
+                         chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
+                         mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx ); \
                done; \
        fi
+       @target=install; $(RECURSIVE_MAKE)
 
 tags:
        ctags $(SRC)
@@ -118,35 +134,42 @@ tests:
 
 lint:
        lint -DLINT $(INCLUDES) $(SRC)>fluff
+       @target=lint; $(RECURSIVE_MAKE)
 
 depend:
-       $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
+       @if [ -z "$(THIS)" ]; then \
+           $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; \
+       fi
+       @[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
+       @[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
 
 dclean:
        $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
        mv -f Makefile.new $(MAKEFILE)
+       @target=dclean; $(RECURSIVE_MAKE)
 
 clean:
        rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
+       @target=clean; $(RECURSIVE_MAKE)
 
 # 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_4758cca.o: ../include/openssl/asn1.h ../include/openssl/bio.h
+e_4758cca.o: ../include/openssl/bn.h ../include/openssl/buffer.h
+e_4758cca.o: ../include/openssl/crypto.h ../include/openssl/dso.h
+e_4758cca.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
+e_4758cca.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
+e_4758cca.o: ../include/openssl/engine.h ../include/openssl/err.h
+e_4758cca.o: ../include/openssl/evp.h ../include/openssl/lhash.h
+e_4758cca.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
+e_4758cca.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
+e_4758cca.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
+e_4758cca.o: ../include/openssl/rand.h ../include/openssl/rsa.h
+e_4758cca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
+e_4758cca.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
+e_4758cca.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
+e_4758cca.o: e_4758cca.c e_4758cca_err.c e_4758cca_err.h
+e_4758cca.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
@@ -169,6 +192,23 @@ 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_chil.o: ../include/openssl/asn1.h ../include/openssl/bio.h
+e_chil.o: ../include/openssl/bn.h ../include/openssl/buffer.h
+e_chil.o: ../include/openssl/crypto.h ../include/openssl/dh.h
+e_chil.o: ../include/openssl/dso.h ../include/openssl/e_os2.h
+e_chil.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
+e_chil.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
+e_chil.o: ../include/openssl/err.h ../include/openssl/evp.h
+e_chil.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
+e_chil.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
+e_chil.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
+e_chil.o: ../include/openssl/pem.h ../include/openssl/pem2.h
+e_chil.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
+e_chil.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
+e_chil.o: ../include/openssl/sha.h ../include/openssl/stack.h
+e_chil.o: ../include/openssl/symhacks.h ../include/openssl/ui.h
+e_chil.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h e_chil.c
+e_chil.o: e_chil_err.c e_chil_err.h vendor_defns/hwcryptohook.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
@@ -185,24 +225,6 @@ 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