Avoid application relink on every make invocation.
[openssl.git] / engines / Makefile
1 #
2 # OpenSSL/engines/Makefile
3 #
4
5 DIR=    engines
6 TOP=    ..
7 CC=     cc
8 INCLUDES= -I../include
9 CFLAG=-g
10 MAKEFILE=       Makefile
11 AR=             ar r
12 EDIRS= ccgost
13
14 RECURSIVE_MAKE= [ -n "$(EDIRS)" ] && for i in $(EDIRS) ; do \
15                     (cd $$i && echo "making $$target in $(DIR)/$$i..." && \
16                     $(MAKE) -e TOP=../.. DIR=$$i $$target ) || exit 1; \
17                 done;
18
19 PEX_LIBS=
20 EX_LIBS=
21
22 CFLAGS= $(INCLUDES) $(CFLAG)
23
24 GENERAL=Makefile engines.com install.com engine_vector.mar
25 TEST=
26 APPS=
27
28 LIB=$(TOP)/libcrypto.a
29 LIBNAMES= 4758cca aep atalla cswift gmp chil nuron sureware ubsec
30
31 LIBSRC= e_4758cca.c \
32         e_aep.c \
33         e_atalla.c \
34         e_cswift.c \
35         e_gmp.c \
36         e_chil.c \
37         e_nuron.c \
38         e_sureware.c \
39         e_ubsec.c
40 LIBOBJ= e_4758cca.o \
41         e_aep.o \
42         e_atalla.o \
43         e_cswift.o \
44         e_gmp.o \
45         e_chil.o \
46         e_nuron.o \
47         e_sureware.o \
48         e_ubsec.o
49
50 SRC= $(LIBSRC)
51
52 EXHEADER= 
53 HEADER= e_4758cca_err.c e_4758cca_err.h \
54         e_aep_err.c e_aep_err.h \
55         e_atalla_err.c e_atalla_err.h \
56         e_cswift_err.c e_cswift_err.h \
57         e_gmp_err.c e_gmp_err.h \
58         e_chil_err.c e_chil_err.h \
59         e_nuron_err.c e_nuron_err.h \
60         e_sureware_err.c e_sureware_err.h \
61         e_ubsec_err.c e_ubsec_err.h
62
63 ALL=    $(GENERAL) $(SRC) $(HEADER)
64
65 top:
66         (cd ..; $(MAKE) DIRS=$(DIR) all)
67
68 all:    lib subdirs
69
70 lib:    $(LIBOBJ)
71         @if [ -n "$(SHARED_LIBS)" ]; then \
72                 set -e; \
73                 for l in $(LIBNAMES); do \
74                         $(MAKE) -f ../Makefile.shared -e \
75                                 LIBNAME=$$l LIBEXTRAS=e_$$l.o \
76                                 LIBDEPS='-L.. -lcrypto $(EX_LIBS)' \
77                                 link_o.$(SHLIB_TARGET); \
78                 done; \
79         else \
80                 $(AR) $(LIB) $(LIBOBJ); \
81                 $(RANLIB) $(LIB) || echo Never mind.; \
82         fi; \
83         touch lib
84
85 subdirs:
86         echo $(EDIRS)
87         @target=all; $(RECURSIVE_MAKE)
88
89 files:
90         $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
91         @target=files; $(RECURSIVE_MAKE)
92
93 links:
94         @target=links; $(RECURSIVE_MAKE)
95
96 # XXXXX This currently only works on systems that use .so as suffix
97 # for shared libraries as well as for Cygwin which uses the
98 # dlfcn_name_converter and therefore stores the engines with .so suffix, too.
99 # XXXXX This was extended to HP-UX dl targets, which use .sl suffix.
100 install:
101         @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
102         @if [ -n "$(SHARED_LIBS)" ]; then \
103                 set -e; \
104                 for l in $(LIBNAMES); do \
105                         ( echo installing $$l; \
106                           if [ "$(PLATFORM)" != "Cygwin" ]; then \
107                                 case "$(CFLAGS)" in \
108                                 *DSO_BEOS*)     sfx="so";;      \
109                                 *DSO_DLFCN*)    sfx="so";;      \
110                                 *DSO_DL*)       sfx="sl";;      \
111                                 *)              sfx="bad";;     \
112                                 esac; \
113                                 cp lib$$l.$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
114                           else \
115                                 sfx="so"; \
116                                 cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
117                           fi; \
118                           chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new; \
119                           mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/lib/engines/lib$$l.$$sfx ); \
120                 done; \
121         fi
122         @target=install; $(RECURSIVE_MAKE)
123
124 tags:
125         ctags $(SRC)
126
127 errors:
128         set -e; for l in $(LIBNAMES); do \
129                 $(PERL) ../util/mkerr.pl -conf e_$$l.ec \
130                         -nostatic -staticloader -write e_$$l.c; \
131         done
132
133 tests:
134
135 lint:
136         lint -DLINT $(INCLUDES) $(SRC)>fluff
137         @target=lint; $(RECURSIVE_MAKE)
138
139 depend:
140         @if [ -z "$(THIS)" ]; then \
141             $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; \
142         fi
143         @[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(LIBSRC)
144         @[ -z "$(THIS)" ] || (set -e; target=depend; $(RECURSIVE_MAKE) )
145
146 dclean:
147         $(PERL) -pe 'if (/^# DO NOT DELETE THIS LINE/) {print; exit(0);}' $(MAKEFILE) >Makefile.new
148         mv -f Makefile.new $(MAKEFILE)
149         @target=dclean; $(RECURSIVE_MAKE)
150
151 clean:
152         rm -f *.o *.obj lib tags core .pure .nfs* *.old *.bak fluff
153         @target=clean; $(RECURSIVE_MAKE)
154
155 # DO NOT DELETE THIS LINE -- make depend depends on it.
156
157 e_4758cca.o: ../include/openssl/asn1.h ../include/openssl/bio.h
158 e_4758cca.o: ../include/openssl/bn.h ../include/openssl/buffer.h
159 e_4758cca.o: ../include/openssl/crypto.h ../include/openssl/dso.h
160 e_4758cca.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
161 e_4758cca.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
162 e_4758cca.o: ../include/openssl/engine.h ../include/openssl/err.h
163 e_4758cca.o: ../include/openssl/evp.h ../include/openssl/lhash.h
164 e_4758cca.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
165 e_4758cca.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
166 e_4758cca.o: ../include/openssl/ossl_typ.h ../include/openssl/pkcs7.h
167 e_4758cca.o: ../include/openssl/rand.h ../include/openssl/rsa.h
168 e_4758cca.o: ../include/openssl/safestack.h ../include/openssl/sha.h
169 e_4758cca.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
170 e_4758cca.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
171 e_4758cca.o: e_4758cca.c e_4758cca_err.c e_4758cca_err.h
172 e_4758cca.o: vendor_defns/hw_4758_cca.h
173 e_aep.o: ../include/openssl/asn1.h ../include/openssl/bio.h
174 e_aep.o: ../include/openssl/bn.h ../include/openssl/buffer.h
175 e_aep.o: ../include/openssl/crypto.h ../include/openssl/dh.h
176 e_aep.o: ../include/openssl/dsa.h ../include/openssl/dso.h
177 e_aep.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
178 e_aep.o: ../include/openssl/err.h ../include/openssl/lhash.h
179 e_aep.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
180 e_aep.o: ../include/openssl/ossl_typ.h ../include/openssl/rsa.h
181 e_aep.o: ../include/openssl/safestack.h ../include/openssl/stack.h
182 e_aep.o: ../include/openssl/symhacks.h e_aep.c e_aep_err.c e_aep_err.h
183 e_aep.o: vendor_defns/aep.h
184 e_atalla.o: ../include/openssl/asn1.h ../include/openssl/bio.h
185 e_atalla.o: ../include/openssl/bn.h ../include/openssl/buffer.h
186 e_atalla.o: ../include/openssl/crypto.h ../include/openssl/dh.h
187 e_atalla.o: ../include/openssl/dsa.h ../include/openssl/dso.h
188 e_atalla.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
189 e_atalla.o: ../include/openssl/err.h ../include/openssl/lhash.h
190 e_atalla.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
191 e_atalla.o: ../include/openssl/ossl_typ.h ../include/openssl/rsa.h
192 e_atalla.o: ../include/openssl/safestack.h ../include/openssl/stack.h
193 e_atalla.o: ../include/openssl/symhacks.h e_atalla.c e_atalla_err.c
194 e_atalla.o: e_atalla_err.h vendor_defns/atalla.h
195 e_chil.o: ../include/openssl/asn1.h ../include/openssl/bio.h
196 e_chil.o: ../include/openssl/bn.h ../include/openssl/buffer.h
197 e_chil.o: ../include/openssl/crypto.h ../include/openssl/dh.h
198 e_chil.o: ../include/openssl/dso.h ../include/openssl/e_os2.h
199 e_chil.o: ../include/openssl/ec.h ../include/openssl/ecdh.h
200 e_chil.o: ../include/openssl/ecdsa.h ../include/openssl/engine.h
201 e_chil.o: ../include/openssl/err.h ../include/openssl/evp.h
202 e_chil.o: ../include/openssl/lhash.h ../include/openssl/obj_mac.h
203 e_chil.o: ../include/openssl/objects.h ../include/openssl/opensslconf.h
204 e_chil.o: ../include/openssl/opensslv.h ../include/openssl/ossl_typ.h
205 e_chil.o: ../include/openssl/pem.h ../include/openssl/pem2.h
206 e_chil.o: ../include/openssl/pkcs7.h ../include/openssl/rand.h
207 e_chil.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
208 e_chil.o: ../include/openssl/sha.h ../include/openssl/stack.h
209 e_chil.o: ../include/openssl/symhacks.h ../include/openssl/ui.h
210 e_chil.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h e_chil.c
211 e_chil.o: e_chil_err.c e_chil_err.h vendor_defns/hwcryptohook.h
212 e_cswift.o: ../include/openssl/asn1.h ../include/openssl/bio.h
213 e_cswift.o: ../include/openssl/bn.h ../include/openssl/buffer.h
214 e_cswift.o: ../include/openssl/crypto.h ../include/openssl/dh.h
215 e_cswift.o: ../include/openssl/dsa.h ../include/openssl/dso.h
216 e_cswift.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
217 e_cswift.o: ../include/openssl/err.h ../include/openssl/lhash.h
218 e_cswift.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
219 e_cswift.o: ../include/openssl/ossl_typ.h ../include/openssl/rand.h
220 e_cswift.o: ../include/openssl/rsa.h ../include/openssl/safestack.h
221 e_cswift.o: ../include/openssl/stack.h ../include/openssl/symhacks.h e_cswift.c
222 e_cswift.o: e_cswift_err.c e_cswift_err.h vendor_defns/cswift.h
223 e_gmp.o: ../include/openssl/buffer.h ../include/openssl/crypto.h
224 e_gmp.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
225 e_gmp.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
226 e_gmp.o: ../include/openssl/ossl_typ.h ../include/openssl/safestack.h
227 e_gmp.o: ../include/openssl/stack.h ../include/openssl/symhacks.h e_gmp.c
228 e_nuron.o: ../include/openssl/asn1.h ../include/openssl/bio.h
229 e_nuron.o: ../include/openssl/bn.h ../include/openssl/buffer.h
230 e_nuron.o: ../include/openssl/crypto.h ../include/openssl/dh.h
231 e_nuron.o: ../include/openssl/dsa.h ../include/openssl/dso.h
232 e_nuron.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
233 e_nuron.o: ../include/openssl/err.h ../include/openssl/lhash.h
234 e_nuron.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
235 e_nuron.o: ../include/openssl/ossl_typ.h ../include/openssl/rsa.h
236 e_nuron.o: ../include/openssl/safestack.h ../include/openssl/stack.h
237 e_nuron.o: ../include/openssl/symhacks.h e_nuron.c e_nuron_err.c e_nuron_err.h
238 e_sureware.o: ../include/openssl/asn1.h ../include/openssl/bio.h
239 e_sureware.o: ../include/openssl/bn.h ../include/openssl/buffer.h
240 e_sureware.o: ../include/openssl/crypto.h ../include/openssl/dh.h
241 e_sureware.o: ../include/openssl/dsa.h ../include/openssl/dso.h
242 e_sureware.o: ../include/openssl/e_os2.h ../include/openssl/ec.h
243 e_sureware.o: ../include/openssl/ecdh.h ../include/openssl/ecdsa.h
244 e_sureware.o: ../include/openssl/engine.h ../include/openssl/err.h
245 e_sureware.o: ../include/openssl/evp.h ../include/openssl/lhash.h
246 e_sureware.o: ../include/openssl/obj_mac.h ../include/openssl/objects.h
247 e_sureware.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
248 e_sureware.o: ../include/openssl/ossl_typ.h ../include/openssl/pem.h
249 e_sureware.o: ../include/openssl/pem2.h ../include/openssl/pkcs7.h
250 e_sureware.o: ../include/openssl/rand.h ../include/openssl/rsa.h
251 e_sureware.o: ../include/openssl/safestack.h ../include/openssl/sha.h
252 e_sureware.o: ../include/openssl/stack.h ../include/openssl/symhacks.h
253 e_sureware.o: ../include/openssl/x509.h ../include/openssl/x509_vfy.h
254 e_sureware.o: e_sureware.c e_sureware_err.c e_sureware_err.h
255 e_sureware.o: vendor_defns/sureware.h
256 e_ubsec.o: ../include/openssl/asn1.h ../include/openssl/bio.h
257 e_ubsec.o: ../include/openssl/bn.h ../include/openssl/buffer.h
258 e_ubsec.o: ../include/openssl/crypto.h ../include/openssl/dh.h
259 e_ubsec.o: ../include/openssl/dsa.h ../include/openssl/dso.h
260 e_ubsec.o: ../include/openssl/e_os2.h ../include/openssl/engine.h
261 e_ubsec.o: ../include/openssl/err.h ../include/openssl/lhash.h
262 e_ubsec.o: ../include/openssl/opensslconf.h ../include/openssl/opensslv.h
263 e_ubsec.o: ../include/openssl/ossl_typ.h ../include/openssl/rsa.h
264 e_ubsec.o: ../include/openssl/safestack.h ../include/openssl/stack.h
265 e_ubsec.o: ../include/openssl/symhacks.h e_ubsec.c e_ubsec_err.c e_ubsec_err.h
266 e_ubsec.o: vendor_defns/hw_ubsec.h