8 INCLUDES= -I$(TOP) -I../include -I../crypto/include -I$(TOP)/fips
10 MAKEDEPEND= $(TOP)/util/domd $(TOP) -MD $(MAKEDEPPROG)
14 EX_LIBS= #-lnsl -lsocket
16 CFLAGS= $(INCLUDES) $(CFLAG)
17 LDFLAGS= $(CFLAGS) $(LDFLAG)
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
24 DLIBCRYPTO= ../libcrypto.a
26 LIBCRYPTO= -L.. -lcrypto
30 # Prefix for logline for each test
34 MEMLEAKTEST= memleaktest
40 GMDIFFTEST= gmdifftest
62 SSLTESTOLD= ssltest_old
65 ENGINETEST= enginetest
67 EVPEXTRATEST=evp_extra_test
68 P5_CRPT2_TEST= p5_crpt2_test
70 SECMEMTEST= secmemtest
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
83 DTLSV1LISTENTEST = dtlsv1listentest
85 THREADSTEST= threadstest
88 SSLTESTCTXTEST = ssl_test_ctx_test
93 EXE= $(NPTEST)$(EXE_EXT) $(MEMLEAKTEST)$(EXE_EXT) \
94 $(BNTEST)$(EXE_EXT) $(ECTEST)$(EXE_EXT) \
95 $(ECDSATEST)$(EXE_EXT) $(ECDHTEST)$(EXE_EXT) $(GMDIFFTEST)$(EXE_EXT) \
96 $(PBELUTEST)$(EXE_EXT) $(IDEATEST)$(EXE_EXT) \
97 $(MD2TEST)$(EXE_EXT) $(MD4TEST)$(EXE_EXT) $(MD5TEST)$(EXE_EXT) $(HMACTEST)$(EXE_EXT) $(WPTEST)$(EXE_EXT) \
98 $(RC2TEST)$(EXE_EXT) $(RC4TEST)$(EXE_EXT) $(RC5TEST)$(EXE_EXT) \
99 $(DESTEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT) \
100 $(MDC2TEST)$(EXE_EXT) $(RMDTEST)$(EXE_EXT) \
101 $(RANDTEST)$(EXE_EXT) $(DHTEST)$(EXE_EXT) $(ENGINETEST)$(EXE_EXT) \
102 $(DANETEST)$(EXE_EXT) \
103 $(BFTEST)$(EXE_EXT) $(CASTTEST)$(EXE_EXT) $(SSLTESTOLD)$(EXE_EXT) \
104 $(EXPTEST)$(EXE_EXT) $(DSATEST)$(EXE_EXT) $(RSATEST)$(EXE_EXT) \
105 $(EVPTEST)$(EXE_EXT) $(EVPEXTRATEST)$(EXE_EXT) $(IGETEST)$(EXE_EXT) \
106 $(SECMEMTEST)$(EXE_EXT) \
107 $(SRPTEST)$(EXE_EXT) $(V3NAMETEST)$(EXE_EXT) \
108 $(HEARTBEATTEST)$(EXE_EXT) $(P5_CRPT2_TEST)$(EXE_EXT) \
109 $(CONSTTIMETEST)$(EXE_EXT) $(VERIFYEXTRATEST)$(EXE_EXT) \
110 $(CLIENTHELLOTEST)$(EXE_EXT) $(PACKETTEST)$(EXE_EXT) $(ASYNCTEST)$(EXE_EXT) \
111 $(DTLSV1LISTENTEST)$(EXE_EXT) $(CTTEST)$(EXE_EXT) $(THREADSTEST)$(EXE_EXT) \
112 $(AFALGTEST)$(EXE_EXT) $(D2ITEST)$(EXE_EXT) $(SSLTESTCTXTEST)$(EXE_EXT) \
115 # $(METHTEST)$(EXE_EXT)
117 OBJ= $(NPTEST).o $(MEMLEAKTEST).o \
118 $(BNTEST).o $(ECTEST).o \
119 $(ECDSATEST).o $(ECDHTEST).o $(GMDIFFTEST).o $(PBELUTEST).o $(IDEATEST).o \
120 $(MD2TEST).o $(MD4TEST).o $(MD5TEST).o \
121 $(HMACTEST).o $(WPTEST).o \
122 $(RC2TEST).o $(RC4TEST).o $(RC5TEST).o \
123 $(DESTEST).o $(SHA1TEST).o $(SHA256TEST).o $(SHA512TEST).o \
124 $(MDC2TEST).o $(RMDTEST).o $(DANETEST).o \
125 $(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \
126 $(BFTEST).o $(SSLTESTOLD).o $(DSATEST).o $(EXPTEST).o $(RSATEST).o \
127 $(EVPTEST).o $(EVPEXTRATEST).o $(IGETEST).o $(V3NAMETEST).o \
128 $(HEARTBEATTEST).o $(P5_CRPT2_TEST).o \
129 $(CONSTTIMETEST).o $(VERIFYEXTRATEST).o $(CLIENTHELLOTEST).o \
130 $(PACKETTEST).o $(ASYNCTEST).o $(DTLSV1LISTENTEST).o $(CTTEST).o \
131 $(THREADSTEST).o testutil.o $(AFALGTEST).o $(D2ITEST).o ssl_test_ctx.o \
132 $(SSLTESTCTXTEST).o $(SSLTEST).o handshake_helper.o
134 SRC= $(NPTEST).c $(MEMLEAKTEST).c \
135 $(BNTEST).c $(ECTEST).c \
136 $(ECDSATEST).c $(ECDHTEST).c $(GMDIFFTEST).c $(PBELUTEST).c $(IDEATEST).c \
137 $(MD2TEST).c $(MD4TEST).c $(MD5TEST).c \
138 $(HMACTEST).c $(WPTEST).c \
139 $(RC2TEST).c $(RC4TEST).c $(RC5TEST).c $(DANETEST).c \
140 $(DESTEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \
141 $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c $(CASTTEST).c \
142 $(BFTEST).c $(SSLTESTOLD).c $(DSATEST).c $(EXPTEST).c $(RSATEST).c \
143 $(EVPTEST).c $(EVPEXTRATEST).c $(IGETEST).c $(V3NAMETEST).c \
144 $(HEARTBEATTEST).c $(P5_CRPT2_TEST).c \
145 $(CONSTTIMETEST).c $(VERIFYEXTRATEST).c $(CLIENTHELLOTEST).c \
146 $(PACKETTEST).c $(ASYNCTEST).c $(DTLSV1LISTENTEST).c $(CTTEST).c \
147 $(THREADSTEST).c testutil.c $(AFALGTEST).c $(D2ITEST).c ssl_test_ctx.c \
148 $(SSLTESTCTXTEST).c $(SSLTEST).c handshake_helper.c
150 HEADER= testutil.h ssl_test_ctx.h handshake_helper.h
152 ALL= $(GENERAL) $(SRC) $(HEADER)
155 (cd ..; $(MAKE) DIRS=$(DIR) TESTS=$(TESTS) all)
159 exe: $(EXE) dummytest$(EXE_EXT)
163 @sh $(TOP)/util/point.sh dummytest.c $@
166 OPENSSL_ENGINES=../engines TOP=$(TOP) PERL=$(PERL) \
167 $(PERL) run_tests.pl $(TESTS)
172 @TOP=$(TOP) PERL=$(PERL) $(PERL) run_tests.pl list
175 @(cd ..; $(MAKE) DIRS=apps all)
178 $(TOP)/util/domd $(CFLAG) $(INCLUDES) -- $(PROGS) $(SRC)
181 rm -f .rnd tmp.bntest tmp.bctest *.o *.obj *.dll lib tags core .pure .nfs* *.old *.bak fluff $(EXE) *.ss *.srl log *.log dummytest
184 (cd ..; $(MAKE) build_libssl)
187 (cd ..; $(MAKE) build_libcrypto)
189 BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
190 shlib_target="$(SHLIB_TARGET)"; \
192 LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \
193 $(MAKE) -f $(TOP)/Makefile.shared -e \
194 APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o $$testutil" \
196 LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \
197 link_app.$${shlib_target}
199 BUILD_CMD_STATIC=shlib_target=; \
200 LIBRARIES="$(DLIBSSL) $(DLIBCRYPTO)"; \
201 $(MAKE) -f $(TOP)/Makefile.shared -e \
202 APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o $$testutil" \
204 LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \
205 link_app.$${shlib_target}
207 $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
208 @target=$(RSATEST); $(BUILD_CMD)
210 $(NPTEST)$(EXE_EXT): $(NPTEST).o $(DLIBCRYPTO)
211 @target=$(NPTEST); $(BUILD_CMD)
213 $(MEMLEAKTEST)$(EXE_EXT): $(MEMLEAKTEST).o $(DLIBCRYPTO)
214 @target=$(MEMLEAKTEST); $(BUILD_CMD)
216 $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
217 @target=$(BNTEST); $(BUILD_CMD)
219 $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
220 @target=$(ECTEST); $(BUILD_CMD)
222 $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
223 @target=$(EXPTEST); $(BUILD_CMD)
225 $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
226 @target=$(IDEATEST); $(BUILD_CMD)
228 $(GMDIFFTEST)$(EXE_EXT): $(GMDIFFTEST).o $(DLIBCRYPTO)
229 @target=$(GMDIFFTEST); $(BUILD_CMD)
231 $(PBELUTEST)$(EXE_EXT): $(PBELUTEST).o $(DLIBCRYPTO)
232 @target=$(PBELUTEST); $(BUILD_CMD)
234 $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
235 @target=$(MD2TEST); $(BUILD_CMD)
237 $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
238 @target=$(SHA1TEST); $(BUILD_CMD)
240 $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
241 @target=$(SHA256TEST); $(BUILD_CMD)
243 $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
244 @target=$(SHA512TEST); $(BUILD_CMD)
246 FIPS_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
247 shlib_target="$(SHLIB_TARGET)"; \
249 if [ "$(FIPSCANLIB)" = "libfips" ]; then \
250 LIBRARIES="-L$(TOP) -lfips"; \
251 elif [ -n "$(FIPSCANLIB)" ]; then \
252 FIPSLD_CC="$(CC)"; CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \
253 LIBRARIES="$${FIPSLIBDIR:-$(TOP)/fips/}fipscanister.o"; \
255 LIBRARIES="$(LIBCRYPTO)"; \
257 $(MAKE) -f $(TOP)/Makefile.shared -e \
258 CC="$${CC}" APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
260 LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \
261 link_app.$${shlib_target}
263 FIPS_CRYPTO_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
264 shlib_target="$(SHLIB_TARGET)"; \
266 LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \
267 if [ -z "$(SHARED_LIBS)" -a -n "$(FIPSCANLIB)" ] ; then \
268 FIPSLD_CC="$(CC)"; CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \
270 [ "$(FIPSCANLIB)" = "libfips" ] && LIBRARIES="$$LIBRARIES -lfips"; \
271 $(MAKE) -f $(TOP)/Makefile.shared -e \
272 CC="$${CC}" APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
274 LIBDEPS="$(PLIB_LDFLAG) $$LIBRARIES $(EX_LIBS)" \
275 link_app.$${shlib_target}
277 $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
278 @target=$(RMDTEST); $(BUILD_CMD)
280 $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
281 @target=$(MDC2TEST); $(BUILD_CMD)
283 $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
284 @target=$(MD4TEST); $(BUILD_CMD)
286 $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
287 @target=$(MD5TEST); $(BUILD_CMD)
289 $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
290 @target=$(HMACTEST); $(BUILD_CMD)
292 $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
293 @target=$(WPTEST); $(BUILD_CMD)
295 $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
296 @target=$(RC2TEST); $(BUILD_CMD)
298 $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
299 @target=$(BFTEST); $(BUILD_CMD)
301 $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
302 @target=$(CASTTEST); $(BUILD_CMD)
304 $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
305 @target=$(RC4TEST); $(BUILD_CMD)
307 $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
308 @target=$(RC5TEST); $(BUILD_CMD)
310 $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
311 @target=$(DESTEST); $(BUILD_CMD)
313 $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
314 @target=$(RANDTEST); $(BUILD_CMD)
316 $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
317 @target=$(DHTEST); $(BUILD_CMD)
319 $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
320 @target=$(DSATEST); $(BUILD_CMD)
322 $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
323 @target=$(METHTEST); $(BUILD_CMD)
325 $(SSLTESTOLD)$(EXE_EXT): $(SSLTESTOLD).o $(DLIBSSL) $(DLIBCRYPTO)
326 @target=$(SSLTESTOLD); $(BUILD_CMD)
328 $(DANETEST)$(EXE_EXT): $(DANETEST).o $(DLIBSSL) $(DLIBCRYPTO)
329 @target=$(DANETEST); $(BUILD_CMD)
331 $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
332 @target=$(ENGINETEST); $(BUILD_CMD)
334 $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
335 @target=$(EVPTEST); $(BUILD_CMD)
337 $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
338 @target=$(EVPEXTRATEST); $(BUILD_CMD)
340 $(P5_CRPT2_TEST)$(EXE_EXT): $(P5_CRPT2_TEST).o $(DLIBCRYPTO)
341 @target=$(P5_CRPT2_TEST); $(BUILD_CMD)
343 $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
344 @target=$(ECDSATEST); $(BUILD_CMD)
346 $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
347 @target=$(ECDHTEST); $(BUILD_CMD)
349 $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
350 @target=$(IGETEST); $(BUILD_CMD)
352 $(SECMEMTEST)$(EXE_EXT): $(SECMEMTEST).o $(DLIBCRYPTO)
353 @target=$(SECMEMTEST); $(BUILD_CMD)
355 $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
356 @target=$(SRPTEST); $(BUILD_CMD)
358 $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
359 @target=$(V3NAMETEST); $(BUILD_CMD)
361 $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO) testutil.o
362 @target=$(HEARTBEATTEST) testutil=testutil.o; $(BUILD_CMD_STATIC)
364 $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
365 @target=$(CONSTTIMETEST) $(BUILD_CMD)
367 $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o
368 @target=$(VERIFYEXTRATEST) $(BUILD_CMD)
370 $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o
371 @target=$(CLIENTHELLOTEST) $(BUILD_CMD)
373 $(PACKETTEST)$(EXE_EXT): $(PACKETTEST).o
374 @target=$(PACKETTEST) $(BUILD_CMD)
376 $(ASYNCTEST)$(EXE_EXT): $(ASYNCTEST).o
377 @target=$(ASYNCTEST) $(BUILD_CMD)
379 $(DTLSV1LISTENTEST)$(EXE_EXT): $(DTLSV1LISTENTEST).o
380 @target=$(DTLSV1LISTENTEST) $(BUILD_CMD)
382 $(CTTEST)$(EXE_EXT): $(CTTEST).o $(DLIBCRYPTO) testutil.o
383 @target=$(CTTEST) testutil=testutil.o; $(BUILD_CMD)
385 $(THREADSTEST)$(EXE_EXT): $(THREADSTEST).o $(DLIBCRYPTO)
386 @target=$(THREADSTEST) $(BUILD_CMD)
388 dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
389 @target=dummytest; $(BUILD_CMD)
391 $(AFALGTEST)$(EXE_EXT): $(AFALGTEST).o $(DLIBCRYPTO)
392 @target=$(AFALGTEST); $(BUILD_CMD)
394 $(D2ITEST)$(EXE_EXT): $(D2ITEST).o $(DLIBCRYPTO) testutil.o
395 @target=$(D2ITEST) testutil=testutil.o; $(BUILD_CMD)
397 $(SSLTESTCTXTEST)$(EXE_EXT): $(SSLTESTCTXTEST).o testutil.o $(DLIBCRYPTO)
398 @target=$(SSLTESTCTXTEST); $(BUILD_CMD)
400 $(SSLTESTCTXTEST)$(EXE_EXT): $(SSLTESTCTXTEST).o testutil.o ssl_test_ctx.o \
402 @target=$(SSLTESTCTXTEST) testutil="testutil.o ssl_test_ctx.o"; \
405 $(SSLTEST)$(EXE_EXT): $(SSLTEST).o testutil.o ssl_test_ctx.o \
406 handshake_helper.o $(DLIBSSL) $(DLIBCRYPTO)
407 @target=$(SSLTEST) testutil="testutil.o ssl_test_ctx.o \
408 handshake_helper.o"; $(BUILD_CMD)
410 # DO NOT DELETE THIS LINE -- make depend depends on it.