10e33efe4SConrad Meyer.PATH: ${SRCTOP}/sys/contrib/libb2 20e33efe4SConrad Meyer.PATH: ${SRCTOP}/sys/crypto/blake2 30e33efe4SConrad Meyer.PATH: ${SRCTOP}/sys/opencrypto 4*0b57cec5SDimitry Andric.PATH: ${SRCTOP}/contrib/llvm-project/clang/lib/Headers 50e33efe4SConrad Meyer 60e33efe4SConrad MeyerKMOD = blake2 70e33efe4SConrad Meyer 80e33efe4SConrad Meyer# Vendor sources 90e33efe4SConrad MeyerSRCS += blake2.h 100e33efe4SConrad MeyerSRCS += blake2-impl.h 110e33efe4SConrad MeyerSRCS += blake2-config.h 120e33efe4SConrad Meyer 130e33efe4SConrad MeyerSRCS += blake2-dispatch.c 140e33efe4SConrad MeyerSRCS += blake2bp.c 150e33efe4SConrad MeyerSRCS += blake2sp.c 160e33efe4SConrad Meyer 170e33efe4SConrad MeyerCFLAGS += -I${SRCTOP}/sys/contrib/libb2 180e33efe4SConrad MeyerCFLAGS += -I${SRCTOP}/sys/crypto/blake2 190e33efe4SConrad Meyer 200e33efe4SConrad Meyer# x86 specific optimization headers: 210e33efe4SConrad MeyerSRCS += blake2b-load-sse2.h 220e33efe4SConrad MeyerSRCS += blake2b-load-sse41.h 230e33efe4SConrad MeyerSRCS += blake2b-round.h 240e33efe4SConrad Meyer 250e33efe4SConrad MeyerSRCS += blake2s-load-sse2.h 260e33efe4SConrad MeyerSRCS += blake2s-load-sse41.h 270e33efe4SConrad MeyerSRCS += blake2s-load-xop.h 280e33efe4SConrad MeyerSRCS += blake2s-round.h 290e33efe4SConrad Meyer 300e33efe4SConrad Meyer# C files to build a dispatched fat implementation on x86 310e33efe4SConrad MeyerSRCS_IN += blake2b-sse2.c 320e33efe4SConrad MeyerSRCS_IN += blake2b-ssse3.c 330e33efe4SConrad MeyerSRCS_IN += blake2b-sse41.c 340e33efe4SConrad MeyerSRCS_IN += blake2b-avx.c 350e33efe4SConrad MeyerSRCS_IN += blake2b-xop.c 360e33efe4SConrad MeyerSRCS_IN += blake2s-sse2.c 370e33efe4SConrad MeyerSRCS_IN += blake2s-ssse3.c 380e33efe4SConrad MeyerSRCS_IN += blake2s-sse41.c 390e33efe4SConrad MeyerSRCS_IN += blake2s-avx.c 400e33efe4SConrad MeyerSRCS_IN += blake2s-xop.c 410e33efe4SConrad Meyer 420e33efe4SConrad MeyerOBJS+= ${SRCS_IN:S/.c/.o/g} 430e33efe4SConrad Meyer 440e33efe4SConrad MeyerCFLAGS.blake2b-sse2.c += -DSUFFIX=_sse2 -msse2 450e33efe4SConrad MeyerCFLAGS.blake2s-sse2.c += -DSUFFIX=_sse2 -msse2 460e33efe4SConrad Meyer 470e33efe4SConrad MeyerCFLAGS.blake2b-ssse3.c += -DSUFFIX=_ssse3 -msse2 -mssse3 480e33efe4SConrad MeyerCFLAGS.blake2s-ssse3.c += -DSUFFIX=_ssse3 -msse2 -mssse3 490e33efe4SConrad Meyer 500e33efe4SConrad MeyerCFLAGS.blake2b-sse41.c += -DSUFFIX=_sse41 -msse2 -mssse3 -msse4.1 510e33efe4SConrad MeyerCFLAGS.blake2s-sse41.c += -DSUFFIX=_sse41 -msse2 -mssse3 -msse4.1 520e33efe4SConrad Meyer 530e33efe4SConrad MeyerCFLAGS.blake2b-avx.c += -DSUFFIX=_avx -msse2 -mssse3 -msse4.1 -mavx 540e33efe4SConrad MeyerCFLAGS.blake2s-avx.c += -DSUFFIX=_avx -msse2 -mssse3 -msse4.1 -mavx 550e33efe4SConrad Meyer 560e33efe4SConrad MeyerCFLAGS.blake2b-xop.c += -DSUFFIX=_xop -msse2 -mssse3 -msse4.1 -mavx -mxop 570e33efe4SConrad MeyerCFLAGS.blake2s-xop.c += -DSUFFIX=_xop -msse2 -mssse3 -msse4.1 -mavx -mxop 580e33efe4SConrad Meyer 590e33efe4SConrad Meyer.for src in ${SRCS_IN} 600e33efe4SConrad Meyer${src:S/.c/.o/}: ${src} 610e33efe4SConrad Meyer ${CC} -c ${CFLAGS:N-nostdinc} ${CFLAGS.${src}} ${WERROR} ${PROF} \ 623b8d52d3SConrad Meyer -D_MM_MALLOC_H_INCLUDED -Wno-unused-function ${.IMPSRC} 630e33efe4SConrad Meyer ${CTFCONVERT_CMD} 640e33efe4SConrad Meyer 650e33efe4SConrad Meyer${src:S/.c/.o/}: intrin.h emmintrin.h tmmintrin.h smmintrin.h immintrin.h \ 660e33efe4SConrad Meyer x86intrin.h ${SRCS:M*.h} 670e33efe4SConrad Meyer.endfor 680e33efe4SConrad Meyer 690e33efe4SConrad Meyer# FreeBSD-specific sources: 700e33efe4SConrad MeyerSRCS += blake2_kfreebsd.h 710e33efe4SConrad MeyerSRCS += config.h 720e33efe4SConrad Meyer 730e33efe4SConrad MeyerSRCS += stddef.h 740e33efe4SConrad MeyerSRCS += stdint.h 750e33efe4SConrad MeyerSRCS += stdio.h 760e33efe4SConrad MeyerSRCS += stdlib.h 770e33efe4SConrad MeyerSRCS += string.h 780e33efe4SConrad Meyer 790e33efe4SConrad MeyerSRCS += blake2_cryptodev.c 800e33efe4SConrad Meyer 81bf8e3513SLi-Wen HsuSRCS += opt_param.h cryptodev_if.h bus_if.h device_if.h 820e33efe4SConrad Meyer 830e33efe4SConrad MeyerWARNS ?= 6 840e33efe4SConrad Meyer 850e33efe4SConrad Meyer.include <bsd.kmod.mk> 860e33efe4SConrad Meyer 873b8d52d3SConrad MeyerCWARNFLAGS.blake2-dispatch.c += -Wno-unused-const-variable 88cccc969bSMatt MacyCWARNFLAGS.blake2s-ref.c += -Wno-cast-qual -Wno-unused-function 893b8d52d3SConrad MeyerCWARNFLAGS += -Wno-cast-qual 90