2 # OpenSSL/engines/Makefile
5 #The following engines have been disabled as they currently do not build
11 INCLUDES= -I../include
17 RECURSIVE_MAKE= [ -z "$(ENGDIRS)" ] || for i in $(ENGDIRS) ; do \
18 (cd $$i && echo "making $$target in $(DIR)/$$i..." && \
19 $(MAKE) -e TOP=../.. DIR=$$i $$target ) || exit 1; \
27 CFLAGS= $(INCLUDES) $(CFLAG)
28 ASFLAGS= $(INCLUDES) $(ASFLAG)
31 GENERAL=Makefile engines.com install.com engine_vector.mar
33 LIB=$(TOP)/libcrypto.a
34 LIBNAMES= padlock capi dasync
45 TESTLIBNAMES= ossltest
46 TESTLIBSRC= e_ossltest.c
47 TESTLIBOBJ= e_ossltest.o
52 e_chil_err.c e_chil_err.h \
53 e_ubsec_err.c e_ubsec_err.h \
54 e_capi_err.c e_capi_err.h \
55 e_ossltest_err.c e_ossltest_err.h \
56 e_dasync_err.c e_dasync_err.h
58 ALL= $(GENERAL) $(SRC) $(HEADER)
61 (cd ..; $(MAKE) DIRS=$(DIR) all)
65 lib: $(LIBOBJ) $(TESTLIBOBJ)
66 @if [ -n "$(SHARED_LIBS)" ]; then \
68 for l in $(LIBNAMES) $(TESTLIBNAMES); do \
69 $(MAKE) -f ../Makefile.shared -e \
70 LIBNAME=$$l LIBEXTRAS="e_$$l*.o" \
71 LIBDEPS='-L.. -lcrypto $(EX_LIBS)' \
72 link_o.$(SHLIB_TARGET); \
75 $(AR) $(LIB) $(LIBOBJ); \
76 $(RANLIB) $(LIB) || echo Never mind.; \
80 e_padlock-x86.s: asm/e_padlock-x86.pl
81 $(PERL) asm/e_padlock-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
82 e_padlock-x86_64.s: asm/e_padlock-x86_64.pl
83 $(PERL) asm/e_padlock-x86_64.pl $(PERLASM_SCHEME) > $@
86 @target=all; $(RECURSIVE_MAKE)
89 $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
90 @target=files; $(RECURSIVE_MAKE)
92 # XXXXX This currently only works on systems that use .so as suffix
93 # for shared libraries as well as for Cygwin which uses the
94 # dlfcn_name_converter and therefore stores the engines with .so suffix, too.
95 # XXXXX This was extended to HP-UX dl targets, which use .sl suffix.
96 # XXXXX This was extended to mingw targets, which use eay32.dll suffix without lib as prefix.
98 @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
99 @if [ -n "$(SHARED_LIBS)" ]; then \
101 $(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines; \
102 for l in $(LIBNAMES); do \
103 ( echo installing $$l; \
105 if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \
107 cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
109 case "$(CFLAGS)" in \
110 *DSO_DLFCN*) sfx=`expr "$(SHLIB_EXT)" : '.*\(\.[a-z][a-z]*\)' \| ".so"`;; \
111 *DSO_DL*) sfx=".sl";; \
112 *DSO_WIN32*) sfx="eay32.dll"; pfx=;; \
115 cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
117 chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
118 mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
121 @target=install; $(RECURSIVE_MAKE)
124 set -e; for l in $(LIBNAMES); do \
125 $(PERL) ../util/mkerr.pl -conf e_$$l.ec \
126 -nostatic -staticloader -write e_$$l.c; \
128 (cd ccgost; $(MAKE) PERL=$(PERL) errors)
131 @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
132 @[ -z "$(THIS)" ] || (set -e; target=update; $(RECURSIVE_MAKE) )
135 @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
136 @[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
138 @[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) $(TESTLIBSRC)
141 rm -f *.s *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
142 @target=clean; $(RECURSIVE_MAKE)
144 # DO NOT DELETE THIS LINE -- make depend depends on it.