]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/modules/blake2/Makefile
Merge ^/head r352105 through r352307.
[FreeBSD/FreeBSD.git] / sys / modules / blake2 / Makefile
1 # $FreeBSD$
2
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
7
8 KMOD    = blake2
9
10 # Vendor sources
11 SRCS    += blake2.h
12 SRCS    += blake2-impl.h
13 SRCS    += blake2-config.h
14
15 SRCS    += blake2-dispatch.c
16 SRCS    += blake2bp.c
17 SRCS    += blake2sp.c
18
19 CFLAGS  += -I${SRCTOP}/sys/contrib/libb2
20 CFLAGS  += -I${SRCTOP}/sys/crypto/blake2
21
22 # x86 specific optimization headers:
23 SRCS    += blake2b-load-sse2.h
24 SRCS    += blake2b-load-sse41.h
25 SRCS    += blake2b-round.h
26
27 SRCS    += blake2s-load-sse2.h
28 SRCS    += blake2s-load-sse41.h
29 SRCS    += blake2s-load-xop.h
30 SRCS    += blake2s-round.h
31
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
43
44 OBJS+=  ${SRCS_IN:S/.c/.o/g}
45
46 CFLAGS.blake2b-sse2.c   += -DSUFFIX=_sse2 -msse2
47 CFLAGS.blake2s-sse2.c   += -DSUFFIX=_sse2 -msse2
48
49 CFLAGS.blake2b-ssse3.c  += -DSUFFIX=_ssse3 -msse2 -mssse3
50 CFLAGS.blake2s-ssse3.c  += -DSUFFIX=_ssse3 -msse2 -mssse3
51
52 CFLAGS.blake2b-sse41.c  += -DSUFFIX=_sse41 -msse2 -mssse3 -msse4.1
53 CFLAGS.blake2s-sse41.c  += -DSUFFIX=_sse41 -msse2 -mssse3 -msse4.1
54
55 CFLAGS.blake2b-avx.c    += -DSUFFIX=_avx -msse2 -mssse3 -msse4.1 -mavx
56 CFLAGS.blake2s-avx.c    += -DSUFFIX=_avx -msse2 -mssse3 -msse4.1 -mavx
57
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
60
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}
65         ${CTFCONVERT_CMD}
66
67 ${src:S/.c/.o/}: intrin.h emmintrin.h tmmintrin.h smmintrin.h immintrin.h \
68     x86intrin.h ${SRCS:M*.h}
69 .endfor
70
71 # FreeBSD-specific sources:
72 SRCS    += blake2_kfreebsd.h
73 SRCS    += config.h
74
75 SRCS    += stddef.h
76 SRCS    += stdint.h
77 SRCS    += stdio.h
78 SRCS    += stdlib.h
79 SRCS    += string.h
80
81 SRCS    += blake2_cryptodev.c
82
83 SRCS    += opt_param.h cryptodev_if.h bus_if.h device_if.h
84
85 WARNS   ?= 6
86
87 .include <bsd.kmod.mk>
88
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