Have 'make clean' clean away the log files.
[openssl.git] / engines / Makefile
1 #
2 # OpenSSL/engines/Makefile
3 #
4
5 #The following engines have been disabled as they currently do not build
6 # aep atalla cswift chil nuron sureware ubsec
7
8 DIR=    engines
9 TOP=    ..
10 CC=     cc
11 INCLUDES= -I../include
12 CFLAG=-g
13 MAKEFILE=       Makefile
14 AR=             ar r
15 ENGDIRS= ccgost
16
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; \
20                 done;
21
22 ENGINES_ASM_OBJ=
23
24 PEX_LIBS=
25 EX_LIBS=
26
27 CFLAGS= $(INCLUDES) $(CFLAG)
28 ASFLAGS= $(INCLUDES) $(ASFLAG)
29 AFLAGS= $(ASFLAGS)
30
31 GENERAL=Makefile engines.com install.com engine_vector.mar
32
33 LIB=$(TOP)/libcrypto.a
34 LIBNAMES= 4758cca gmp padlock capi
35 LIBSRC= e_4758cca.c \
36         e_gmp.c \
37         e_padlock.c \
38         e_capi.c
39 LIBOBJ= e_4758cca.o \
40         e_gmp.o \
41         e_padlock.o \
42         e_capi.o \
43         $(ENGINES_ASM_OBJ)
44
45 TESTLIBNAMES= ossltest
46 TESTLIBSRC= e_ossltest.c
47 TESTLIBOBJ= e_ossltest.o
48
49 SRC= $(LIBSRC)
50
51 HEADER= e_4758cca_err.c e_4758cca_err.h \
52         e_gmp_err.c e_gmp_err.h \
53         e_chil_err.c e_chil_err.h \
54         e_nuron_err.c e_nuron_err.h \
55         e_sureware_err.c e_sureware_err.h \
56         e_ubsec_err.c e_ubsec_err.h \
57         e_capi_err.c e_capi_err.h \
58         e_ossltest_err.c e_ossltest_err.h
59
60 ALL=    $(GENERAL) $(SRC) $(HEADER)
61
62 top:
63         (cd ..; $(MAKE) DIRS=$(DIR) all)
64
65 all:    lib subdirs
66
67 lib:    $(LIBOBJ) $(TESTLIBOBJ)
68         @if [ -n "$(SHARED_LIBS)" ]; then \
69                 set -e; \
70                 for l in $(LIBNAMES) $(TESTLIBNAMES); do \
71                         $(MAKE) -f ../Makefile.shared -e \
72                                 LIBNAME=$$l LIBEXTRAS="e_$$l*.o" \
73                                 LIBDEPS='-L.. -lcrypto $(EX_LIBS)' \
74                                 link_o.$(SHLIB_TARGET); \
75                 done; \
76         else \
77                 $(AR) $(LIB) $(LIBOBJ); \
78                 $(RANLIB) $(LIB) || echo Never mind.; \
79         fi; \
80         touch lib
81
82 e_padlock-x86.s:        asm/e_padlock-x86.pl
83         $(PERL) asm/e_padlock-x86.pl $(PERLASM_SCHEME) $(CFLAGS) $(PROCESSOR) > $@
84 e_padlock-x86_64.s:     asm/e_padlock-x86_64.pl
85         $(PERL) asm/e_padlock-x86_64.pl $(PERLASM_SCHEME) > $@
86
87 subdirs:
88         @target=all; $(RECURSIVE_MAKE)
89
90 files:
91         $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
92         @target=files; $(RECURSIVE_MAKE)
93
94 # XXXXX This currently only works on systems that use .so as suffix
95 # for shared libraries as well as for Cygwin which uses the
96 # dlfcn_name_converter and therefore stores the engines with .so suffix, too.
97 # XXXXX This was extended to HP-UX dl targets, which use .sl suffix.
98 # XXXXX This was extended to mingw targets, which use eay32.dll suffix without lib as prefix.
99 install:
100         @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
101         @if [ -n "$(SHARED_LIBS)" ]; then \
102                 set -e; \
103                 $(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines; \
104                 for l in $(LIBNAMES); do \
105                         ( echo installing $$l; \
106                           pfx=lib; \
107                           if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \
108                                 sfx=".so"; \
109                                 cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
110                           else \
111                                 case "$(CFLAGS)" in \
112                                 *DSO_DLFCN*)    sfx=`expr "$(SHLIB_EXT)" : '.*\(\.[a-z][a-z]*\)' \| ".so"`;;    \
113                                 *DSO_DL*)       sfx=".sl";;     \
114                                 *DSO_WIN32*)    sfx="eay32.dll"; pfx=;; \
115                                 *)              sfx=".bad";;    \
116                                 esac; \
117                                 cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
118                           fi; \
119                           chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
120                           mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
121                 done; \
122         fi
123         @target=install; $(RECURSIVE_MAKE)
124
125 tags:
126         ctags $(SRC)
127
128 errors:
129         set -e; for l in $(LIBNAMES); do \
130                 $(PERL) ../util/mkerr.pl -conf e_$$l.ec \
131                         -nostatic -staticloader -write e_$$l.c; \
132         done
133         (cd ccgost; $(MAKE) PERL=$(PERL) errors)
134
135 tests:
136
137 lint:
138         lint -DLINT $(INCLUDES) $(SRC)>fluff
139         @target=lint; $(RECURSIVE_MAKE)
140
141 update: local_depend
142         @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
143         @[ -z "$(THIS)" ] || (set -e; target=update; $(RECURSIVE_MAKE) )
144
145 depend: local_depend
146         @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
147         @[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
148 local_depend:
149         @[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC) $(TESTLIBSRC)
150
151 dclean:
152         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
153         mv -f Makefile.new $(MAKEFILE)
154         @target=dclean; $(RECURSIVE_MAKE)
155
156 clean:
157         rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
158         @target=clean; $(RECURSIVE_MAKE)
159
160 # DO NOT DELETE THIS LINE -- make depend depends on it.
161
162 e_4758cca.o: ../include/openssl/asn1.h ../include/openssl/bio.h
163 e_4758cca.o: ../include/openssl/bn.h ../include/openssl/buffer.h
164 e_4758cca.o: ../include/openssl/crypto.h ../include/openssl/dso.h
165 e_4758cca.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
166 e_4758cca.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
167 e_4758cca.o: ../include/openssl/engine.h ../include/openssl/err.h
168 e_4758cca.o: ../include/openssl/evp.h ../include/openssl/lhash.h
169 e_4758cca.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
170 e_4758cca.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
171 e_4758cca.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
172 e_4758cca.o: ../include/openssl/rand.h ../include/openssl/rsa.h
173 e_4758cca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
174 e_4758cca.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
175 e_4758cca.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
176 e_4758cca.o: e_4758cca.c e_4758cca_err.c e_4758cca_err.h
177 e_4758cca.o: vendor_defns/hw_4758_cca.h
178 e_capi.o: ../include/openssl/asn1.h ../include/openssl/bio.h
179 e_capi.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
180 e_capi.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
181 e_capi.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
182 e_capi.o: ../include/openssl/engine.h ../include/openssl/evp.h
183 e_capi.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
184 e_capi.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
185 e_capi.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
186 e_capi.o: ../include/openssl/pkcs7.h ../include/openssl/safestack.h
187 e_capi.o: ../include/openssl/sha.h ../include/openssl/stack.h
188 e_capi.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
189 e_capi.o: ../include/openssl/x509_vfy.h e_capi.c
190 e_gmp.o: ../include/openssl/asn1.h ../include/openssl/bio.h
191 e_gmp.o: ../include/openssl/bn.h ../include/openssl/buffer.h
192 e_gmp.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
193 e_gmp.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
194 e_gmp.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
195 e_gmp.o: ../include/openssl/evp.h ../include/openssl/lhash.h
196 e_gmp.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
197 e_gmp.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
198 e_gmp.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
199 e_gmp.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
200 e_gmp.o: ../include/openssl/sha.h ../include/openssl/stack.h
201 e_gmp.o: ../include/openssl/symhacks.h ../include/openssl/x509.h
202 e_gmp.o: ../include/openssl/x509_vfy.h e_gmp.c
203 e_ossltest.o: ../include/openssl/aes.h ../include/openssl/asn1.h
204 e_ossltest.o: ../include/openssl/bio.h ../include/openssl/buffer.h
205 e_ossltest.o: ../include/openssl/crypto.h ../include/openssl/e_os2.h
206 e_ossltest.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
207 e_ossltest.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
208 e_ossltest.o: ../include/openssl/err.h ../include/openssl/evp.h
209 e_ossltest.o: ../include/openssl/lhash.h ../include/openssl/md5.h
210 e_ossltest.o: ../include/openssl/modes.h ../include/openssl/obj_mac.h
211 e_ossltest.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
212 e_ossltest.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
213 e_ossltest.o: ../include/openssl/pkcs7.h ../include/openssl/rsa.h
214 e_ossltest.o: ../include/openssl/safestack.h ../include/openssl/sha.h
215 e_ossltest.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
216 e_ossltest.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
217 e_ossltest.o: e_ossltest.c e_ossltest_err.c e_ossltest_err.h
218 e_padlock.o: ../include/openssl/aes.h ../include/openssl/asn1.h
219 e_padlock.o: ../include/openssl/bio.h ../include/openssl/buffer.h
220 e_padlock.o: ../include/openssl/crypto.h ../include/openssl/dso.h
221 e_padlock.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
222 e_padlock.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
223 e_padlock.o: ../include/openssl/engine.h ../include/openssl/err.h
224 e_padlock.o: ../include/openssl/evp.h ../include/openssl/lhash.h
225 e_padlock.o: ../include/openssl/modes.h ../include/openssl/obj_mac.h
226 e_padlock.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
227 e_padlock.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
228 e_padlock.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
229 e_padlock.o: ../include/openssl/safestack.h ../include/openssl/sha.h
230 e_padlock.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
231 e_padlock.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
232 e_padlock.o: e_padlock.c