xref: /freebsd-13.1/sys/modules/crypto/Makefile (revision d5cbcae3)
1f544a528SMark Murray# $FreeBSD$
2f544a528SMark Murray
301d5de8fSConrad MeyerLIBSODIUM=${SRCTOP}/sys/contrib/libsodium/src/libsodium
401d5de8fSConrad Meyer
5193d9e76SEnji Cooper.PATH:	${SRCTOP}/sys/opencrypto
6193d9e76SEnji Cooper.PATH:	${SRCTOP}/sys/crypto
7193d9e76SEnji Cooper.PATH:	${SRCTOP}/sys/crypto/camellia
8193d9e76SEnji Cooper.PATH:	${SRCTOP}/sys/crypto/des
9193d9e76SEnji Cooper.PATH:	${SRCTOP}/sys/crypto/rijndael
10193d9e76SEnji Cooper.PATH:	${SRCTOP}/sys/crypto/sha2
11193d9e76SEnji Cooper.PATH:	${SRCTOP}/sys/crypto/siphash
12193d9e76SEnji Cooper.PATH:	${SRCTOP}/sys/crypto/skein
130e33efe4SConrad Meyer.PATH:	${SRCTOP}/sys/crypto/blake2
1461590291SConrad Meyer.PATH:	${SRCTOP}/sys/crypto/chacha20
150e33efe4SConrad Meyer.PATH:	${SRCTOP}/sys/contrib/libb2
1601d5de8fSConrad Meyer.PATH:	${LIBSODIUM}/crypto_onetimeauth/poly1305
1701d5de8fSConrad Meyer.PATH:	${LIBSODIUM}/crypto_onetimeauth/poly1305/donna
18*d5cbcae3SJohn Baldwin.PATH:	${LIBSODIUM}/crypto_stream/chacha20
19*d5cbcae3SJohn Baldwin.PATH:	${LIBSODIUM}/crypto_stream/chacha20/ref
2001d5de8fSConrad Meyer.PATH:	${LIBSODIUM}/crypto_verify/sodium
2101d5de8fSConrad Meyer.PATH:	${SRCTOP}/sys/crypto/libsodium
22f544a528SMark Murray
23f544a528SMark MurrayKMOD	= crypto
2463f0abbfSSam LefflerSRCS	= crypto.c cryptodev_if.c
2537621fd5SBruce M SimpsonSRCS	+= criov.c cryptosoft.c xform.c
267971a6f9SJohn BaldwinSRCS	+= cryptodeflate.c rmd160.c rijndael-alg-fst.c rijndael-api.c rijndael-api-fst.c
276a3645bbSMarcel MoolenaarSRCS	+= camellia.c camellia-api.c
28f544a528SMark MurraySRCS	+= des_ecb.c des_enc.c des_setkey.c
297a3f5d11SAllan JudeSRCS	+= sha1.c sha256c.c sha512c.c
30b468a9ffSAllan JudeSRCS	+= skein.c skein_block.c
31929b476aSAllan Jude# unroll the 256 and 512 loops, half unroll the 1024
32310e81aeSEd MasteCFLAGS.skein_block.c	+= -DSKEIN_LOOP=995
3349d48f45SEd Maste.if exists(${MACHINE_ARCH}/skein_block_asm.S)
3449d48f45SEd Maste.PATH:	${SRCTOP}/sys/crypto/skein/${MACHINE_ARCH}
3549d48f45SEd MasteSRCS	+= skein_block_asm.S
3649d48f45SEd MasteCFLAGS	+= -DSKEIN_ASM -DSKEIN_USE_ASM=1792 # list of block functions to replace with assembly: 256+512+1024 = 1792
3749d48f45SEd MasteACFLAGS	+= -DELF -Wa,--noexecstack
3849d48f45SEd Maste# Fully unroll all loops in the assembly optimized version
3949d48f45SEd MasteACFLAGS	+= -DSKEIN_LOOP=0
4049d48f45SEd Maste# 20201002 Add explict Makefile dependency for reenabled assembly optimized
4149d48f45SEd Maste# version. SKEIN_USE_ASM determines which routines should come from the assembly
4249d48f45SEd Maste# vs C versions, and skein_block needs to be rebuilt if it changes.
4349d48f45SEd Masteskein_block.o: Makefile
4449d48f45SEd Maste.endif
456a3645bbSMarcel MoolenaarSRCS	+= siphash.c
4608fca7a5SJohn-Mark GurneySRCS	+= gmac.c gfmult.c
470e33efe4SConrad MeyerSRCS	+= blake2b-ref.c
480e33efe4SConrad MeyerSRCS	+= blake2s-ref.c
490e33efe4SConrad MeyerSRCS	+= blake2-sw.c
500e33efe4SConrad MeyerCFLAGS.blake2b-ref.c	+= -I${SRCTOP}/sys/crypto/blake2 -DSUFFIX=_ref
510e33efe4SConrad MeyerCFLAGS.blake2s-ref.c	+= -I${SRCTOP}/sys/crypto/blake2 -DSUFFIX=_ref
520e33efe4SConrad MeyerCFLAGS.blake2-sw.c	+= -I${SRCTOP}/sys/crypto/blake2
53cccc969bSMatt MacyCWARNFLAGS.blake2b-ref.c	+= -Wno-cast-qual -Wno-unused-function
54cccc969bSMatt MacyCWARNFLAGS.blake2s-ref.c	+= -Wno-cast-qual -Wno-unused-function
5561590291SConrad MeyerSRCS	+= chacha.c
5661590291SConrad MeyerSRCS	+= chacha-sw.c
5701d5de8fSConrad Meyer
5801d5de8fSConrad MeyerLIBSODIUM_INC=${LIBSODIUM}/include
5901d5de8fSConrad MeyerLIBSODIUM_COMPAT=${SRCTOP}/sys/crypto/libsodium
60*d5cbcae3SJohn BaldwinSRCS	+= xform_chacha20_poly1305.c
61*d5cbcae3SJohn BaldwinCFLAGS.xform_chacha20_poly1305.c+= -I${LIBSODIUM_INC} -I${LIBSODIUM_COMPAT}
6201d5de8fSConrad MeyerSRCS	+= xform_poly1305.c
6301d5de8fSConrad MeyerCFLAGS.xform_poly1305.c		+= -I${LIBSODIUM_INC} -I${LIBSODIUM_COMPAT}
64*d5cbcae3SJohn BaldwinSRCS	+= stream_chacha20.c
65*d5cbcae3SJohn BaldwinCFLAGS.stream_chacha20.c	+= -I${LIBSODIUM_INC}/sodium -I${LIBSODIUM_COMPAT}
66*d5cbcae3SJohn BaldwinSRCS	+= chacha20_ref.c
67*d5cbcae3SJohn BaldwinCFLAGS.chacha20_ref.c		+= -I${LIBSODIUM_INC}/sodium -I${LIBSODIUM_COMPAT}
6801d5de8fSConrad MeyerSRCS	+= onetimeauth_poly1305.c
6901d5de8fSConrad MeyerCFLAGS.onetimeauth_poly1305.c	+= -I${LIBSODIUM_INC}/sodium -I${LIBSODIUM_COMPAT}
7001d5de8fSConrad MeyerSRCS	+= poly1305_donna.c
7101d5de8fSConrad MeyerCFLAGS.poly1305_donna.c		+= -I${LIBSODIUM_INC}/sodium -I${LIBSODIUM_COMPAT}
7201d5de8fSConrad MeyerSRCS	+= verify.c
7301d5de8fSConrad MeyerCFLAGS.verify.c			+= -I${LIBSODIUM_INC}/sodium -I${LIBSODIUM_COMPAT}
7401d5de8fSConrad MeyerSRCS	+= randombytes.c
7501d5de8fSConrad MeyerCFLAGS.randombytes.c		+= -I${LIBSODIUM_INC} -I${LIBSODIUM_COMPAT}
7601d5de8fSConrad MeyerSRCS	+= utils.c
7701d5de8fSConrad MeyerCFLAGS.utils.c			+= -I${LIBSODIUM_INC} -I${LIBSODIUM_COMPAT}
7801d5de8fSConrad Meyer
7963f0abbfSSam LefflerSRCS	+= opt_param.h cryptodev_if.h bus_if.h device_if.h
808c27b7a9SJohn BaldwinSRCS	+= opt_compat.h
8154366c0bSAttilio RaoSRCS	+= opt_ddb.h
82a99bc4c3SSean Eric FaganSRCS	+= cbc_mac.c
83a99bc4c3SSean Eric FaganSRCS	+= xform_cbc_mac.c
846a3645bbSMarcel Moolenaar
85f544a528SMark Murray.include <bsd.kmod.mk>
86