Makefile revision 1.15
1#	$OpenBSD: Makefile,v 1.15 2014/04/16 08:29:22 jsg Exp $
2
3CLEANFILES+= testdsa.key testdsa.pem rsakey.pem rsacert.pem dsa512.pem
4
5REGRESS_TARGETS=ossltests ssl-enc ssl-dsa ssl-rsa 
6
7OPENSSL=/usr/sbin/openssl
8CLEAR1=p
9CIPHER=cipher
10CLEAR2=clear
11LIBCRYPTO=-lcrypto
12
13BFTEST=		bftest
14BNTEST=		bntest
15CASTTEST=	casttest
16DESTEST=	destest
17DHTEST=		dhtest
18DSATEST=	dsatest
19ECDHTEST=	ecdhtest
20ECDSATEST=	ecdsatest
21ECTEST=		ectest
22ENGINETEST=	enginetest
23EVPTEST=	evptest
24EXPTEST=	exptest
25HMACTEST=	hmactest
26IGETEST=	igetest
27MD4TEST=	md4test
28MD5TEST=	md5test
29RANDTEST=	randtest
30RC2TEST=	rc2test
31RC4TEST=	rc4test
32RMDTEST=	rmdtest
33SHA1TEST=	sha1test
34SHA256TEST=	sha256t
35SHA512TEST=	sha512t
36SHATEST=	shatest
37
38SSLDIR=	${.CURDIR}/../../../lib/libssl/src/crypto
39CRYPTODIR= ${.CURDIR}/../libcrypto
40CFLAGS+= -Wall -I${SSLDIR} -I${SSLDIR}/..
41
42CLEANFILES+=	$(BNTEST).c $(ECTEST).c $(HMACTEST).c \
43	$(SHATEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \
44	$(RANDTEST).c $(DHTEST).c $(ENGINETEST).c \
45	$(CASTTEST).c $(EXPTEST).c $(DSATEST).c \
46	$(EVPTEST).c $(DESTEST).c ${RC2TEST}.c ${RC4TEST}.c \
47	${MD4TEST}.c ${MD5TEST}.c ${BFTEST}.c ${ECDHTEST}.c ${ECDSATEST}.c \
48	${IGETEST}.c ${SHA256TEST}.c ${SHA512TEST}.c
49
50CLEANFILES+=	$(BNTEST) $(ECTEST) $(HMACTEST) \
51	$(SHATEST) $(SHA1TEST) $(MDC2TEST) $(RMDTEST) \
52	$(RANDTEST) $(DHTEST) $(ENGINETEST) \
53	$(CASTTEST) $(EXPTEST) $(DSATEST) \
54	$(EVPTEST) $(DESTEST) ${RC2TEST} ${RC4TEST} ${MD4TEST} \
55	${MD5TEST} ${BFTEST} ${ECDHTEST} ${ECDSATEST} ${IGETEST} \
56	${SHA256TEST} ${SHA512TEST}
57
58CLEANFILES+= ${BNTEST}.out
59
60OTESTS= ${ENGINETEST}  \
61	${EXPTEST} ${RANDTEST} \
62	${MD4TEST} ${MD5TEST} \
63	${SHATEST} ${SHA1TEST} ${HMACTEST} ${RMDTEST} ${MDC2TEST} \
64	${CASTTEST} ${BFTEST} ${RC2TEST} ${RC4TEST} ${DESTEST} \
65	${DHTEST} ${DSATEST} \
66	${ECTEST} ${ECDHTEST} ${ECDSATEST} $(IGETEST) \
67	$(SHA256TEST) $(SHA512TEST)
68
69${CLEAR1}: openssl.cnf
70	cat ${.CURDIR}/openssl.cnf > ${CLEAR1}
71
72CLEANFILES+=${CLEAR1}
73
74ENCTARGETS=aes-128-cbc aes-128-cfb aes-128-cfb1 aes-128-cfb8
75ENCTARGETS+=aes-128-ecb aes-128-ofb aes-192-cbc aes-192-cfb
76ENCTARGETS+=aes-192-cfb1 aes-192-cfb8 aes-192-ecb aes-192-ofb
77ENCTARGETS+=aes-256-cbc aes-256-cfb aes-256-cfb1 aes-256-cfb8
78ENCTARGETS+=aes-256-ecb aes-256-ofb
79ENCTARGETS+=bf-cbc bf-cfb bf-ecb bf-ofb
80ENCTARGETS+=cast-cbc cast5-cbc cast5-cfb cast5-ecb cast5-ofb
81ENCTARGETS+=des-cbc des-cfb des-cfb8 des-ecb des-ede
82ENCTARGETS+=des-ede-cbc des-ede-cfb des-ede-ofb des-ede3
83ENCTARGETS+=des-ede3-cbc des-ede3-cfb des-ede3-ofb des-ofb desx-cbc
84ENCTARGETS+=rc2-40-cbc rc2-64-cbc rc2-cbc rc2-cfb rc2-ecb rc2-ofb
85ENCTARGETS+=rc4 rc4-40
86
87.for ENC in ${ENCTARGETS}
88${CIPHER}.${ENC}: ${CLEAR1}
89	${OPENSSL} enc -${ENC} -bufsize 113 -e -k test < ${CLEAR1} > ${CIPHER}.${ENC}
90${CIPHER}.${ENC}.b64: ${CLEAR1}
91	${OPENSSL} enc -${ENC} -bufsize 113 -a -e -k test < ${CLEAR1} > ${CIPHER}.${ENC}.b64
92
93${CLEAR2}.${ENC}: ${CIPHER}.${ENC}
94	${OPENSSL} enc -${ENC} -bufsize 157 -d -k test < ${CIPHER}.${ENC} > ${CLEAR2}.${ENC}
95${CLEAR2}.${ENC}.b64: ${CIPHER}.${ENC}.b64
96	${OPENSSL} enc -${ENC} -bufsize 157 -a -d -k test < ${CIPHER}.${ENC}.b64 > ${CLEAR2}.${ENC}.b64
97
98ssl-enc-${ENC}: ${CLEAR1} ${CLEAR2}.${ENC}
99	cmp ${CLEAR1} ${CLEAR2}.${ENC}
100ssl-enc-${ENC}.b64: ${CLEAR1} ${CLEAR2}.${ENC}.b64
101	cmp ${CLEAR1} ${CLEAR2}.${ENC}.b64
102
103REGRESS_TARGETS+=ssl-enc-${ENC} ssl-enc-${ENC}.b64
104CLEANFILES+=${CIPHER}.${ENC} ${CIPHER}.${ENC}.b64 ${CLEAR2}.${ENC} ${CLEAR2}.${ENC}.b64 .rnd
105.endfor
106
107ssl-enc:
108	sh ${.CURDIR}/testenc.sh ${.OBJDIR} ${.CURDIR}
109ssl-dsa:
110	sh ${.CURDIR}/testdsa.sh ${.OBJDIR} ${.CURDIR}
111ssl-rsa:
112	sh ${.CURDIR}/testrsa.sh ${.OBJDIR} ${.CURDIR}
113
114ossltests: ${OTESTS} ${BNTEST} ${EVPTEST}
115	@echo running ${BNTEST}, check ${.OBJDIR}/${BNTEST}.out if this fails.
116	${.OBJDIR}/${BNTEST} > ${.OBJDIR}/${BNTEST}.out 2>&1
117.for OT in ${OTESTS}
118	@echo running ${OT}
119	${.OBJDIR}/${OT} 
120.endfor
121	@echo running ${EVPTEST}
122	${.OBJDIR}/${EVPTEST} ${CRYPTODIR}/evp/evptests.txt
123
124$(BNTEST).c: ${CRYPTODIR}/bn/bntest.c
125	cp ${CRYPTODIR}/bn/bntest.c ${.OBJDIR}
126
127$(BNTEST): ${BNTEST}.c
128	cc ${CFLAGS} -o $(BNTEST) ${BNTEST}.c $(LIBCRYPTO)
129
130$(EXPTEST).c: ${CRYPTODIR}/exp/exptest.c
131	cp ${CRYPTODIR}/exp/exptest.c ${.OBJDIR}
132
133$(EXPTEST): ${EXPTEST}.c
134	cc ${CFLAGS} -o $(EXPTEST) ${EXPTEST}.c $(LIBCRYPTO)
135
136$(ECTEST).c: ${CRYPTODIR}/ec/ectest.c
137	cp ${CRYPTODIR}/ec/ectest.c ${.OBJDIR}
138
139$(ECTEST): ${ECTEST}.c
140	cc ${CFLAGS} -o $(ECTEST) ${ECTEST}.c $(LIBCRYPTO)
141
142$(EVPTEST).c: ${CRYPTODIR}/evp/${EVPTEST}.c
143	cp ${CRYPTODIR}/evp/${EVPTEST}.c ${.OBJDIR}
144$(EVPTEST): ${EVPTEST}.c
145	cc ${CFLAGS} -o $(EVPTEST) ${EVPTEST}.c $(LIBCRYPTO)
146
147$(SHATEST).c: ${CRYPTODIR}/sha/${SHATEST}.c
148	cp ${CRYPTODIR}/sha/${SHATEST}.c ${.OBJDIR}
149$(SHATEST): ${SHATEST}.c
150	cc ${CFLAGS} -o $(SHATEST) ${SHATEST}.c $(LIBCRYPTO)
151
152$(SHA1TEST).c: ${CRYPTODIR}/sha1/${SHA1TEST}.c
153	cp ${CRYPTODIR}/sha1/${SHA1TEST}.c ${.OBJDIR}
154$(SHA1TEST): ${SHA1TEST}.c
155	cc ${CFLAGS} -o $(SHA1TEST) ${SHA1TEST}.c $(LIBCRYPTO)
156
157$(RANDTEST).c: ${CRYPTODIR}/rand/${RANDTEST}.c
158	cp ${CRYPTODIR}/rand/${RANDTEST}.c ${.OBJDIR}
159$(RANDTEST): ${RANDTEST}.c
160	cc ${CFLAGS} -o $(RANDTEST) ${RANDTEST}.c $(LIBCRYPTO)
161
162$(RMDTEST).c: ${CRYPTODIR}/rmd/${RMDTEST}.c
163	cp ${CRYPTODIR}/rmd/${RMDTEST}.c ${.OBJDIR}
164$(RMDTEST): ${RMDTEST}.c
165	cc ${CFLAGS} -o $(RMDTEST) ${RMDTEST}.c $(LIBCRYPTO)
166
167$(DHTEST).c: ${CRYPTODIR}/dh/${DHTEST}.c
168	cp ${CRYPTODIR}/dh/${DHTEST}.c ${.OBJDIR}
169
170$(DHTEST): ${DHTEST}.c
171	cc ${CFLAGS} -o $(DHTEST) ${DHTEST}.c $(LIBCRYPTO)
172
173$(ENGINETEST).c: ${SSLDIR}/engine/${ENGINETEST}.c
174	cp ${SSLDIR}/engine/${ENGINETEST}.c ${.OBJDIR}
175
176$(ENGINETEST): ${ENGINETEST}.c
177	cc ${CFLAGS} -o $(ENGINETEST) ${ENGINETEST}.c $(LIBCRYPTO)
178
179$(CASTTEST).c: ${CRYPTODIR}/cast/${CASTTEST}.c
180	cp ${CRYPTODIR}/cast/${CASTTEST}.c ${.OBJDIR}
181
182$(CASTTEST): ${CASTTEST}.c
183	cc ${CFLAGS} -o $(CASTTEST) ${CASTTEST}.c $(LIBCRYPTO)
184
185$(DSATEST).c: ${CRYPTODIR}/dsa/${DSATEST}.c
186	cp ${CRYPTODIR}/dsa/${DSATEST}.c ${.OBJDIR}
187
188$(DSATEST): ${DSATEST}.c
189	cc ${CFLAGS} -o $(DSATEST) ${DSATEST}.c $(LIBCRYPTO)
190
191
192$(HMACTEST).c: ${CRYPTODIR}/hmac/${HMACTEST}.c
193	cp ${CRYPTODIR}/hmac/${HMACTEST}.c ${.OBJDIR}
194
195$(HMACTEST): ${HMACTEST}.c
196	cc ${CFLAGS} -o $(HMACTEST) ${HMACTEST}.c $(LIBCRYPTO)
197
198$(DESTEST).c: ${CRYPTODIR}/des/${DESTEST}.c
199	cp ${CRYPTODIR}/des/${DESTEST}.c ${.OBJDIR}
200
201$(DESTEST): ${DESTEST}.c
202	cc ${CFLAGS} -o $(DESTEST) ${DESTEST}.c $(LIBCRYPTO)
203
204$(BFTEST).c: ${CRYPTODIR}/bf/${BFTEST}.c
205	cp ${CRYPTODIR}/bf/${BFTEST}.c ${.OBJDIR}
206
207$(BFTEST): ${BFTEST}.c
208	cc ${CFLAGS} -o $(BFTEST) ${BFTEST}.c $(LIBCRYPTO)
209
210$(RC2TEST).c: ${CRYPTODIR}/rc2/${RC2TEST}.c
211	cp ${CRYPTODIR}/rc2/${RC2TEST}.c ${.OBJDIR}
212
213$(RC2TEST): ${RC2TEST}.c
214	cc ${CFLAGS} -o $(RC2TEST) ${RC2TEST}.c $(LIBCRYPTO)
215
216$(RC4TEST).c: ${CRYPTODIR}/rc4/${RC4TEST}.c
217	cp ${CRYPTODIR}/rc4/${RC4TEST}.c ${.OBJDIR}
218
219$(RC4TEST): ${RC4TEST}.c
220	cc ${CFLAGS} -o $(RC4TEST) ${RC4TEST}.c $(LIBCRYPTO)
221
222$(MD4TEST).c: ${CRYPTODIR}/md4/${MD4TEST}.c
223	cp ${CRYPTODIR}/md4/${MD4TEST}.c ${.OBJDIR}
224
225$(MD4TEST): ${MD4TEST}.c
226	cc ${CFLAGS} -o $(MD4TEST) ${MD4TEST}.c $(LIBCRYPTO)
227
228$(MD5TEST).c: ${CRYPTODIR}/md5/${MD5TEST}.c
229	cp ${CRYPTODIR}/md5/${MD5TEST}.c ${.OBJDIR}
230
231$(MD5TEST): ${MD5TEST}.c
232	cc ${CFLAGS} -o $(MD5TEST) ${MD5TEST}.c $(LIBCRYPTO)
233
234$(ECDHTEST).c: ${CRYPTODIR}/ecdh/${ECDHTEST}.c
235	cp ${CRYPTODIR}/ecdh/${ECDHTEST}.c ${.OBJDIR}
236
237$(ECDHTEST): ${ECDHTEST}.c
238	cc ${CFLAGS} -o $(ECDHTEST) ${ECDHTEST}.c $(LIBCRYPTO)
239
240$(ECDSATEST).c: ${CRYPTODIR}/ecdsa/${ECDSATEST}.c
241	cp ${CRYPTODIR}/ecdsa/${ECDSATEST}.c ${.OBJDIR}
242
243$(ECDSATEST): ${ECDSATEST}.c
244	cc ${CFLAGS} -o $(ECDSATEST) ${ECDSATEST}.c $(LIBCRYPTO)
245
246$(IGETEST).c: ${SSLDIR}/../test/${IGETEST}.c
247	cp ${SSLDIR}/../test/${IGETEST}.c ${.OBJDIR}
248
249$(IGETEST): ${IGETEST}.c
250	cc ${CFLAGS} -o $(IGETEST) ${IGETEST}.c $(LIBCRYPTO)
251
252$(SHA256TEST).c: ${SSLDIR}/sha/${SHA256TEST}.c
253	cp ${SSLDIR}/sha/${SHA256TEST}.c ${.OBJDIR}
254
255$(SHA256TEST): ${SHA256TEST}.c
256	cc ${CFLAGS} -o $(SHA256TEST) ${SHA256TEST}.c $(LIBCRYPTO)
257
258$(SHA512TEST).c: ${SSLDIR}/sha/${SHA512TEST}.c
259	cp ${SSLDIR}/sha/${SHA512TEST}.c ${.OBJDIR}
260
261$(SHA512TEST): ${SHA512TEST}.c
262	cc ${CFLAGS} -o $(SHA512TEST) ${SHA512TEST}.c $(LIBCRYPTO)
263
264.include <bsd.regress.mk>
265