11.8Smrg#	$NetBSD: Makefile,v 1.8 2023/09/05 22:14:08 mrg Exp $
21.1Sriastrad
31.1Sriastrad.include <bsd.own.mk>
41.1Sriastrad
51.1SriastradTESTSDIR=	${TESTSBASE}/sys/crypto/chacha
61.1Sriastrad
71.1SriastradTESTS_C=	t_chacha
81.1Sriastrad
91.1SriastradAFLAGS+=	-D_LOCORE
101.1Sriastrad
111.1Sriastrad.PATH:	${NETBSDSRCDIR}/sys/crypto/chacha
121.1SriastradCPPFLAGS+=	-I${NETBSDSRCDIR}/sys
131.1Sriastrad
141.1SriastradSRCS.t_chacha+=	t_chacha.c
151.1Sriastrad
161.1SriastradSRCS.t_chacha+=	chacha_ref.c
171.1SriastradSRCS.t_chacha+=	chacha_selftest.c
181.1Sriastrad
191.5Sriastrad.if !empty(MACHINE_ARCH:Mearmv7*) || !empty(MACHINE_ARCH:Maarch64*)
201.1Sriastrad
211.1Sriastrad.PATH:	${NETBSDSRCDIR}/sys/crypto/chacha/arch/arm
221.1SriastradCPPFLAGS+=	-I${NETBSDSRCDIR}/sys/crypto/chacha/arch/arm
231.1Sriastrad
241.6SjakllschCLANG_NO_NONPORTABLE_VECTOR_INITIALIZATION= ${${ACTIVE_CC} == "clang":? -Wno-nonportable-vector-initialization :}
251.6Sjakllsch
261.1SriastradSRCS.t_chacha+=	chacha_neon.c
271.6SjakllschCOPTS.chacha_neon.c+=	${CLANG_NO_NONPORTABLE_VECTOR_INITIALIZATION}
281.5Sriastrad.if !empty(MACHINE_ARCH:Mearmv7*)
291.3SriastradSRCS.t_chacha+=	chacha_neon_32.S
301.3Sriastrad.elif !empty(MACHINE_ARCH:Maarch64*)
311.1SriastradSRCS.t_chacha+=	chacha_neon_64.S
321.2Sriastrad.endif
331.1SriastradSRCS.t_chacha+=	chacha_neon_impl.c
341.1Sriastrad
351.5Sriastrad.if !empty(MACHINE_ARCH:Mearmv7*) && empty(MACHINE_ARCH:Mearmv7hf*)
361.5SriastradCOPTS.chacha_neon.c+=		-mfloat-abi=softfp -mfpu=neon
371.5SriastradAOPTS.chacha_neon_32.S+=	-D__SOFTFP__
381.5Sriastrad.endif
391.5Sriastrad
401.2Sriastrad.endif				# earmv7 or aarch64
411.1Sriastrad
421.1Sriastrad.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
431.1Sriastrad
441.1Sriastrad.PATH:	${NETBSDSRCDIR}/sys/crypto/chacha/arch/x86
451.1SriastradCPPFLAGS+=	-I${NETBSDSRCDIR}/sys/crypto/chacha/arch/x86
461.1Sriastrad
471.1SriastradSRCS.t_chacha+=	chacha_sse2.c
481.1SriastradSRCS.t_chacha+=	chacha_sse2_impl.c
491.1SriastradCOPTS.chacha_sse2.c+=	-msse -msse2
501.7Smrg# XXXGCC12 - believes subkey[] is maybe uninitialised, but it is not.
511.8SmrgCOPTS.chacha_sse2.c+=	${${ACTIVE_CC} == "gcc":? -Wno-maybe-uninitialized :}
521.1Sriastrad
531.1Sriastrad.endif				# x86
541.1Sriastrad
551.1SriastradWARNS=		5
561.1Sriastrad
571.1Sriastrad.include <bsd.test.mk>
58