xref: /freebsd-12.1/lib/libbearssl/Makefile (revision ae8c08e7)
1*ae8c08e7SSimon J. Gerraty# $FreeBSD$
2*ae8c08e7SSimon J. Gerraty
3*ae8c08e7SSimon J. Gerraty# This is a reach over build of BearSSL (www.BearSSL.org)
4*ae8c08e7SSimon J. Gerraty
5*ae8c08e7SSimon J. Gerraty.include <src.opts.mk>
6*ae8c08e7SSimon J. Gerraty
7*ae8c08e7SSimon J. GerratyLIB= bearssl
8*ae8c08e7SSimon J. Gerraty
9*ae8c08e7SSimon J. Gerraty# pick up SRCS used by libsa
10*ae8c08e7SSimon J. Gerraty.include "Makefile.libsa.inc"
11*ae8c08e7SSimon J. Gerraty
12*ae8c08e7SSimon J. GerratySRCS+= \
13*ae8c08e7SSimon J. Gerraty	codec/dec16be.c \
14*ae8c08e7SSimon J. Gerraty	codec/dec16le.c \
15*ae8c08e7SSimon J. Gerraty	codec/dec32le.c \
16*ae8c08e7SSimon J. Gerraty	codec/dec64le.c \
17*ae8c08e7SSimon J. Gerraty	codec/enc16be.c \
18*ae8c08e7SSimon J. Gerraty	codec/enc16le.c \
19*ae8c08e7SSimon J. Gerraty	codec/enc32le.c \
20*ae8c08e7SSimon J. Gerraty	codec/enc64le.c \
21*ae8c08e7SSimon J. Gerraty	codec/pemenc.c \
22*ae8c08e7SSimon J. Gerraty	ec/ec_all_m15.c \
23*ae8c08e7SSimon J. Gerraty	ec/ec_c25519_i15.c \
24*ae8c08e7SSimon J. Gerraty	ec/ec_c25519_i31.c \
25*ae8c08e7SSimon J. Gerraty	ec/ec_c25519_m15.c \
26*ae8c08e7SSimon J. Gerraty	ec/ec_curve25519.c \
27*ae8c08e7SSimon J. Gerraty	ec/ec_keygen.c \
28*ae8c08e7SSimon J. Gerraty	ec/ec_p256_m15.c \
29*ae8c08e7SSimon J. Gerraty	ec/ec_prime_i15.c \
30*ae8c08e7SSimon J. Gerraty	ec/ecdsa_default_sign_asn1.c \
31*ae8c08e7SSimon J. Gerraty	ec/ecdsa_default_sign_raw.c \
32*ae8c08e7SSimon J. Gerraty	ec/ecdsa_default_vrfy_raw.c \
33*ae8c08e7SSimon J. Gerraty	ec/ecdsa_i15_bits.c \
34*ae8c08e7SSimon J. Gerraty	ec/ecdsa_i15_sign_asn1.c \
35*ae8c08e7SSimon J. Gerraty	ec/ecdsa_i15_sign_raw.c \
36*ae8c08e7SSimon J. Gerraty	ec/ecdsa_i15_vrfy_asn1.c \
37*ae8c08e7SSimon J. Gerraty	ec/ecdsa_i15_vrfy_raw.c \
38*ae8c08e7SSimon J. Gerraty	ec/ecdsa_i31_sign_asn1.c \
39*ae8c08e7SSimon J. Gerraty	ec/ecdsa_i31_sign_raw.c \
40*ae8c08e7SSimon J. Gerraty	ec/ecdsa_rta.c \
41*ae8c08e7SSimon J. Gerraty	hash/dig_oid.c \
42*ae8c08e7SSimon J. Gerraty	hash/dig_size.c \
43*ae8c08e7SSimon J. Gerraty	hash/ghash_ctmul.c \
44*ae8c08e7SSimon J. Gerraty	hash/ghash_ctmul32.c \
45*ae8c08e7SSimon J. Gerraty	hash/ghash_ctmul64.c \
46*ae8c08e7SSimon J. Gerraty	hash/ghash_pwr8.c \
47*ae8c08e7SSimon J. Gerraty	hash/md5.c \
48*ae8c08e7SSimon J. Gerraty	hash/md5sha1.c \
49*ae8c08e7SSimon J. Gerraty
50*ae8c08e7SSimon J. Gerraty
51*ae8c08e7SSimon J. Gerraty# this one does not compile for amd64
52*ae8c08e7SSimon J. Gerraty# we do not need it
53*ae8c08e7SSimon J. Gerraty#	hash/ghash_pclmul.c \
54*ae8c08e7SSimon J. Gerraty
55*ae8c08e7SSimon J. GerratySRCS+= \
56*ae8c08e7SSimon J. Gerraty	int/i15_add.c \
57*ae8c08e7SSimon J. Gerraty	int/i15_bitlen.c \
58*ae8c08e7SSimon J. Gerraty	int/i15_decmod.c \
59*ae8c08e7SSimon J. Gerraty	int/i15_decode.c \
60*ae8c08e7SSimon J. Gerraty	int/i15_decred.c \
61*ae8c08e7SSimon J. Gerraty	int/i15_encode.c \
62*ae8c08e7SSimon J. Gerraty	int/i15_fmont.c \
63*ae8c08e7SSimon J. Gerraty	int/i15_iszero.c \
64*ae8c08e7SSimon J. Gerraty	int/i15_moddiv.c \
65*ae8c08e7SSimon J. Gerraty	int/i15_modpow.c \
66*ae8c08e7SSimon J. Gerraty	int/i15_modpow2.c \
67*ae8c08e7SSimon J. Gerraty	int/i15_montmul.c \
68*ae8c08e7SSimon J. Gerraty	int/i15_mulacc.c \
69*ae8c08e7SSimon J. Gerraty	int/i15_muladd.c \
70*ae8c08e7SSimon J. Gerraty	int/i15_ninv15.c \
71*ae8c08e7SSimon J. Gerraty	int/i15_reduce.c \
72*ae8c08e7SSimon J. Gerraty	int/i15_rshift.c \
73*ae8c08e7SSimon J. Gerraty	int/i15_sub.c \
74*ae8c08e7SSimon J. Gerraty	int/i15_tmont.c \
75*ae8c08e7SSimon J. Gerraty	int/i31_decred.c \
76*ae8c08e7SSimon J. Gerraty	int/i31_mulacc.c \
77*ae8c08e7SSimon J. Gerraty	int/i31_reduce.c \
78*ae8c08e7SSimon J. Gerraty	int/i32_add.c \
79*ae8c08e7SSimon J. Gerraty	int/i32_bitlen.c \
80*ae8c08e7SSimon J. Gerraty	int/i32_decmod.c \
81*ae8c08e7SSimon J. Gerraty	int/i32_decode.c \
82*ae8c08e7SSimon J. Gerraty	int/i32_decred.c \
83*ae8c08e7SSimon J. Gerraty	int/i32_encode.c \
84*ae8c08e7SSimon J. Gerraty	int/i32_fmont.c \
85*ae8c08e7SSimon J. Gerraty	int/i32_iszero.c \
86*ae8c08e7SSimon J. Gerraty	int/i32_modpow.c \
87*ae8c08e7SSimon J. Gerraty	int/i32_montmul.c \
88*ae8c08e7SSimon J. Gerraty	int/i32_mulacc.c \
89*ae8c08e7SSimon J. Gerraty	int/i32_muladd.c \
90*ae8c08e7SSimon J. Gerraty	int/i32_ninv32.c \
91*ae8c08e7SSimon J. Gerraty	int/i32_reduce.c \
92*ae8c08e7SSimon J. Gerraty	int/i32_sub.c \
93*ae8c08e7SSimon J. Gerraty	int/i32_tmont.c \
94*ae8c08e7SSimon J. Gerraty
95*ae8c08e7SSimon J. GerratySRCS+= \
96*ae8c08e7SSimon J. Gerraty	kdf/hkdf.c \
97*ae8c08e7SSimon J. Gerraty	kdf/shake.c \
98*ae8c08e7SSimon J. Gerraty
99*ae8c08e7SSimon J. GerratySRCS+= \
100*ae8c08e7SSimon J. Gerraty	rsa/rsa_default_keygen.c \
101*ae8c08e7SSimon J. Gerraty	rsa/rsa_default_modulus.c \
102*ae8c08e7SSimon J. Gerraty	rsa/rsa_default_pkcs1_sign.c \
103*ae8c08e7SSimon J. Gerraty	rsa/rsa_default_priv.c \
104*ae8c08e7SSimon J. Gerraty	rsa/rsa_default_privexp.c \
105*ae8c08e7SSimon J. Gerraty	rsa/rsa_default_pss_sign.c \
106*ae8c08e7SSimon J. Gerraty	rsa/rsa_default_pss_vrfy.c \
107*ae8c08e7SSimon J. Gerraty	rsa/rsa_default_pub.c \
108*ae8c08e7SSimon J. Gerraty	rsa/rsa_default_pubexp.c \
109*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_keygen.c \
110*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_modulus.c \
111*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_pkcs1_sign.c \
112*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_pkcs1_vrfy.c \
113*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_priv.c \
114*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_privexp.c \
115*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_pss_sign.c \
116*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_pss_vrfy.c \
117*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_pub.c \
118*ae8c08e7SSimon J. Gerraty	rsa/rsa_i15_pubexp.c \
119*ae8c08e7SSimon J. Gerraty	rsa/rsa_i31_keygen.c \
120*ae8c08e7SSimon J. Gerraty	rsa/rsa_i31_keygen_inner.c \
121*ae8c08e7SSimon J. Gerraty	rsa/rsa_i31_modulus.c \
122*ae8c08e7SSimon J. Gerraty	rsa/rsa_i31_pkcs1_sign.c \
123*ae8c08e7SSimon J. Gerraty	rsa/rsa_i31_priv.c \
124*ae8c08e7SSimon J. Gerraty	rsa/rsa_i31_privexp.c \
125*ae8c08e7SSimon J. Gerraty	rsa/rsa_i31_pss_sign.c \
126*ae8c08e7SSimon J. Gerraty	rsa/rsa_i31_pss_vrfy.c \
127*ae8c08e7SSimon J. Gerraty	rsa/rsa_i31_pubexp.c \
128*ae8c08e7SSimon J. Gerraty	rsa/rsa_i32_pkcs1_sign.c \
129*ae8c08e7SSimon J. Gerraty	rsa/rsa_i32_pkcs1_vrfy.c \
130*ae8c08e7SSimon J. Gerraty	rsa/rsa_i32_priv.c \
131*ae8c08e7SSimon J. Gerraty	rsa/rsa_i32_pss_sign.c \
132*ae8c08e7SSimon J. Gerraty	rsa/rsa_i32_pss_vrfy.c \
133*ae8c08e7SSimon J. Gerraty	rsa/rsa_i32_pub.c \
134*ae8c08e7SSimon J. Gerraty	rsa/rsa_i62_keygen.c \
135*ae8c08e7SSimon J. Gerraty	rsa/rsa_i62_pkcs1_sign.c \
136*ae8c08e7SSimon J. Gerraty	rsa/rsa_i62_priv.c \
137*ae8c08e7SSimon J. Gerraty	rsa/rsa_i62_pss_sign.c \
138*ae8c08e7SSimon J. Gerraty	rsa/rsa_i62_pss_vrfy.c \
139*ae8c08e7SSimon J. Gerraty	rsa/rsa_pkcs1_sig_pad.c \
140*ae8c08e7SSimon J. Gerraty	rsa/rsa_pss_sig_pad.c \
141*ae8c08e7SSimon J. Gerraty	rsa/rsa_pss_sig_unpad.c \
142*ae8c08e7SSimon J. Gerraty	rsa/rsa_ssl_decrypt.c \
143*ae8c08e7SSimon J. Gerraty
144*ae8c08e7SSimon J. GerratySRCS+= \
145*ae8c08e7SSimon J. Gerraty	x509/encode_ec_pk8der.c \
146*ae8c08e7SSimon J. Gerraty	x509/encode_ec_rawder.c \
147*ae8c08e7SSimon J. Gerraty	x509/encode_rsa_pk8der.c \
148*ae8c08e7SSimon J. Gerraty	x509/encode_rsa_rawder.c \
149*ae8c08e7SSimon J. Gerraty	x509/skey_decoder.c \
150*ae8c08e7SSimon J. Gerraty	x509/x509_knownkey.c \
151*ae8c08e7SSimon J. Gerraty	x509/x509_minimal_full.c \
152*ae8c08e7SSimon J. Gerraty
153*ae8c08e7SSimon J. GerratyINCS= \
154*ae8c08e7SSimon J. Gerraty	inc/bearssl.h \
155*ae8c08e7SSimon J. Gerraty	inc/bearssl_aead.h \
156*ae8c08e7SSimon J. Gerraty	inc/bearssl_block.h \
157*ae8c08e7SSimon J. Gerraty	inc/bearssl_ec.h \
158*ae8c08e7SSimon J. Gerraty	inc/bearssl_hash.h \
159*ae8c08e7SSimon J. Gerraty	inc/bearssl_hmac.h \
160*ae8c08e7SSimon J. Gerraty	inc/bearssl_kdf.h \
161*ae8c08e7SSimon J. Gerraty	inc/bearssl_pem.h \
162*ae8c08e7SSimon J. Gerraty	inc/bearssl_prf.h \
163*ae8c08e7SSimon J. Gerraty	inc/bearssl_rand.h \
164*ae8c08e7SSimon J. Gerraty	inc/bearssl_rsa.h \
165*ae8c08e7SSimon J. Gerraty	inc/bearssl_ssl.h \
166*ae8c08e7SSimon J. Gerraty	inc/bearssl_x509.h \
167*ae8c08e7SSimon J. Gerraty
168*ae8c08e7SSimon J. GerratyINCS:= ${INCS:S,^,${BEARSSL}/,}
169*ae8c08e7SSimon J. Gerraty
170*ae8c08e7SSimon J. Gerraty
171*ae8c08e7SSimon J. Gerraty.if ${MK_BEARSSL_SSL:Uno} == "yes"
172*ae8c08e7SSimon J. GerratySRCS+= \
173*ae8c08e7SSimon J. Gerraty	mac/hmac.c \
174*ae8c08e7SSimon J. Gerraty	mac/hmac_ct.c \
175*ae8c08e7SSimon J. Gerraty	rand/hmac_drbg.c \
176*ae8c08e7SSimon J. Gerraty	ssl/prf.c \
177*ae8c08e7SSimon J. Gerraty	ssl/prf_md5sha1.c \
178*ae8c08e7SSimon J. Gerraty	ssl/prf_sha256.c \
179*ae8c08e7SSimon J. Gerraty	ssl/prf_sha384.c \
180*ae8c08e7SSimon J. Gerraty	ssl/ssl_ccert_single_ec.c \
181*ae8c08e7SSimon J. Gerraty	ssl/ssl_ccert_single_rsa.c \
182*ae8c08e7SSimon J. Gerraty	ssl/ssl_client.c \
183*ae8c08e7SSimon J. Gerraty	ssl/ssl_client_default_rsapub.c \
184*ae8c08e7SSimon J. Gerraty	ssl/ssl_client_full.c \
185*ae8c08e7SSimon J. Gerraty	ssl/ssl_engine.c \
186*ae8c08e7SSimon J. Gerraty	ssl/ssl_engine_default_aescbc.c \
187*ae8c08e7SSimon J. Gerraty	ssl/ssl_engine_default_aesccm.c \
188*ae8c08e7SSimon J. Gerraty	ssl/ssl_engine_default_aesgcm.c \
189*ae8c08e7SSimon J. Gerraty	ssl/ssl_engine_default_chapol.c \
190*ae8c08e7SSimon J. Gerraty	ssl/ssl_engine_default_descbc.c \
191*ae8c08e7SSimon J. Gerraty	ssl/ssl_engine_default_ec.c \
192*ae8c08e7SSimon J. Gerraty	ssl/ssl_engine_default_ecdsa.c \
193*ae8c08e7SSimon J. Gerraty	ssl/ssl_engine_default_rsavrfy.c \
194*ae8c08e7SSimon J. Gerraty	ssl/ssl_hashes.c \
195*ae8c08e7SSimon J. Gerraty	ssl/ssl_hs_client.c \
196*ae8c08e7SSimon J. Gerraty	ssl/ssl_hs_server.c \
197*ae8c08e7SSimon J. Gerraty	ssl/ssl_io.c \
198*ae8c08e7SSimon J. Gerraty	ssl/ssl_lru.c \
199*ae8c08e7SSimon J. Gerraty	ssl/ssl_rec_cbc.c \
200*ae8c08e7SSimon J. Gerraty	ssl/ssl_rec_ccm.c \
201*ae8c08e7SSimon J. Gerraty	ssl/ssl_rec_chapol.c \
202*ae8c08e7SSimon J. Gerraty	ssl/ssl_rec_gcm.c \
203*ae8c08e7SSimon J. Gerraty	ssl/ssl_scert_single_ec.c \
204*ae8c08e7SSimon J. Gerraty	ssl/ssl_scert_single_rsa.c \
205*ae8c08e7SSimon J. Gerraty	ssl/ssl_server.c \
206*ae8c08e7SSimon J. Gerraty	ssl/ssl_server_full_ec.c \
207*ae8c08e7SSimon J. Gerraty	ssl/ssl_server_full_rsa.c \
208*ae8c08e7SSimon J. Gerraty	ssl/ssl_server_mine2c.c \
209*ae8c08e7SSimon J. Gerraty	ssl/ssl_server_mine2g.c \
210*ae8c08e7SSimon J. Gerraty	ssl/ssl_server_minf2c.c \
211*ae8c08e7SSimon J. Gerraty	ssl/ssl_server_minf2g.c \
212*ae8c08e7SSimon J. Gerraty	ssl/ssl_server_minr2g.c \
213*ae8c08e7SSimon J. Gerraty	ssl/ssl_server_minu2g.c \
214*ae8c08e7SSimon J. Gerraty	ssl/ssl_server_minv2g.c \
215*ae8c08e7SSimon J. Gerraty
216*ae8c08e7SSimon J. GerratySRCS+= \
217*ae8c08e7SSimon J. Gerraty	symcipher/aes_big_cbcdec.c \
218*ae8c08e7SSimon J. Gerraty	symcipher/aes_big_cbcenc.c \
219*ae8c08e7SSimon J. Gerraty	symcipher/aes_big_ctr.c \
220*ae8c08e7SSimon J. Gerraty	symcipher/aes_big_dec.c \
221*ae8c08e7SSimon J. Gerraty	symcipher/aes_big_enc.c \
222*ae8c08e7SSimon J. Gerraty	symcipher/aes_common.c \
223*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct.c \
224*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct64.c \
225*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct64_cbcdec.c \
226*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct64_cbcenc.c \
227*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct64_ctr.c \
228*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct64_dec.c \
229*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct64_enc.c \
230*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct_cbcdec.c \
231*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct_cbcenc.c \
232*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct_ctr.c \
233*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct_dec.c \
234*ae8c08e7SSimon J. Gerraty	symcipher/aes_ct_enc.c \
235*ae8c08e7SSimon J. Gerraty	symcipher/aes_pwr8.c \
236*ae8c08e7SSimon J. Gerraty	symcipher/aes_pwr8_cbcdec.c \
237*ae8c08e7SSimon J. Gerraty	symcipher/aes_pwr8_cbcenc.c \
238*ae8c08e7SSimon J. Gerraty	symcipher/aes_pwr8_ctr.c \
239*ae8c08e7SSimon J. Gerraty	symcipher/aes_pwr8_ctrcbc.c \
240*ae8c08e7SSimon J. Gerraty	symcipher/aes_small_cbcdec.c \
241*ae8c08e7SSimon J. Gerraty	symcipher/aes_small_cbcenc.c \
242*ae8c08e7SSimon J. Gerraty	symcipher/aes_small_ctr.c \
243*ae8c08e7SSimon J. Gerraty	symcipher/aes_small_dec.c \
244*ae8c08e7SSimon J. Gerraty	symcipher/aes_small_enc.c \
245*ae8c08e7SSimon J. Gerraty	symcipher/aes_x86ni.c \
246*ae8c08e7SSimon J. Gerraty	symcipher/aes_x86ni_cbcdec.c \
247*ae8c08e7SSimon J. Gerraty	symcipher/aes_x86ni_cbcenc.c \
248*ae8c08e7SSimon J. Gerraty	symcipher/aes_x86ni_ctr.c \
249*ae8c08e7SSimon J. Gerraty	symcipher/chacha20_ct.c \
250*ae8c08e7SSimon J. Gerraty	symcipher/des_ct.c \
251*ae8c08e7SSimon J. Gerraty	symcipher/des_ct_cbcdec.c \
252*ae8c08e7SSimon J. Gerraty	symcipher/des_ct_cbcenc.c \
253*ae8c08e7SSimon J. Gerraty	symcipher/des_support.c \
254*ae8c08e7SSimon J. Gerraty	symcipher/des_tab.c \
255*ae8c08e7SSimon J. Gerraty	symcipher/des_tab_cbcdec.c \
256*ae8c08e7SSimon J. Gerraty	symcipher/des_tab_cbcenc.c \
257*ae8c08e7SSimon J. Gerraty	symcipher/poly1305_ctmul.c \
258*ae8c08e7SSimon J. Gerraty	symcipher/poly1305_ctmul32.c \
259*ae8c08e7SSimon J. Gerraty	symcipher/poly1305_ctmulq.c \
260*ae8c08e7SSimon J. Gerraty	symcipher/poly1305_i15.c \
261*ae8c08e7SSimon J. Gerraty
262*ae8c08e7SSimon J. Gerraty.endif
263*ae8c08e7SSimon J. Gerraty
264*ae8c08e7SSimon J. Gerraty.include <bsd.lib.mk>
265*ae8c08e7SSimon J. Gerraty
266*ae8c08e7SSimon J. Gerraty.if ${MACHINE} == "host"
267*ae8c08e7SSimon J. GerratyCWARNFLAGS+= -Wno-error
268*ae8c08e7SSimon J. Gerraty.endif
269*ae8c08e7SSimon J. GerratyXCFLAGS.gcc.rsa_i62_keygen+= -Wno-error
270*ae8c08e7SSimon J. GerratyXCFLAGS.i15_moddiv+= -Wno-shadow
271*ae8c08e7SSimon J. GerratyXCFLAGS.i31_moddiv+= -Wno-shadow
272*ae8c08e7SSimon J. GerratyXCFLAGS.i62_modpow2+= -Wno-cast-align
273*ae8c08e7SSimon J. GerratyXCFLAGS.x509_minimal+= -Wno-cast-qual
274*ae8c08e7SSimon J. Gerraty
275*ae8c08e7SSimon J. GerratyCFLAGS+= ${XCFLAGS.${.TARGET:T:R}:U} \
276*ae8c08e7SSimon J. Gerraty	${XCFLAGS.${COMPILER_TYPE}.${.TARGET:T:R}:U}
277*ae8c08e7SSimon J. Gerraty
278