3 .PATH: ${SRCTOP}/sys/contrib/libb2
4 .PATH: ${SRCTOP}/sys/crypto/blake2
5 .PATH: ${SRCTOP}/sys/opencrypto
6 .PATH: ${SRCTOP}/contrib/llvm/tools/clang/lib/Headers
13 SRCS += blake2-config.h
15 SRCS += blake2-dispatch.c
19 CFLAGS += -I${SRCTOP}/sys/contrib/libb2
20 CFLAGS += -I${SRCTOP}/sys/crypto/blake2
22 # x86 specific optimization headers:
23 SRCS += blake2b-load-sse2.h
24 SRCS += blake2b-load-sse41.h
25 SRCS += blake2b-round.h
27 SRCS += blake2s-load-sse2.h
28 SRCS += blake2s-load-sse41.h
29 SRCS += blake2s-load-xop.h
30 SRCS += blake2s-round.h
32 # C files to build a dispatched fat implementation on x86
33 SRCS_IN += blake2b-sse2.c
34 SRCS_IN += blake2b-ssse3.c
35 SRCS_IN += blake2b-sse41.c
36 SRCS_IN += blake2b-avx.c
37 SRCS_IN += blake2b-xop.c
38 SRCS_IN += blake2s-sse2.c
39 SRCS_IN += blake2s-ssse3.c
40 SRCS_IN += blake2s-sse41.c
41 SRCS_IN += blake2s-avx.c
42 SRCS_IN += blake2s-xop.c
44 OBJS+= ${SRCS_IN:S/.c/.o/g}
46 CFLAGS.blake2b-sse2.c += -DSUFFIX=_sse2 -msse2
47 CFLAGS.blake2s-sse2.c += -DSUFFIX=_sse2 -msse2
49 CFLAGS.blake2b-ssse3.c += -DSUFFIX=_ssse3 -msse2 -mssse3
50 CFLAGS.blake2s-ssse3.c += -DSUFFIX=_ssse3 -msse2 -mssse3
52 CFLAGS.blake2b-sse41.c += -DSUFFIX=_sse41 -msse2 -mssse3 -msse4.1
53 CFLAGS.blake2s-sse41.c += -DSUFFIX=_sse41 -msse2 -mssse3 -msse4.1
55 CFLAGS.blake2b-avx.c += -DSUFFIX=_avx -msse2 -mssse3 -msse4.1 -mavx
56 CFLAGS.blake2s-avx.c += -DSUFFIX=_avx -msse2 -mssse3 -msse4.1 -mavx
58 CFLAGS.blake2b-xop.c += -DSUFFIX=_xop -msse2 -mssse3 -msse4.1 -mavx -mxop
59 CFLAGS.blake2s-xop.c += -DSUFFIX=_xop -msse2 -mssse3 -msse4.1 -mavx -mxop
61 .for src in ${SRCS_IN}
62 ${src:S/.c/.o/}: ${src}
63 ${CC} -c ${CFLAGS:N-nostdinc} ${CFLAGS.${src}} ${WERROR} ${PROF} \
64 -D_MM_MALLOC_H_INCLUDED -Wno-unused-function ${.IMPSRC}
67 ${src:S/.c/.o/}: intrin.h emmintrin.h tmmintrin.h smmintrin.h immintrin.h \
68 x86intrin.h ${SRCS:M*.h}
71 # FreeBSD-specific sources:
72 SRCS += blake2_kfreebsd.h
81 SRCS += blake2_cryptodev.c
83 SRCS += opt_param.h cryptodev_if.h bus_if.h device_if.h
87 .include <bsd.kmod.mk>
89 CWARNFLAGS.blake2-dispatch.c += -Wno-unused-const-variable
90 CWARNFLAGS.blake2s-ref.c += -Wno-cast-qual -Wno-unused-function
91 CWARNFLAGS += -Wno-cast-qual