xref: /freebsd/cddl/lib/libicp/Makefile (revision 7ef62cebc2f965b0f640263e179276928885e33d)
1# $FreeBSD$
2
3.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
4
5PACKAGE=	zfs
6LIB=	icp
7LIBADD=
8
9.if ${MACHINE_ARCH} == "amd64"
10ASM_SOURCES_C = asm-x86_64/aes/aeskey.c
11ASM_SOURCES_AS = \
12        asm-x86_64/aes/aes_amd64.S \
13        asm-x86_64/aes/aes_aesni.S \
14        asm-x86_64/modes/gcm_pclmulqdq.S \
15        asm-x86_64/modes/aesni-gcm-x86_64.S \
16        asm-x86_64/modes/ghash-x86_64.S \
17        asm-x86_64/sha2/sha256-x86_64.S \
18        asm-x86_64/sha2/sha512-x86_64.S \
19        asm-x86_64/blake3/blake3_avx2.S \
20        asm-x86_64/blake3/blake3_avx512.S \
21        asm-x86_64/blake3/blake3_sse2.S \
22        asm-x86_64/blake3/blake3_sse41.S
23
24CFLAGS+= -D__amd64 -D_SYS_STACK_H -UHAVE_AES
25.elif ${MACHINE_ARCH} == "armv7"
26ASM_SOURCES_C =
27ASM_SOURCES_AS = \
28        asm-arm/sha2/sha256-armv7.S \
29        asm-arm/sha2/sha512-armv7.S
30.elif ${MACHINE_ARCH} == "aarch64"
31ASM_SOURCES_C =
32ASM_SOURCES_AS = \
33        asm-aarch64/blake3/b3_aarch64_sse2.S \
34        asm-aarch64/blake3/b3_aarch64_sse41.S \
35        asm-aarch64/sha2/sha256-armv8.S \
36        asm-aarch64/sha2/sha512-armv8.S
37.elif ${MACHINE_ARCH} == "powerpc64"
38ASM_SOURCES_C =
39ASM_SOURCES_AS = \
40        asm-ppc64/sha2/sha256-ppc.S \
41        asm-ppc64/sha2/sha512-ppc.S \
42        asm-ppc64/sha2/sha256-p8.S \
43        asm-ppc64/sha2/sha512-p8.S
44.elif ${MACHINE_ARCH} == "powerpc64le"
45ASM_SOURCES_C =
46ASM_SOURCES_AS = \
47        asm-ppc64/blake3/b3_ppc64le_sse2.S \
48        asm-ppc64/blake3/b3_ppc64le_sse41.S \
49        asm-ppc64/sha2/sha256-ppc.S \
50        asm-ppc64/sha2/sha512-ppc.S \
51        asm-ppc64/sha2/sha256-p8.S \
52        asm-ppc64/sha2/sha512-p8.S
53.else
54ASM_SOURCES_C =
55ASM_SOURCES_AS =
56.endif
57
58KERNEL_C = \
59        spi/kcf_spi.c \
60        api/kcf_ctxops.c \
61        api/kcf_cipher.c \
62        api/kcf_mac.c \
63        algs/aes/aes_impl_aesni.c \
64        algs/aes/aes_impl_generic.c \
65        algs/aes/aes_impl_x86-64.c \
66        algs/aes/aes_impl.c \
67        algs/aes/aes_modes.c \
68        algs/blake3/blake3.c \
69        algs/blake3/blake3_generic.c \
70        algs/blake3/blake3_impl.c \
71        algs/edonr/edonr.c \
72        algs/modes/modes.c \
73        algs/modes/cbc.c \
74        algs/modes/gcm_generic.c \
75        algs/modes/gcm_pclmulqdq.c \
76        algs/modes/gcm.c \
77        algs/modes/ctr.c \
78        algs/modes/ccm.c \
79        algs/modes/ecb.c \
80        algs/sha2/sha2_generic.c \
81        algs/sha2/sha256_impl.c \
82        algs/sha2/sha512_impl.c \
83        algs/skein/skein.c \
84        algs/skein/skein_block.c \
85        algs/skein/skein_iv.c \
86        illumos-crypto.c \
87        io/aes.c \
88        io/sha2_mod.c \
89        io/skein_mod.c \
90        core/kcf_sched.c \
91        core/kcf_prov_lib.c \
92        core/kcf_callprov.c \
93        core/kcf_mech_tabs.c \
94        core/kcf_prov_tabs.c \
95        $(ASM_SOURCES_C)
96
97.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zfs
98KERNEL_C+=	zfs_impl.c
99
100SRCS= $(ASM_SOURCES_AS) $(KERNEL_C)
101
102WARNS?=	2
103SHLIB_MAJOR= 3
104CSTD=	c99
105CFLAGS+= -DIN_BASE
106CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
107CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/
108CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
109CFLAGS+= -I${SRCTOP}/sys
110CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
111CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
112CFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
113CFLAGS+= -DHAVE_ISSETUGID
114CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
115
116CFLAGS.aes_amd64.S+= -DLOCORE
117CFLAGS.aes_aesni.S+= -DLOCORE
118CFLAGS.gcm_pclmulqdq.S+= -DLOCORE
119CFLAGS.aesni-gcm-x86_64.S+= -DLOCORE
120CFLAGS.ghash-x86_64.S+= -DLOCORE
121CFLAGS.sha256-x86_64.S+= -DLOCORE
122CFLAGS.sha512-x86_64.S+= -DLOCORE
123CFLAGS.blake3_avx2.S = -DLOCORE
124CFLAGS.blake3_avx512.S = -DLOCORE
125CFLAGS.blake3_sse2.S = -DLOCORE
126CFLAGS.blake3_sse41.S = -DLOCORE
127CFLAGS.b3_aarch64_sse2.S = -DLOCORE
128CFLAGS.b3_aarch64_sse41.S = -DLOCORE
129CFLAGS.sha256-armv7.S = -DLOCORE
130CFLAGS.sha256-armv8.S = -DLOCORE
131CFLAGS.sha512-armv7.S = -DLOCORE
132CFLAGS.sha512-armv8.S = -DLOCORE
133CFLAGS.b3_ppc64le_sse2.S = -DLOCORE
134CFLAGS.b3_ppc64le_sse41.S = -DLOCORE
135CFLAGS.sha256-p8.S = -DLOCORE
136CFLAGS.sha256-ppc.S = -DLOCORE
137CFLAGS.sha512-p8.S = -DLOCORE
138CFLAGS.sha512-ppc.S = -DLOCORE
139
140
141LDFLAGS.bfd+= -Wl,-znoexecstack
142
143.include <bsd.lib.mk>
144