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