Don't define OPENSSL_ENGINES in test recipes, do it in Makefiles instead
[openssl.git] / test / Makefile.in
1 #
2 # test/Makefile
3 #
4
5 DIR=            test
6 TOP=            ..
7 CC=             cc
8 INCLUDES=       -I$(TOP) -I../include -I../crypto/include -I$(TOP)/fips
9 CFLAG=          -g
10 MAKEDEPEND=     $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
11 PERL=           perl
12
13 PLIB_LDFLAG=
14 EX_LIBS= #-lnsl -lsocket
15
16 CFLAGS= $(INCLUDES) $(CFLAG)
17 LDFLAGS= $(CFLAGS) $(LDFLAG)
18
19 GENERAL=Makefile maketests.com \
20         tests.com testenc.com tx509.com trsa.com tcrl.com tsid.com treq.com \
21         tpkcs7.com tpkcs7d.com tverify.com testgen.com testss.com testssl.com \
22         testca.com VMSca-response.1 VMSca-response.2
23
24 DLIBCRYPTO= ../libcrypto.a
25 DLIBSSL= ../libssl.a
26 LIBCRYPTO= -L.. -lcrypto
27 LIBSSL= -L.. -lssl
28 LIBFIPS= -L.. -lfips
29
30 # Prefix for logline for each test
31 START= @@@ START
32
33 NPTEST=         nptest
34 MEMLEAKTEST=    memleaktest
35 BNTEST=         bntest
36 ECTEST=         ectest
37 ECDSATEST=      ecdsatest
38 ECDHTEST=       ecdhtest
39 EXPTEST=        exptest
40 GMDIFFTEST=     gmdifftest
41 PBELUTEST=      pbelutest
42 IDEATEST=       ideatest
43 SHA1TEST=       sha1test
44 SHA256TEST=     sha256t
45 SHA512TEST=     sha512t
46 MDC2TEST=       mdc2test
47 RMDTEST=        rmdtest
48 MD2TEST=        md2test
49 MD4TEST=        md4test
50 MD5TEST=        md5test
51 HMACTEST=       hmactest
52 WPTEST=         wp_test
53 RC2TEST=        rc2test
54 RC4TEST=        rc4test
55 RC5TEST=        rc5test
56 BFTEST=         bftest
57 CASTTEST=       casttest
58 DESTEST=        destest
59 RANDTEST=       randtest
60 DHTEST=         dhtest
61 DSATEST=        dsatest
62 SSLTEST=        ssltest
63 DANETEST=       danetest
64 RSATEST=        rsa_test
65 ENGINETEST=     enginetest
66 EVPTEST=        evp_test
67 EVPEXTRATEST=evp_extra_test
68 P5_CRPT2_TEST=  p5_crpt2_test
69 IGETEST=        igetest
70 SECMEMTEST=     secmemtest
71 SRPTEST=        srptest
72 V3NAMETEST=     v3nametest
73 HEARTBEATTEST=  heartbeat_test
74 CONSTTIMETEST=  constant_time_test
75 VERIFYEXTRATEST=        verify_extra_test
76 CLIENTHELLOTEST=        clienthellotest
77 PACKETTEST=     packettest
78 SSLVERTOLTEST=  sslvertoltest
79 SSLEXTENSIONTEST=       sslextensiontest
80 SSLSESSIONTICKTEST=     sslsessionticktest
81 SSLSKEWITH0PTEST=       sslskewith0ptest
82 ASYNCTEST=      asynctest
83 DTLSV1LISTENTEST = dtlsv1listentest
84 CTTEST= ct_test
85 THREADSTEST=    threadstest
86 AFALGTEST= afalgtest
87
88 TESTS=          alltests
89
90 EXE=    $(NPTEST)$(EXE_EXT) $(MEMLEAKTEST)$(EXE_EXT) \
91         $(BNTEST)$(EXE_EXT) $(ECTEST)$(EXE_EXT) \
92         $(ECDSATEST)$(EXE_EXT) $(ECDHTEST)$(EXE_EXT) $(GMDIFFTEST)$(EXE_EXT) \
93         $(PBELUTEST)$(EXE_EXT) $(IDEATEST)$(EXE_EXT) \
94         $(MD2TEST)$(EXE_EXT)  $(MD4TEST)$(EXE_EXT) $(MD5TEST)$(EXE_EXT) $(HMACTEST)$(EXE_EXT) $(WPTEST)$(EXE_EXT) \
95         $(RC2TEST)$(EXE_EXT) $(RC4TEST)$(EXE_EXT) $(RC5TEST)$(EXE_EXT) \
96         $(DESTEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT) \
97         $(MDC2TEST)$(EXE_EXT) $(RMDTEST)$(EXE_EXT) \
98         $(RANDTEST)$(EXE_EXT) $(DHTEST)$(EXE_EXT) $(ENGINETEST)$(EXE_EXT) \
99         $(DANETEST)$(EXE_EXT) \
100         $(BFTEST)$(EXE_EXT) $(CASTTEST)$(EXE_EXT) $(SSLTEST)$(EXE_EXT) \
101         $(EXPTEST)$(EXE_EXT) $(DSATEST)$(EXE_EXT) $(RSATEST)$(EXE_EXT) \
102         $(EVPTEST)$(EXE_EXT) $(EVPEXTRATEST)$(EXE_EXT) $(IGETEST)$(EXE_EXT) \
103         $(SECMEMTEST)$(EXE_EXT) \
104         $(SRPTEST)$(EXE_EXT) $(V3NAMETEST)$(EXE_EXT) \
105         $(HEARTBEATTEST)$(EXE_EXT) $(P5_CRPT2_TEST)$(EXE_EXT) \
106         $(CONSTTIMETEST)$(EXE_EXT) $(VERIFYEXTRATEST)$(EXE_EXT) \
107         $(CLIENTHELLOTEST)$(EXE_EXT) $(PACKETTEST)$(EXE_EXT) $(ASYNCTEST)$(EXE_EXT) \
108         $(DTLSV1LISTENTEST)$(EXE_EXT) $(CTTEST)$(EXE_EXT) $(THREADSTEST)$(EXE_EXT) \
109         $(AFALGTEST)$(EXE_EXT)
110
111 # $(METHTEST)$(EXE_EXT)
112
113 OBJ=    $(NPTEST).o $(MEMLEAKTEST).o \
114         $(BNTEST).o $(ECTEST).o \
115         $(ECDSATEST).o $(ECDHTEST).o $(GMDIFFTEST).o $(PBELUTEST).o $(IDEATEST).o \
116         $(MD2TEST).o $(MD4TEST).o $(MD5TEST).o \
117         $(HMACTEST).o $(WPTEST).o \
118         $(RC2TEST).o $(RC4TEST).o $(RC5TEST).o \
119         $(DESTEST).o $(SHA1TEST).o $(SHA256TEST).o $(SHA512TEST).o \
120         $(MDC2TEST).o $(RMDTEST).o $(DANETEST).o \
121         $(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \
122         $(BFTEST).o  $(SSLTEST).o  $(DSATEST).o  $(EXPTEST).o $(RSATEST).o \
123         $(EVPTEST).o $(EVPEXTRATEST).o $(IGETEST).o $(V3NAMETEST).o \
124         $(HEARTBEATTEST).o $(P5_CRPT2_TEST).o \
125         $(CONSTTIMETEST).o $(VERIFYEXTRATEST).o $(CLIENTHELLOTEST).o \
126         $(PACKETTEST).o $(ASYNCTEST).o $(DTLSV1LISTENTEST).o $(CTTEST).o \
127         $(THREADSTEST).o testutil.o $(AFALGTEST).o
128
129 SRC=    $(NPTEST).c $(MEMLEAKTEST).c \
130         $(BNTEST).c $(ECTEST).c \
131         $(ECDSATEST).c $(ECDHTEST).c $(GMDIFFTEST).c $(PBELUTEST).c $(IDEATEST).c \
132         $(MD2TEST).c  $(MD4TEST).c $(MD5TEST).c \
133         $(HMACTEST).c $(WPTEST).c \
134         $(RC2TEST).c $(RC4TEST).c $(RC5TEST).c $(DANETEST).c \
135         $(DESTEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \
136         $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c $(CASTTEST).c \
137         $(BFTEST).c  $(SSLTEST).c $(DSATEST).c   $(EXPTEST).c $(RSATEST).c \
138         $(EVPTEST).c $(EVPEXTRATEST).c $(IGETEST).c $(V3NAMETEST).c \
139         $(HEARTBEATTEST).c $(P5_CRPT2_TEST).c \
140         $(CONSTTIMETEST).c $(VERIFYEXTRATEST).c $(CLIENTHELLOTEST).c \
141         $(PACKETTEST).c $(ASYNCTEST).c $(DTLSV1LISTENTEST).c $(CTTEST).c \
142         $(THREADSTEST).c testutil.c $(AFALGTEST).c
143
144 HEADER= testutil.h
145
146 ALL=    $(GENERAL) $(SRC) $(HEADER)
147
148 top:
149         (cd ..; $(MAKE) DIRS=$(DIR) TESTS=$(TESTS) all)
150
151 all:    exe
152
153 exe:    $(EXE) dummytest$(EXE_EXT)
154
155 files:
156         $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
157
158 generate: $(SRC)
159 $(SRC):
160         @sh $(TOP)/util/point.sh dummytest.c $@
161
162 tests: exe apps
163         OPENSSL_ENGINES=../engines TOP=$(TOP) PERL=$(PERL) \
164                 $(PERL) run_tests.pl $(TESTS)
165
166 errors:
167
168 list-tests:
169         @TOP=$(TOP) PERL=$(PERL) $(PERL) run_tests.pl list
170
171 apps:
172         @(cd ..; $(MAKE) DIRS=apps all)
173
174 depend:
175         $(TOP)/util/domd $(CFLAG) $(INCLUDES) -- $(PROGS) $(SRC)
176
177 clean:
178         rm -f .rnd tmp.bntest tmp.bctest *.o *.obj *.dll lib tags core .pure .nfs* *.old *.bak fluff $(EXE) *.ss *.srl log *.log dummytest
179
180 $(DLIBSSL):
181         (cd ..; $(MAKE) build_libssl)
182
183 $(DLIBCRYPTO):
184         (cd ..; $(MAKE) build_libcrypto)
185
186 BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
187                 shlib_target="$(SHLIB_TARGET)"; \
188         fi; \
189         LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \
190         $(MAKE) -f $(TOP)/Makefile.shared -e \
191                 APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o $$testutil" \
192                 LDFLAG="$(LDFLAG)" \
193                 LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \
194                 link_app.$${shlib_target}
195
196 BUILD_CMD_STATIC=shlib_target=; \
197         LIBRARIES="$(DLIBSSL) $(DLIBCRYPTO)"; \
198         $(MAKE) -f $(TOP)/Makefile.shared -e \
199                 APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o $$testutil" \
200                 LDFLAG="$(LDFLAG)" \
201                 LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \
202                 link_app.$${shlib_target}
203
204 $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
205         @target=$(RSATEST); $(BUILD_CMD)
206
207 $(NPTEST)$(EXE_EXT): $(NPTEST).o $(DLIBCRYPTO)
208         @target=$(NPTEST); $(BUILD_CMD)
209
210 $(MEMLEAKTEST)$(EXE_EXT): $(MEMLEAKTEST).o $(DLIBCRYPTO)
211         @target=$(MEMLEAKTEST); $(BUILD_CMD)
212
213 $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
214         @target=$(BNTEST); $(BUILD_CMD)
215
216 $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
217         @target=$(ECTEST); $(BUILD_CMD)
218
219 $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
220         @target=$(EXPTEST); $(BUILD_CMD)
221
222 $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
223         @target=$(IDEATEST); $(BUILD_CMD)
224
225 $(GMDIFFTEST)$(EXE_EXT): $(GMDIFFTEST).o $(DLIBCRYPTO)
226         @target=$(GMDIFFTEST); $(BUILD_CMD)
227
228 $(PBELUTEST)$(EXE_EXT): $(PBELUTEST).o $(DLIBCRYPTO)
229         @target=$(PBELUTEST); $(BUILD_CMD)
230
231 $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
232         @target=$(MD2TEST); $(BUILD_CMD)
233
234 $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
235         @target=$(SHA1TEST); $(BUILD_CMD)
236
237 $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
238         @target=$(SHA256TEST); $(BUILD_CMD)
239
240 $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
241         @target=$(SHA512TEST); $(BUILD_CMD)
242
243 FIPS_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
244                 shlib_target="$(SHLIB_TARGET)"; \
245         fi; \
246         if [ "$(FIPSCANLIB)" = "libfips" ]; then \
247                 LIBRARIES="-L$(TOP) -lfips"; \
248         elif [ -n "$(FIPSCANLIB)" ]; then \
249                 FIPSLD_CC="$(CC)"; CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \
250                 LIBRARIES="$${FIPSLIBDIR:-$(TOP)/fips/}fipscanister.o"; \
251         else \
252                 LIBRARIES="$(LIBCRYPTO)"; \
253         fi; \
254         $(MAKE) -f $(TOP)/Makefile.shared -e \
255                 CC="$${CC}" APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
256                 LDFLAG="$(LDFLAG)" \
257                 LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \
258                 link_app.$${shlib_target}
259
260 FIPS_CRYPTO_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
261                 shlib_target="$(SHLIB_TARGET)"; \
262         fi; \
263         LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \
264         if [ -z "$(SHARED_LIBS)" -a -n "$(FIPSCANLIB)" ] ; then \
265                 FIPSLD_CC="$(CC)"; CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \
266         fi; \
267         [ "$(FIPSCANLIB)" = "libfips" ] && LIBRARIES="$$LIBRARIES -lfips"; \
268         $(MAKE) -f $(TOP)/Makefile.shared -e \
269                 CC="$${CC}" APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
270                 LDFLAG="$(LDFLAG)" \
271                 LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \
272                 link_app.$${shlib_target}
273
274 $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
275         @target=$(RMDTEST); $(BUILD_CMD)
276
277 $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
278         @target=$(MDC2TEST); $(BUILD_CMD)
279
280 $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
281         @target=$(MD4TEST); $(BUILD_CMD)
282
283 $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
284         @target=$(MD5TEST); $(BUILD_CMD)
285
286 $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
287         @target=$(HMACTEST); $(BUILD_CMD)
288
289 $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
290         @target=$(WPTEST); $(BUILD_CMD)
291
292 $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
293         @target=$(RC2TEST); $(BUILD_CMD)
294
295 $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
296         @target=$(BFTEST); $(BUILD_CMD)
297
298 $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
299         @target=$(CASTTEST); $(BUILD_CMD)
300
301 $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
302         @target=$(RC4TEST); $(BUILD_CMD)
303
304 $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
305         @target=$(RC5TEST); $(BUILD_CMD)
306
307 $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
308         @target=$(DESTEST); $(BUILD_CMD)
309
310 $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
311         @target=$(RANDTEST); $(BUILD_CMD)
312
313 $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
314         @target=$(DHTEST); $(BUILD_CMD)
315
316 $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
317         @target=$(DSATEST); $(BUILD_CMD)
318
319 $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
320         @target=$(METHTEST); $(BUILD_CMD)
321
322 $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
323         @target=$(SSLTEST); $(BUILD_CMD)
324
325 $(DANETEST)$(EXE_EXT): $(DANETEST).o $(DLIBSSL) $(DLIBCRYPTO)
326         @target=$(DANETEST); $(BUILD_CMD)
327
328 $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
329         @target=$(ENGINETEST); $(BUILD_CMD)
330
331 $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
332         @target=$(EVPTEST); $(BUILD_CMD)
333
334 $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
335         @target=$(EVPEXTRATEST); $(BUILD_CMD)
336
337 $(P5_CRPT2_TEST)$(EXE_EXT): $(P5_CRPT2_TEST).o $(DLIBCRYPTO)
338         @target=$(P5_CRPT2_TEST); $(BUILD_CMD)
339
340 $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
341         @target=$(ECDSATEST); $(BUILD_CMD)
342
343 $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
344         @target=$(ECDHTEST); $(BUILD_CMD)
345
346 $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
347         @target=$(IGETEST); $(BUILD_CMD)
348
349 $(SECMEMTEST)$(EXE_EXT): $(SECMEMTEST).o $(DLIBCRYPTO)
350         @target=$(SECMEMTEST); $(BUILD_CMD)
351
352 $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
353         @target=$(SRPTEST); $(BUILD_CMD)
354
355 $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
356         @target=$(V3NAMETEST); $(BUILD_CMD)
357
358 $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO) testutil.o
359         @target=$(HEARTBEATTEST) testutil=testutil.o; $(BUILD_CMD_STATIC)
360
361 $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
362         @target=$(CONSTTIMETEST) $(BUILD_CMD)
363
364 $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o
365         @target=$(VERIFYEXTRATEST) $(BUILD_CMD)
366
367 $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o
368         @target=$(CLIENTHELLOTEST) $(BUILD_CMD)
369
370 $(PACKETTEST)$(EXE_EXT): $(PACKETTEST).o
371         @target=$(PACKETTEST) $(BUILD_CMD)
372
373 $(ASYNCTEST)$(EXE_EXT): $(ASYNCTEST).o
374         @target=$(ASYNCTEST) $(BUILD_CMD)
375
376 $(DTLSV1LISTENTEST)$(EXE_EXT): $(DTLSV1LISTENTEST).o
377         @target=$(DTLSV1LISTENTEST) $(BUILD_CMD)
378
379 $(CTTEST)$(EXE_EXT): $(CTTEST).o $(DLIBCRYPTO) testutil.o
380         @target=$(CTTEST) testutil=testutil.o;  $(BUILD_CMD)
381
382 $(THREADSTEST)$(EXE_EXT): $(THREADSTEST).o $(DLIBCRYPTO)
383         @target=$(THREADSTEST) $(BUILD_CMD)
384
385 dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
386         @target=dummytest; $(BUILD_CMD)
387
388 $(AFALGTEST)$(EXE_EXT): $(AFALGTEST).o $(DLIBCRYPTO)
389         @target=$(AFALGTEST); $(BUILD_CMD)
390
391 # DO NOT DELETE THIS LINE -- make depend depends on it.