Makefile revision 1.11
1#	$OpenBSD: Makefile,v 1.11 2003/05/24 08:37:14 markus 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
11
12BNTEST=		bntest
13ECTEST=		ectest
14EXPTEST=	exptest
15SHATEST=	shatest
16SHA1TEST=	sha1test
17RMDTEST=	rmdtest
18MD2TEST=	md2test
19MD4TEST=	md4test
20MD5TEST=	md5test
21HMACTEST=	hmactest
22RC2TEST=	rc2test
23RC4TEST=	rc4test
24BFTEST=		bftest
25CASTTEST=	casttest
26DESTEST=	destest
27RANDTEST=	randtest
28DHTEST=		dhtest
29DSATEST=	dsatest
30RSATEST=	rsa_test
31ENGINETEST=	enginetest
32EVPTEST=	evp_test
33
34SSLDIR=	${.CURDIR}/../../../lib/libssl/src/crypto
35
36CFLAGS= -O -I${SSLDIR} -I${SSLDIR}/..
37
38CLEANFILES+=	$(BNTEST).c $(ECTEST).c $(HMACTEST).c \
39	$(SHATEST).c $(SHA1TEST).c $(MDC2TEST).c $(RMDTEST).c \
40	$(RANDTEST).c $(DHTEST).c $(ENGINETEST).c \
41	$(CASTTEST).c $(EXPTEST).c $(DSATEST).c $(RSATEST).c \
42	$(EVPTEST).c $(DESTEST).c ${RC2TEST}.c ${RC4TEST}.c ${MD2TEST}.c \
43	${MD4TEST}.c ${MD5TEST}.c
44
45CLEANFILES+=	$(BNTEST) $(ECTEST) $(HMACTEST) \
46	$(SHATEST) $(SHA1TEST) $(MDC2TEST) $(RMDTEST) \
47	$(RANDTEST) $(DHTEST) $(ENGINETEST) \
48	$(CASTTEST) $(EXPTEST) $(DSATEST) $(RSATEST) \
49	$(EVPTEST) $(DESTEST) ${RC2TEST} ${RC4TEST} ${MD2TEST} ${MD4TEST} \
50	${MD5TEST}\
51
52CLEANFILES+= ${BNTEST}.out
53
54OTESTS= ${ENGINETEST}  \
55	${EXPTEST} ${RANDTEST} \
56	${MD2TEST} ${MD4TEST} ${MD5TEST} \
57	${SHATEST} ${SHA1TEST} ${HMACTEST} ${RMDTEST} ${MDC2TEST} \
58	${CASTTEST} ${RC2TEST} ${RC4TEST} ${DESTEST} \
59	${DHTEST} ${DSATEST} ${RSATEST} \
60	${ECTEST}
61
62${CLEAR1}: openssl.cnf
63	cat ${.CURDIR}/openssl.cnf > ${CLEAR1}
64
65CLEANFILES+=${CLEAR1}
66
67ENCTARGETS=rc4 des-cfb des-ede-cfb des-ede3-cfb des-ofb des-ede-ofb des-ede3-ofb
68ENCTARGETS+=des-ecb des-ede des-ede3 desx des-cbc des-ede-cbc des-ede3-cbc
69ENCTARGETS+=rc2-ecb rc2-cfb rc2-ofb rc2-cbc bf-ecb bf-cfb bf-ofb bf-cbc rc4
70ENCTARGETS+=cast5-ecb cast5-cfb cast5-ofb cast5-cbc
71
72.for ENC in ${ENCTARGETS}
73${CIPHER}.${ENC}: ${CLEAR1}
74	${OPENSSL} ${ENC} -bufsize 113 -e -k test < ${CLEAR1} > ${CIPHER}.${ENC}
75${CIPHER}.${ENC}.b64: ${CLEAR1}
76	${OPENSSL} ${ENC} -bufsize 113 -a -e -k test < ${CLEAR1} > ${CIPHER}.${ENC}.b64
77
78${CLEAR2}.${ENC}: ${CIPHER}.${ENC}
79	${OPENSSL} ${ENC} -bufsize 157 -d -k test < ${CIPHER}.${ENC} > ${CLEAR2}.${ENC}
80${CLEAR2}.${ENC}.b64: ${CIPHER}.${ENC}.b64
81	${OPENSSL} ${ENC} -bufsize 157 -a -d -k test < ${CIPHER}.${ENC}.b64 > ${CLEAR2}.${ENC}.b64
82
83ssl-enc-${ENC}: ${CLEAR1} ${CLEAR2}.${ENC}
84	cmp ${CLEAR1} ${CLEAR2}.${ENC}
85ssl-enc-${ENC}.b64: ${CLEAR1} ${CLEAR2}.${ENC}.b64
86	cmp ${CLEAR1} ${CLEAR2}.${ENC}.b64
87
88REGRESS_TARGETS+=ssl-enc-${ENC} ssl-enc-${ENC}.b64
89CLEANFILES+=${CIPHER}.${ENC} ${CIPHER}.${ENC}.b64 ${CLEAR2}.${ENC} ${CLEAR2}.${ENC}.b64 .rnd
90.endfor
91
92ssl-enc:
93	sh ${.CURDIR}/testenc.sh ${.OBJDIR} ${.CURDIR}
94ssl-dsa:
95	sh ${.CURDIR}/testdsa.sh ${.OBJDIR} ${.CURDIR}
96ssl-rsa:
97	sh ${.CURDIR}/testrsa.sh ${.OBJDIR} ${.CURDIR}
98
99ossltests: ${OTESTS} ${BNTEST} ${EVPTEST}
100	@echo running ${BNTEST}, check ${.OBJDIR}/${BNTEST}.out if this fails.
101	${.OBJDIR}/${BNTEST} > ${.OBJDIR}/${BNTEST}.out 2>&1
102.for OT in ${OTESTS}
103	@echo running ${OT}
104	${.OBJDIR}/${OT} 
105.endfor
106	@echo running ${EVPTEST}
107	${.OBJDIR}/${EVPTEST} ${SSLDIR}/evp/evptests.txt
108
109$(BNTEST).c: ${SSLDIR}/bn/bntest.c
110	cp ${SSLDIR}/bn/bntest.c ${.OBJDIR}
111
112$(BNTEST): ${BNTEST}.c
113	cc ${CFLAGS} -o $(BNTEST) ${BNTEST}.c -lcrypto
114
115$(EXPTEST).c: ${SSLDIR}/bn/exptest.c
116	cp ${SSLDIR}/bn/exptest.c ${.OBJDIR}
117
118$(EXPTEST): ${EXPTEST}.c
119	cc ${CFLAGS} -o $(EXPTEST) ${EXPTEST}.c -lcrypto
120
121$(ECTEST).c: ${SSLDIR}/ec/ectest.c
122	cp ${SSLDIR}/ec/ectest.c ${.OBJDIR}
123
124$(ECTEST): ${ECTEST}.c
125	cc ${CFLAGS} -o $(ECTEST) ${ECTEST}.c -lcrypto
126
127$(EVPTEST).c: ${SSLDIR}/evp/${EVPTEST}.c
128	cp ${SSLDIR}/evp/${EVPTEST}.c ${.OBJDIR}
129$(EVPTEST): ${EVPTEST}.c
130	cc ${CFLAGS} -o $(EVPTEST) ${EVPTEST}.c -lcrypto
131
132$(SHATEST).c: ${SSLDIR}/sha/${SHATEST}.c
133	cp ${SSLDIR}/sha/${SHATEST}.c ${.OBJDIR}
134$(SHATEST): ${SHATEST}.c
135	cc ${CFLAGS} -o $(SHATEST) ${SHATEST}.c -lcrypto
136
137$(SHA1TEST).c: ${SSLDIR}/sha/${SHA1TEST}.c
138	cp ${SSLDIR}/sha/${SHA1TEST}.c ${.OBJDIR}
139$(SHA1TEST): ${SHA1TEST}.c
140	cc ${CFLAGS} -o $(SHA1TEST) ${SHA1TEST}.c -lcrypto
141
142$(RANDTEST).c: ${SSLDIR}/rand/${RANDTEST}.c
143	cp ${SSLDIR}/rand/${RANDTEST}.c ${.OBJDIR}
144$(RANDTEST): ${RANDTEST}.c
145	cc ${CFLAGS} -o $(RANDTEST) ${RANDTEST}.c -lcrypto
146
147$(RMDTEST).c: ${SSLDIR}/ripemd/${RMDTEST}.c
148	cp ${SSLDIR}/ripemd/${RMDTEST}.c ${.OBJDIR}
149$(RMDTEST): ${RMDTEST}.c
150	cc ${CFLAGS} -o $(RMDTEST) ${RMDTEST}.c -lcrypto
151
152$(DHTEST).c: ${SSLDIR}/dh/${DHTEST}.c
153	cp ${SSLDIR}/dh/${DHTEST}.c ${.OBJDIR}
154
155$(DHTEST): ${DHTEST}.c
156	cc ${CFLAGS} -o $(DHTEST) ${DHTEST}.c -lcrypto
157
158$(ENGINETEST).c: ${SSLDIR}/engine/${ENGINETEST}.c
159	cp ${SSLDIR}/engine/${ENGINETEST}.c ${.OBJDIR}
160
161$(ENGINETEST): ${ENGINETEST}.c
162	cc ${CFLAGS} -o $(ENGINETEST) ${ENGINETEST}.c -lcrypto
163
164$(CASTTEST).c: ${SSLDIR}/cast/${CASTTEST}.c
165	cp ${SSLDIR}/cast/${CASTTEST}.c ${.OBJDIR}
166
167$(CASTTEST): ${CASTTEST}.c
168	cc ${CFLAGS} -o $(CASTTEST) ${CASTTEST}.c -lcrypto
169
170$(RSATEST).c: ${SSLDIR}/rsa/${RSATEST}.c
171	cp ${SSLDIR}/rsa/${RSATEST}.c ${.OBJDIR}
172
173$(RSATEST): ${RSATEST}.c
174	cc ${CFLAGS} -o $(RSATEST) ${RSATEST}.c -lcrypto
175
176$(DSATEST).c: ${SSLDIR}/dsa/${DSATEST}.c
177	cp ${SSLDIR}/dsa/${DSATEST}.c ${.OBJDIR}
178
179$(DSATEST): ${DSATEST}.c
180	cc ${CFLAGS} -o $(DSATEST) ${DSATEST}.c -lcrypto
181
182
183$(HMACTEST).c: ${SSLDIR}/hmac/${HMACTEST}.c
184	cp ${SSLDIR}/hmac/${HMACTEST}.c ${.OBJDIR}
185
186$(HMACTEST): ${HMACTEST}.c
187	cc ${CFLAGS} -o $(HMACTEST) ${HMACTEST}.c -lcrypto
188
189$(DESTEST).c: ${SSLDIR}/des/${DESTEST}.c
190	cp ${SSLDIR}/des/${DESTEST}.c ${.OBJDIR}
191
192$(DESTEST): ${DESTEST}.c
193	cc ${CFLAGS} -o $(DESTEST) ${DESTEST}.c -lcrypto
194
195$(BFTEST).c: ${SSLDIR}/bf/${BFTEST}.c
196	cp ${SSLDIR}/bf/${BFTEST}.c ${.OBJDIR}
197
198$(BFTEST): ${BFTEST}.c
199	cc ${CFLAGS} -o $(BFTEST) ${BFTEST}.c -lcrypto
200
201$(RC2TEST).c: ${SSLDIR}/rc2/${RC2TEST}.c
202	cp ${SSLDIR}/rc2/${RC2TEST}.c ${.OBJDIR}
203
204$(RC2TEST): ${RC2TEST}.c
205	cc ${CFLAGS} -o $(RC2TEST) ${RC2TEST}.c -lcrypto
206
207$(RC4TEST).c: ${SSLDIR}/rc4/${RC4TEST}.c
208	cp ${SSLDIR}/rc4/${RC4TEST}.c ${.OBJDIR}
209
210$(RC4TEST): ${RC4TEST}.c
211	cc ${CFLAGS} -o $(RC4TEST) ${RC4TEST}.c -lcrypto
212
213$(MD2TEST).c: ${SSLDIR}/md2/${MD2TEST}.c
214	cp ${SSLDIR}/md2/${MD2TEST}.c ${.OBJDIR}
215
216$(MD2TEST): ${MD2TEST}.c
217	cc ${CFLAGS} -o $(MD2TEST) ${MD2TEST}.c -lcrypto
218
219$(MD4TEST).c: ${SSLDIR}/md4/${MD4TEST}.c
220	cp ${SSLDIR}/md4/${MD4TEST}.c ${.OBJDIR}
221
222$(MD4TEST): ${MD4TEST}.c
223	cc ${CFLAGS} -o $(MD4TEST) ${MD4TEST}.c -lcrypto
224
225$(MD5TEST).c: ${SSLDIR}/md5/${MD5TEST}.c
226	cp ${SSLDIR}/md5/${MD5TEST}.c ${.OBJDIR}
227
228$(MD5TEST): ${MD5TEST}.c
229	cc ${CFLAGS} -o $(MD5TEST) ${MD5TEST}.c -lcrypto
230
231.include <bsd.regress.mk>
232