Makefile.in 11 KB

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