xref: /freebsd/cddl/lib/libicp/Makefile (revision 29185c9a26204383270cf96957c685c51f5bc894)
19e5787d2SMatt Macy.PATH: ${SRCTOP}/sys/contrib/openzfs/module/icp
29e5787d2SMatt Macy
3a71ea7beSEmmanuel VadotPACKAGE=	zfs
4*29185c9aSLexi WinterLIB_PACKAGE=
5*29185c9aSLexi Winter
69e5787d2SMatt MacyLIB=	icp
79e5787d2SMatt MacyLIBADD=
89e5787d2SMatt Macy
99e5787d2SMatt Macy.if ${MACHINE_ARCH} == "amd64"
109e5787d2SMatt MacyASM_SOURCES_C = asm-x86_64/aes/aeskey.c
119e5787d2SMatt MacyASM_SOURCES_AS = \
129e5787d2SMatt Macy        asm-x86_64/aes/aes_amd64.S \
139e5787d2SMatt Macy        asm-x86_64/aes/aes_aesni.S \
149e5787d2SMatt Macy        asm-x86_64/modes/gcm_pclmulqdq.S \
159e5787d2SMatt Macy        asm-x86_64/modes/aesni-gcm-x86_64.S \
1694ca18c1SMartin Matuska        asm-x86_64/modes/aesni-gcm-avx2-vaes.S \
179e5787d2SMatt Macy        asm-x86_64/modes/ghash-x86_64.S \
182a58b312SMartin Matuska        asm-x86_64/sha2/sha256-x86_64.S \
192a58b312SMartin Matuska        asm-x86_64/sha2/sha512-x86_64.S \
201f1e2261SMartin Matuska        asm-x86_64/blake3/blake3_avx2.S \
211f1e2261SMartin Matuska        asm-x86_64/blake3/blake3_avx512.S \
221f1e2261SMartin Matuska        asm-x86_64/blake3/blake3_sse2.S \
231f1e2261SMartin Matuska        asm-x86_64/blake3/blake3_sse41.S
249e5787d2SMatt Macy
259e5787d2SMatt MacyCFLAGS+= -D__amd64 -D_SYS_STACK_H -UHAVE_AES
26bc6051a0SDimitry Andric.elif ${MACHINE_CPUARCH} == "arm"
272a58b312SMartin MatuskaASM_SOURCES_C =
282a58b312SMartin MatuskaASM_SOURCES_AS = \
292a58b312SMartin Matuska        asm-arm/sha2/sha256-armv7.S \
302a58b312SMartin Matuska        asm-arm/sha2/sha512-armv7.S
311f1e2261SMartin Matuska.elif ${MACHINE_ARCH} == "aarch64"
321f1e2261SMartin MatuskaASM_SOURCES_C =
331f1e2261SMartin MatuskaASM_SOURCES_AS = \
341f1e2261SMartin Matuska        asm-aarch64/blake3/b3_aarch64_sse2.S \
352a58b312SMartin Matuska        asm-aarch64/blake3/b3_aarch64_sse41.S \
362a58b312SMartin Matuska        asm-aarch64/sha2/sha256-armv8.S \
372a58b312SMartin Matuska        asm-aarch64/sha2/sha512-armv8.S
382a58b312SMartin Matuska.elif ${MACHINE_ARCH} == "powerpc64"
392a58b312SMartin MatuskaASM_SOURCES_C =
402a58b312SMartin MatuskaASM_SOURCES_AS = \
412a58b312SMartin Matuska        asm-ppc64/sha2/sha256-ppc.S \
422a58b312SMartin Matuska        asm-ppc64/sha2/sha512-ppc.S \
432a58b312SMartin Matuska        asm-ppc64/sha2/sha256-p8.S \
442a58b312SMartin Matuska        asm-ppc64/sha2/sha512-p8.S
459921563fSJessica Clarke.elif ${MACHINE_ARCH} == "powerpc64le"
461f1e2261SMartin MatuskaASM_SOURCES_C =
471f1e2261SMartin MatuskaASM_SOURCES_AS = \
481f1e2261SMartin Matuska        asm-ppc64/blake3/b3_ppc64le_sse2.S \
492a58b312SMartin Matuska        asm-ppc64/blake3/b3_ppc64le_sse41.S \
502a58b312SMartin Matuska        asm-ppc64/sha2/sha256-ppc.S \
512a58b312SMartin Matuska        asm-ppc64/sha2/sha512-ppc.S \
522a58b312SMartin Matuska        asm-ppc64/sha2/sha256-p8.S \
532a58b312SMartin Matuska        asm-ppc64/sha2/sha512-p8.S
549e5787d2SMatt Macy.else
559e5787d2SMatt MacyASM_SOURCES_C =
569e5787d2SMatt MacyASM_SOURCES_AS =
579e5787d2SMatt Macy.endif
589e5787d2SMatt Macy
599e5787d2SMatt MacyKERNEL_C = \
609e5787d2SMatt Macy        spi/kcf_spi.c \
619e5787d2SMatt Macy        api/kcf_ctxops.c \
629e5787d2SMatt Macy        api/kcf_cipher.c \
639e5787d2SMatt Macy        api/kcf_mac.c \
649e5787d2SMatt Macy        algs/aes/aes_impl_aesni.c \
659e5787d2SMatt Macy        algs/aes/aes_impl_generic.c \
669e5787d2SMatt Macy        algs/aes/aes_impl_x86-64.c \
679e5787d2SMatt Macy        algs/aes/aes_impl.c \
689e5787d2SMatt Macy        algs/aes/aes_modes.c \
691f1e2261SMartin Matuska        algs/blake3/blake3.c \
701f1e2261SMartin Matuska        algs/blake3/blake3_generic.c \
711f1e2261SMartin Matuska        algs/blake3/blake3_impl.c \
729e5787d2SMatt Macy        algs/edonr/edonr.c \
739e5787d2SMatt Macy        algs/modes/modes.c \
749e5787d2SMatt Macy        algs/modes/gcm_generic.c \
759e5787d2SMatt Macy        algs/modes/gcm_pclmulqdq.c \
769e5787d2SMatt Macy        algs/modes/gcm.c \
779e5787d2SMatt Macy        algs/modes/ccm.c \
782a58b312SMartin Matuska        algs/sha2/sha2_generic.c \
792a58b312SMartin Matuska        algs/sha2/sha256_impl.c \
802a58b312SMartin Matuska        algs/sha2/sha512_impl.c \
819e5787d2SMatt Macy        algs/skein/skein.c \
829e5787d2SMatt Macy        algs/skein/skein_block.c \
839e5787d2SMatt Macy        algs/skein/skein_iv.c \
849e5787d2SMatt Macy        illumos-crypto.c \
859e5787d2SMatt Macy        io/aes.c \
869e5787d2SMatt Macy        io/sha2_mod.c \
879e5787d2SMatt Macy        core/kcf_sched.c \
889e5787d2SMatt Macy        core/kcf_prov_lib.c \
899e5787d2SMatt Macy        core/kcf_callprov.c \
909e5787d2SMatt Macy        core/kcf_mech_tabs.c \
919e5787d2SMatt Macy        core/kcf_prov_tabs.c \
929e5787d2SMatt Macy        $(ASM_SOURCES_C)
939e5787d2SMatt Macy
942a58b312SMartin Matuska.PATH: ${SRCTOP}/sys/contrib/openzfs/module/zfs
952a58b312SMartin MatuskaKERNEL_C+=	zfs_impl.c
969e5787d2SMatt Macy
979e5787d2SMatt MacySRCS= $(ASM_SOURCES_AS) $(KERNEL_C)
989e5787d2SMatt Macy
999e5787d2SMatt MacyWARNS?=	2
1009e5787d2SMatt MacySHLIB_MAJOR= 3
1019e5787d2SMatt MacyCSTD=	c99
1029e5787d2SMatt MacyCFLAGS+= -DIN_BASE
1039e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
1049e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/
1059e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
1069e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys
1079e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
1089e5787d2SMatt MacyCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/module/icp/include
109e2df9bb4SMartin MatuskaCFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libzpool/include
1109e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
1119e5787d2SMatt MacyCFLAGS+= -DHAVE_ISSETUGID
1129e5787d2SMatt MacyCFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
1139e5787d2SMatt Macy
1149e5787d2SMatt MacyCFLAGS.aes_amd64.S+= -DLOCORE
1159e5787d2SMatt MacyCFLAGS.aes_aesni.S+= -DLOCORE
1169e5787d2SMatt MacyCFLAGS.gcm_pclmulqdq.S+= -DLOCORE
1179e5787d2SMatt MacyCFLAGS.aesni-gcm-x86_64.S+= -DLOCORE
11894ca18c1SMartin MatuskaCFLAGS.aesni-gcm-avx2-vaes.S+= -DLOCORE
1199e5787d2SMatt MacyCFLAGS.ghash-x86_64.S+= -DLOCORE
1202a58b312SMartin MatuskaCFLAGS.sha256-x86_64.S+= -DLOCORE
1212a58b312SMartin MatuskaCFLAGS.sha512-x86_64.S+= -DLOCORE
1221f1e2261SMartin MatuskaCFLAGS.blake3_avx2.S = -DLOCORE
1231f1e2261SMartin MatuskaCFLAGS.blake3_avx512.S = -DLOCORE
1241f1e2261SMartin MatuskaCFLAGS.blake3_sse2.S = -DLOCORE
1251f1e2261SMartin MatuskaCFLAGS.blake3_sse41.S = -DLOCORE
1261f1e2261SMartin MatuskaCFLAGS.b3_aarch64_sse2.S = -DLOCORE
1271f1e2261SMartin MatuskaCFLAGS.b3_aarch64_sse41.S = -DLOCORE
1282a58b312SMartin MatuskaCFLAGS.sha256-armv7.S = -DLOCORE
1292a58b312SMartin MatuskaCFLAGS.sha256-armv8.S = -DLOCORE
1302a58b312SMartin MatuskaCFLAGS.sha512-armv7.S = -DLOCORE
1312a58b312SMartin MatuskaCFLAGS.sha512-armv8.S = -DLOCORE
1321f1e2261SMartin MatuskaCFLAGS.b3_ppc64le_sse2.S = -DLOCORE
1331f1e2261SMartin MatuskaCFLAGS.b3_ppc64le_sse41.S = -DLOCORE
1342a58b312SMartin MatuskaCFLAGS.sha256-p8.S = -DLOCORE
1352a58b312SMartin MatuskaCFLAGS.sha256-ppc.S = -DLOCORE
1362a58b312SMartin MatuskaCFLAGS.sha512-p8.S = -DLOCORE
1372a58b312SMartin MatuskaCFLAGS.sha512-ppc.S = -DLOCORE
1381f1e2261SMartin Matuska
1399e5787d2SMatt Macy
1407e3e70ceSJohn BaldwinLDFLAGS.bfd+= -Wl,-znoexecstack
1417e3e70ceSJohn Baldwin
1429e5787d2SMatt Macy.include <bsd.lib.mk>
143