Makefile revision 1.25
1#	$NetBSD: Makefile,v 1.25 2025/11/23 08:07:55 kre Exp $
2#
3
4S=${.CURDIR}/../../../..
5SODIUM_IMPORTDIR=${S}/external/isc/libsodium
6SODIUM_DIR=${SODIUM_IMPORTDIR}/dist/src/libsodium
7
8.PATH:	${S}/crypto/adiantum						\
9	${S}/crypto/aes							\
10	${S}/crypto/blowfish						\
11	${S}/crypto/camellia						\
12	${S}/crypto/cast128						\
13	${S}/crypto/des							\
14	${S}/crypto/skipjack						\
15	${SODIUM_DIR}/crypto_scalarmult/curve25519/ref10		\
16	${SODIUM_DIR}/crypto_scalarmult/curve25519			\
17	${SODIUM_DIR}/crypto_scalarmult					\
18	${SODIUM_DIR}/crypto_onetimeauth/poly1305/donna			\
19	${SODIUM_DIR}/crypto_onetimeauth/poly1305			\
20	${SODIUM_DIR}/crypto_onetimeauth				\
21	${SODIUM_DIR}/crypto_stream/chacha20/ref			\
22	${SODIUM_DIR}/crypto_stream/chacha20				\
23	${SODIUM_DIR}/crypto_aead/xchacha20poly1305/sodium		\
24	${SODIUM_DIR}/crypto_aead/chacha20poly1305/sodium		\
25	${SODIUM_DIR}/crypto_core/hchacha20				\
26	${SODIUM_DIR}/crypto_core/ed25519/ref10				\
27	${SODIUM_IMPORTDIR}/src
28
29LIB=	rumpkern_crypto
30COMMENT=Cryptographic routines
31
32# Adiantum
33SRCS+=	adiantum.c
34SRCS+=	adiantum_selftest.c
35
36# AES
37SRCS+=	aes_bear.c
38SRCS+=	aes_ccm.c
39SRCS+=	aes_ccm_mbuf.c
40SRCS+=	aes_ct.c
41SRCS+=	aes_ct_dec.c
42SRCS+=	aes_ct_enc.c
43SRCS+=	aes_impl.c
44SRCS+=	aes_keysched.c
45SRCS+=	aes_selftest.c
46
47# blowfish
48SRCS+=	bf_ecb.c bf_enc.c bf_cbc.c bf_skey.c bf_module.c
49
50# camellia
51SRCS+=  camellia.c camellia-api.c
52
53# cast128
54SRCS+=	cast128.c
55
56# DES
57SRCS+=	des_ecb.c des_setkey.c des_enc.c des_cbc.c des_module.c
58
59# skipjack
60SRCS+=	skipjack.c
61
62# libsodium
63SODIUM_CPPFLAGS+=	-I${SODIUM_IMPORTDIR}/include
64SODIUM_CPPFLAGS+=	-I${SODIUM_IMPORTDIR}/dist/src/libsodium/include/sodium
65
66#SODIUM_CPPFLAGS+=	-DHAVE_TI_MODE
67
68SODIUM_CWARNFLAGS+=	-Wno-shadow
69SODIUM_CWARNFLAGS+=	-Wno-unused-function
70SODIUM_CWARNFLAGS+=	-Wno-unused-variable
71
72SODIUM_SRCS+=	x25519_ref10.c
73SODIUM_SRCS+=	scalarmult_curve25519.c
74SODIUM_SRCS+=	crypto_scalarmult.c
75SODIUM_SRCS+=	poly1305_donna.c
76SODIUM_SRCS+=	onetimeauth_poly1305.c
77SODIUM_SRCS+=	crypto_onetimeauth.c
78SODIUM_SRCS+=	chacha20_ref.c
79SODIUM_SRCS+=	stream_chacha20.c
80SODIUM_SRCS+=	aead_xchacha20poly1305.c
81SODIUM_SRCS+=	aead_chacha20poly1305.c
82SODIUM_SRCS+=	core_hchacha20.c
83SODIUM_SRCS+=	ed25519_ref10.c
84SODIUM_SRCS+=	sodium_module.c
85SODIUM_SRCS+=	sodium_selftest.c
86
87SRCS+=	${SODIUM_SRCS}
88
89.for _s_ in ${SODIUM_SRCS}
90CPPFLAGS.${_s_}+=	${SODIUM_CPPFLAGS}
91COPTS.${_s_}+=		${SODIUM_CWARNFLAGS}
92.endfor
93
94.include <bsd.lib.mk>
95.include <bsd.klinks.mk>
96