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