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)
18 GENERAL=Makefile maketests.com \
19 tests.com testenc.com tx509.com trsa.com tcrl.com tsid.com treq.com \
20 tpkcs7.com tpkcs7d.com tverify.com testgen.com testss.com testssl.com \
21 testca.com VMSca-response.1 VMSca-response.2
23 DLIBCRYPTO= ../libcrypto.a
25 LIBCRYPTO= -L.. -lcrypto
29 # Prefix for logline for each test
33 MEMLEAKTEST= memleaktest
39 GMDIFFTEST= gmdifftest
58 GOST2814789TEST=gost2814789test
65 ENGINETEST= enginetest
67 EVPEXTRATEST=evp_extra_test
68 P5_CRPT2_TEST= p5_crpt2_test
71 SECMEMTEST= secmemtest
73 V3NAMETEST= v3nametest
74 HEARTBEATTEST= heartbeat_test
75 CONSTTIMETEST= constant_time_test
76 VERIFYEXTRATEST= verify_extra_test
77 CLIENTHELLOTEST= clienthellotest
78 PACKETTEST= packettest
79 SSLVERTOLTEST= sslvertoltest
80 SSLEXTENSIONTEST= sslextensiontest
81 SSLSESSIONTICKTEST= sslsessionticktest
82 SSLSKEWITH0PTEST= sslskewith0ptest
87 EXE= $(NPTEST)$(EXE_EXT) $(MEMLEAKTEST)$(EXE_EXT) \
88 $(BNTEST)$(EXE_EXT) $(ECTEST)$(EXE_EXT) \
89 $(ECDSATEST)$(EXE_EXT) $(ECDHTEST)$(EXE_EXT) $(GMDIFFTEST)$(EXE_EXT) \
90 $(PBELUTEST)$(EXE_EXT) $(IDEATEST)$(EXE_EXT) \
91 $(MD2TEST)$(EXE_EXT) $(MD4TEST)$(EXE_EXT) $(MD5TEST)$(EXE_EXT) $(HMACTEST)$(EXE_EXT) $(WPTEST)$(EXE_EXT) \
92 $(RC2TEST)$(EXE_EXT) $(RC4TEST)$(EXE_EXT) $(RC5TEST)$(EXE_EXT) \
93 $(DESTEST)$(EXE_EXT) $(SHA1TEST)$(EXE_EXT) $(SHA256TEST)$(EXE_EXT) $(SHA512TEST)$(EXE_EXT) \
94 $(MDC2TEST)$(EXE_EXT) $(RMDTEST)$(EXE_EXT) \
95 $(RANDTEST)$(EXE_EXT) $(DHTEST)$(EXE_EXT) $(ENGINETEST)$(EXE_EXT) \
96 $(GOST2814789TEST)$(EXE_EXT) $(DANETEST)$(EXE_EXT) \
97 $(BFTEST)$(EXE_EXT) $(CASTTEST)$(EXE_EXT) $(SSLTEST)$(EXE_EXT) \
98 $(EXPTEST)$(EXE_EXT) $(DSATEST)$(EXE_EXT) $(RSATEST)$(EXE_EXT) \
99 $(EVPTEST)$(EXE_EXT) $(EVPEXTRATEST)$(EXE_EXT) $(IGETEST)$(EXE_EXT) \
100 $(JPAKETEST)$(EXE_EXT) $(SECMEMTEST)$(EXE_EXT) \
101 $(SRPTEST)$(EXE_EXT) $(V3NAMETEST)$(EXE_EXT) \
102 $(HEARTBEATTEST)$(EXE_EXT) $(P5_CRPT2_TEST)$(EXE_EXT) \
103 $(CONSTTIMETEST)$(EXE_EXT) $(VERIFYEXTRATEST)$(EXE_EXT) \
104 $(CLIENTHELLOTEST)$(EXE_EXT) $(PACKETTEST)$(EXE_EXT) $(ASYNCTEST)$(EXE_EXT)
106 # $(METHTEST)$(EXE_EXT)
108 OBJ= $(NPTEST).o $(MEMLEAKTEST).o \
109 $(BNTEST).o $(ECTEST).o \
110 $(ECDSATEST).o $(ECDHTEST).o $(GMDIFFTEST).o $(PBELUTEST).o $(IDEATEST).o \
111 $(MD2TEST).o $(MD4TEST).o $(MD5TEST).o \
112 $(HMACTEST).o $(WPTEST).o \
113 $(RC2TEST).o $(RC4TEST).o $(RC5TEST).o \
114 $(DESTEST).o $(SHA1TEST).o $(SHA256TEST).o $(SHA512TEST).o \
115 $(MDC2TEST).o $(RMDTEST).o $(DANETEST).o \
116 $(RANDTEST).o $(DHTEST).o $(ENGINETEST).o $(CASTTEST).o \
117 $(BFTEST).o $(SSLTEST).o $(DSATEST).o $(EXPTEST).o $(RSATEST).o \
118 $(EVPTEST).o $(EVPEXTRATEST).o $(IGETEST).o $(JPAKETEST).o $(V3NAMETEST).o \
119 $(GOST2814789TEST).o $(HEARTBEATTEST).o $(P5_CRPT2_TEST).o \
120 $(CONSTTIMETEST).o $(VERIFYEXTRATEST).o $(CLIENTHELLOTEST).o \
121 $(PACKETTEST).o $(ASYNCTEST).o testutil.o
123 SRC= $(NPTEST).c $(MEMLEAKTEST).c \
124 $(BNTEST).c $(ECTEST).c \
125 $(ECDSATEST).c $(ECDHTEST).c $(GMDIFFTEST).c $(PBELUTEST).c $(IDEATEST).c \
126 $(MD2TEST).c $(MD4TEST).c $(MD5TEST).c \
127 $(HMACTEST).c $(WPTEST).c \
128 $(RC2TEST).c $(RC4TEST).c $(RC5TEST).c $(DANETEST).c \
129 $(DESTEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \
130 $(RANDTEST).c $(DHTEST).c $(ENGINETEST).c $(CASTTEST).c \
131 $(BFTEST).c $(SSLTEST).c $(DSATEST).c $(EXPTEST).c $(RSATEST).c \
132 $(EVPTEST).c $(EVPEXTRATEST).c $(IGETEST).c $(JPAKETEST).c $(V3NAMETEST).c \
133 $(GOST2814789TEST).c $(HEARTBEATTEST).c $(P5_CRPT2_TEST).c \
134 $(CONSTTIMETEST).c $(VERIFYEXTRATEST).c $(CLIENTHELLOTEST).c \
135 $(PACKETTEST).c $(ASYNCTEST).c testutil.c
139 ALL= $(GENERAL) $(SRC) $(HEADER)
142 (cd ..; $(MAKE) DIRS=$(DIR) TESTS=$(TESTS) all)
146 exe: $(EXE) dummytest$(EXE_EXT)
149 $(PERL) $(TOP)/util/files.pl Makefile >> $(TOP)/MINFO
153 @sh $(TOP)/util/point.sh dummytest.c $@
156 TOP=$(TOP) PERL=$(PERL) $(PERL) run_tests.pl $(TESTS)
161 @TOP=$(TOP) PERL=$(PERL) $(PERL) run_tests.pl list
164 @(cd ..; $(MAKE) DIRS=apps all)
167 @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
170 @if [ -z "$(THIS)" ]; then $(MAKE) -f $(TOP)/Makefile reflect THIS=$@; fi
172 @[ -z "$(THIS)" ] || $(MAKEDEPEND) -- $(CFLAG) $(INCLUDES) $(DEPFLAG) -- $(PROGS) $(SRC)
175 rm -f .rnd tmp.bntest tmp.bctest *.o *.obj *.dll lib tags core .pure .nfs* *.old *.bak fluff $(EXE) *.ss *.srl log *.log dummytest
178 (cd ..; $(MAKE) build_libssl)
181 (cd ..; $(MAKE) build_libcrypto)
183 BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
184 shlib_target="$(SHLIB_TARGET)"; \
186 LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \
187 $(MAKE) -f $(TOP)/Makefile.shared -e \
188 APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o $$testutil" \
189 LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
190 link_app.$${shlib_target}
192 BUILD_CMD_STATIC=shlib_target=; \
193 LIBRARIES="$(DLIBSSL) $(DLIBCRYPTO)"; \
194 $(MAKE) -f $(TOP)/Makefile.shared -e \
195 APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o $$testutil" \
196 LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
197 link_app.$${shlib_target}
199 $(RSATEST)$(EXE_EXT): $(RSATEST).o $(DLIBCRYPTO)
200 @target=$(RSATEST); $(BUILD_CMD)
202 $(NPTEST)$(EXE_EXT): $(NPTEST).o $(DLIBCRYPTO)
203 @target=$(NPTEST); $(BUILD_CMD)
205 $(MEMLEAKTEST)$(EXE_EXT): $(MEMLEAKTEST).o $(DLIBCRYPTO)
206 @target=$(MEMLEAKTEST); $(BUILD_CMD)
208 $(BNTEST)$(EXE_EXT): $(BNTEST).o $(DLIBCRYPTO)
209 @target=$(BNTEST); $(BUILD_CMD)
211 $(ECTEST)$(EXE_EXT): $(ECTEST).o $(DLIBCRYPTO)
212 @target=$(ECTEST); $(BUILD_CMD)
214 $(EXPTEST)$(EXE_EXT): $(EXPTEST).o $(DLIBCRYPTO)
215 @target=$(EXPTEST); $(BUILD_CMD)
217 $(IDEATEST)$(EXE_EXT): $(IDEATEST).o $(DLIBCRYPTO)
218 @target=$(IDEATEST); $(BUILD_CMD)
220 $(GMDIFFTEST)$(EXE_EXT): $(GMDIFFTEST).o $(DLIBCRYPTO)
221 @target=$(GMDIFFTEST); $(BUILD_CMD)
223 $(PBELUTEST)$(EXE_EXT): $(PBELUTEST).o $(DLIBCRYPTO)
224 @target=$(PBELUTEST); $(BUILD_CMD)
226 $(MD2TEST)$(EXE_EXT): $(MD2TEST).o $(DLIBCRYPTO)
227 @target=$(MD2TEST); $(BUILD_CMD)
229 $(SHA1TEST)$(EXE_EXT): $(SHA1TEST).o $(DLIBCRYPTO)
230 @target=$(SHA1TEST); $(BUILD_CMD)
232 $(SHA256TEST)$(EXE_EXT): $(SHA256TEST).o $(DLIBCRYPTO)
233 @target=$(SHA256TEST); $(BUILD_CMD)
235 $(SHA512TEST)$(EXE_EXT): $(SHA512TEST).o $(DLIBCRYPTO)
236 @target=$(SHA512TEST); $(BUILD_CMD)
238 FIPS_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
239 shlib_target="$(SHLIB_TARGET)"; \
241 if [ "$(FIPSCANLIB)" = "libfips" ]; then \
242 LIBRARIES="-L$(TOP) -lfips"; \
243 elif [ -n "$(FIPSCANLIB)" ]; then \
244 FIPSLD_CC="$(CC)"; CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \
245 LIBRARIES="$${FIPSLIBDIR:-$(TOP)/fips/}fipscanister.o"; \
247 LIBRARIES="$(LIBCRYPTO)"; \
249 $(MAKE) -f $(TOP)/Makefile.shared -e \
250 CC="$${CC}" APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
251 LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
252 link_app.$${shlib_target}
254 FIPS_CRYPTO_BUILD_CMD=shlib_target=; if [ -n "$(SHARED_LIBS)" ]; then \
255 shlib_target="$(SHLIB_TARGET)"; \
257 LIBRARIES="$(LIBSSL) $(LIBCRYPTO)"; \
258 if [ -z "$(SHARED_LIBS)" -a -n "$(FIPSCANLIB)" ] ; then \
259 FIPSLD_CC="$(CC)"; CC=$(TOP)/fips/fipsld; export CC FIPSLD_CC; \
261 [ "$(FIPSCANLIB)" = "libfips" ] && LIBRARIES="$$LIBRARIES -lfips"; \
262 $(MAKE) -f $(TOP)/Makefile.shared -e \
263 CC="$${CC}" APPNAME=$$target$(EXE_EXT) OBJECTS="$$target.o" \
264 LIBDEPS="$(PEX_LIBS) $$LIBRARIES $(EX_LIBS)" \
265 link_app.$${shlib_target}
267 $(RMDTEST)$(EXE_EXT): $(RMDTEST).o $(DLIBCRYPTO)
268 @target=$(RMDTEST); $(BUILD_CMD)
270 $(MDC2TEST)$(EXE_EXT): $(MDC2TEST).o $(DLIBCRYPTO)
271 @target=$(MDC2TEST); $(BUILD_CMD)
273 $(MD4TEST)$(EXE_EXT): $(MD4TEST).o $(DLIBCRYPTO)
274 @target=$(MD4TEST); $(BUILD_CMD)
276 $(MD5TEST)$(EXE_EXT): $(MD5TEST).o $(DLIBCRYPTO)
277 @target=$(MD5TEST); $(BUILD_CMD)
279 $(HMACTEST)$(EXE_EXT): $(HMACTEST).o $(DLIBCRYPTO)
280 @target=$(HMACTEST); $(BUILD_CMD)
282 $(WPTEST)$(EXE_EXT): $(WPTEST).o $(DLIBCRYPTO)
283 @target=$(WPTEST); $(BUILD_CMD)
285 $(RC2TEST)$(EXE_EXT): $(RC2TEST).o $(DLIBCRYPTO)
286 @target=$(RC2TEST); $(BUILD_CMD)
288 $(BFTEST)$(EXE_EXT): $(BFTEST).o $(DLIBCRYPTO)
289 @target=$(BFTEST); $(BUILD_CMD)
291 $(CASTTEST)$(EXE_EXT): $(CASTTEST).o $(DLIBCRYPTO)
292 @target=$(CASTTEST); $(BUILD_CMD)
294 $(RC4TEST)$(EXE_EXT): $(RC4TEST).o $(DLIBCRYPTO)
295 @target=$(RC4TEST); $(BUILD_CMD)
297 $(RC5TEST)$(EXE_EXT): $(RC5TEST).o $(DLIBCRYPTO)
298 @target=$(RC5TEST); $(BUILD_CMD)
300 $(DESTEST)$(EXE_EXT): $(DESTEST).o $(DLIBCRYPTO)
301 @target=$(DESTEST); $(BUILD_CMD)
303 $(GOST2814789TEST)$(EXE_EXT): $(GOST2814789TEST).o $(DLIBCRYPTO)
304 @target=$(GOST2814789TEST); $(BUILD_CMD)
306 $(RANDTEST)$(EXE_EXT): $(RANDTEST).o $(DLIBCRYPTO)
307 @target=$(RANDTEST); $(BUILD_CMD)
309 $(DHTEST)$(EXE_EXT): $(DHTEST).o $(DLIBCRYPTO)
310 @target=$(DHTEST); $(BUILD_CMD)
312 $(DSATEST)$(EXE_EXT): $(DSATEST).o $(DLIBCRYPTO)
313 @target=$(DSATEST); $(BUILD_CMD)
315 $(METHTEST)$(EXE_EXT): $(METHTEST).o $(DLIBCRYPTO)
316 @target=$(METHTEST); $(BUILD_CMD)
318 $(SSLTEST)$(EXE_EXT): $(SSLTEST).o $(DLIBSSL) $(DLIBCRYPTO)
319 @target=$(SSLTEST); $(BUILD_CMD)
321 $(DANETEST)$(EXE_EXT): $(DANETEST).o $(DLIBSSL) $(DLIBCRYPTO)
322 @target=$(DANETEST); $(BUILD_CMD)
324 $(ENGINETEST)$(EXE_EXT): $(ENGINETEST).o $(DLIBCRYPTO)
325 @target=$(ENGINETEST); $(BUILD_CMD)
327 $(EVPTEST)$(EXE_EXT): $(EVPTEST).o $(DLIBCRYPTO)
328 @target=$(EVPTEST); $(BUILD_CMD)
330 $(EVPEXTRATEST)$(EXE_EXT): $(EVPEXTRATEST).o $(DLIBCRYPTO)
331 @target=$(EVPEXTRATEST); $(BUILD_CMD)
333 $(P5_CRPT2_TEST)$(EXE_EXT): $(P5_CRPT2_TEST).o $(DLIBCRYPTO)
334 @target=$(P5_CRPT2_TEST); $(BUILD_CMD)
336 $(ECDSATEST)$(EXE_EXT): $(ECDSATEST).o $(DLIBCRYPTO)
337 @target=$(ECDSATEST); $(BUILD_CMD)
339 $(ECDHTEST)$(EXE_EXT): $(ECDHTEST).o $(DLIBCRYPTO)
340 @target=$(ECDHTEST); $(BUILD_CMD)
342 $(IGETEST)$(EXE_EXT): $(IGETEST).o $(DLIBCRYPTO)
343 @target=$(IGETEST); $(BUILD_CMD)
345 $(JPAKETEST)$(EXE_EXT): $(JPAKETEST).o $(DLIBCRYPTO)
346 @target=$(JPAKETEST); $(BUILD_CMD)
348 $(SECMEMTEST)$(EXE_EXT): $(SECMEMTEST).o $(DLIBCRYPTO)
349 @target=$(SECMEMTEST); $(BUILD_CMD)
351 $(SRPTEST)$(EXE_EXT): $(SRPTEST).o $(DLIBCRYPTO)
352 @target=$(SRPTEST); $(BUILD_CMD)
354 $(V3NAMETEST)$(EXE_EXT): $(V3NAMETEST).o $(DLIBCRYPTO)
355 @target=$(V3NAMETEST); $(BUILD_CMD)
357 $(HEARTBEATTEST)$(EXE_EXT): $(HEARTBEATTEST).o $(DLIBCRYPTO) testutil.o
358 @target=$(HEARTBEATTEST) testutil=testutil.o; $(BUILD_CMD_STATIC)
360 $(CONSTTIMETEST)$(EXE_EXT): $(CONSTTIMETEST).o
361 @target=$(CONSTTIMETEST) $(BUILD_CMD)
363 $(VERIFYEXTRATEST)$(EXE_EXT): $(VERIFYEXTRATEST).o
364 @target=$(VERIFYEXTRATEST) $(BUILD_CMD)
366 $(CLIENTHELLOTEST)$(EXE_EXT): $(CLIENTHELLOTEST).o
367 @target=$(CLIENTHELLOTEST) $(BUILD_CMD)
369 $(PACKETTEST)$(EXE_EXT): $(PACKETTEST).o
370 @target=$(PACKETTEST) $(BUILD_CMD)
372 $(ASYNCTEST)$(EXE_EXT): $(ASYNCTEST).o
373 @target=$(ASYNCTEST) $(BUILD_CMD)
375 #$(AESTEST).o: $(AESTEST).c
376 # $(CC) -c $(CFLAGS) -DINTERMEDIATE_VALUE_KAT -DTRACE_KAT_MCT $(AESTEST).c
378 #$(AESTEST)$(EXE_EXT): $(AESTEST).o $(DLIBCRYPTO)
379 # if [ "$(SHLIB_TARGET)" = "hpux-shared" -o "$(SHLIB_TARGET)" = "darwin-shared" ] ; then \
380 # $(CC) -o $(AESTEST)$(EXE_EXT) $(CFLAGS) $(AESTEST).o $(PEX_LIBS) $(DLIBCRYPTO) $(EX_LIBS) ; \
382 # $(CC) -o $(AESTEST)$(EXE_EXT) $(CFLAGS) $(AESTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) ; \
385 dummytest$(EXE_EXT): dummytest.o $(DLIBCRYPTO)
386 @target=dummytest; $(BUILD_CMD)
388 # DO NOT DELETE THIS LINE -- make depend depends on it.