1#	$NetBSD: Makefile,v 1.8 2023/09/05 22:14:08 mrg Exp $
2
3.include <bsd.own.mk>
4
5TESTSDIR=	${TESTSBASE}/sys/crypto/chacha
6
7TESTS_C=	t_chacha
8
9AFLAGS+=	-D_LOCORE
10
11.PATH:	${NETBSDSRCDIR}/sys/crypto/chacha
12CPPFLAGS+=	-I${NETBSDSRCDIR}/sys
13
14SRCS.t_chacha+=	t_chacha.c
15
16SRCS.t_chacha+=	chacha_ref.c
17SRCS.t_chacha+=	chacha_selftest.c
18
19.if !empty(MACHINE_ARCH:Mearmv7*) || !empty(MACHINE_ARCH:Maarch64*)
20
21.PATH:	${NETBSDSRCDIR}/sys/crypto/chacha/arch/arm
22CPPFLAGS+=	-I${NETBSDSRCDIR}/sys/crypto/chacha/arch/arm
23
24CLANG_NO_NONPORTABLE_VECTOR_INITIALIZATION= ${${ACTIVE_CC} == "clang":? -Wno-nonportable-vector-initialization :}
25
26SRCS.t_chacha+=	chacha_neon.c
27COPTS.chacha_neon.c+=	${CLANG_NO_NONPORTABLE_VECTOR_INITIALIZATION}
28.if !empty(MACHINE_ARCH:Mearmv7*)
29SRCS.t_chacha+=	chacha_neon_32.S
30.elif !empty(MACHINE_ARCH:Maarch64*)
31SRCS.t_chacha+=	chacha_neon_64.S
32.endif
33SRCS.t_chacha+=	chacha_neon_impl.c
34
35.if !empty(MACHINE_ARCH:Mearmv7*) && empty(MACHINE_ARCH:Mearmv7hf*)
36COPTS.chacha_neon.c+=		-mfloat-abi=softfp -mfpu=neon
37AOPTS.chacha_neon_32.S+=	-D__SOFTFP__
38.endif
39
40.endif				# earmv7 or aarch64
41
42.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
43
44.PATH:	${NETBSDSRCDIR}/sys/crypto/chacha/arch/x86
45CPPFLAGS+=	-I${NETBSDSRCDIR}/sys/crypto/chacha/arch/x86
46
47SRCS.t_chacha+=	chacha_sse2.c
48SRCS.t_chacha+=	chacha_sse2_impl.c
49COPTS.chacha_sse2.c+=	-msse -msse2
50# XXXGCC12 - believes subkey[] is maybe uninitialised, but it is not.
51COPTS.chacha_sse2.c+=	${${ACTIVE_CC} == "gcc":? -Wno-maybe-uninitialized :}
52
53.endif				# x86
54
55WARNS=		5
56
57.include <bsd.test.mk>
58