| src = @abs_top_srcdir@/module/icp |
| obj = @abs_builddir@ |
| |
| MODULE := icp |
| |
| TARGET_ASM_DIR = @TARGET_ASM_DIR@ |
| |
| ifeq ($(TARGET_ASM_DIR), asm-x86_64) |
| ASM_SOURCES := asm-x86_64/aes/aeskey.o |
| ASM_SOURCES += asm-x86_64/aes/aes_amd64.o |
| ASM_SOURCES += asm-x86_64/aes/aes_aesni.o |
| ASM_SOURCES += asm-x86_64/modes/gcm_pclmulqdq.o |
| ASM_SOURCES += asm-x86_64/sha1/sha1-x86_64.o |
| ASM_SOURCES += asm-x86_64/sha2/sha256_impl.o |
| ASM_SOURCES += asm-x86_64/sha2/sha512_impl.o |
| ASM_SOURCES += asm-x86_64/aes/aeskey.o |
| ASM_SOURCES += asm-x86_64/aes/aes_amd64.o |
| ASM_SOURCES += asm-x86_64/aes/aes_aesni.o |
| ASM_SOURCES += asm-x86_64/modes/gcm_pclmulqdq.o |
| ASM_SOURCES += asm-x86_64/modes/aesni-gcm-x86_64.o |
| ASM_SOURCES += asm-x86_64/modes/ghash-x86_64.o |
| ASM_SOURCES += asm-x86_64/sha1/sha1-x86_64.o |
| ASM_SOURCES += asm-x86_64/sha2/sha256_impl.o |
| ASM_SOURCES += asm-x86_64/sha2/sha512_impl.o |
| |
| endif |
| |
| ifeq ($(TARGET_ASM_DIR), asm-i386) |
| ASM_SOURCES := |
| endif |
| |
| ifeq ($(TARGET_ASM_DIR), asm-generic) |
| ASM_SOURCES := |
| endif |
| |
| obj-$(CONFIG_ZFS) := $(MODULE).o |
| |
| asflags-y := -I@abs_top_srcdir@/module/icp/include |
| asflags-y += $(ZFS_MODULE_CFLAGS) $(ZFS_MODULE_CPPFLAGS) |
| ccflags-y := -I@abs_top_srcdir@/module/icp/include |
| ccflags-y += $(ZFS_MODULE_CFLAGS) $(ZFS_MODULE_CPPFLAGS) |
| |
| $(MODULE)-objs += illumos-crypto.o |
| $(MODULE)-objs += api/kcf_cipher.o |
| $(MODULE)-objs += api/kcf_digest.o |
| $(MODULE)-objs += api/kcf_mac.o |
| $(MODULE)-objs += api/kcf_miscapi.o |
| $(MODULE)-objs += api/kcf_ctxops.o |
| $(MODULE)-objs += core/kcf_callprov.o |
| $(MODULE)-objs += core/kcf_prov_tabs.o |
| $(MODULE)-objs += core/kcf_sched.o |
| $(MODULE)-objs += core/kcf_mech_tabs.o |
| $(MODULE)-objs += core/kcf_prov_lib.o |
| $(MODULE)-objs += spi/kcf_spi.o |
| $(MODULE)-objs += io/aes.o |
| $(MODULE)-objs += io/edonr_mod.o |
| $(MODULE)-objs += io/sha1_mod.o |
| $(MODULE)-objs += io/sha2_mod.o |
| $(MODULE)-objs += io/skein_mod.o |
| $(MODULE)-objs += os/modhash.o |
| $(MODULE)-objs += os/modconf.o |
| $(MODULE)-objs += algs/modes/cbc.o |
| $(MODULE)-objs += algs/modes/ccm.o |
| $(MODULE)-objs += algs/modes/ctr.o |
| $(MODULE)-objs += algs/modes/ecb.o |
| $(MODULE)-objs += algs/modes/gcm_generic.o |
| $(MODULE)-objs += algs/modes/gcm.o |
| $(MODULE)-objs += algs/modes/modes.o |
| $(MODULE)-objs += algs/aes/aes_impl_generic.o |
| $(MODULE)-objs += algs/aes/aes_impl.o |
| $(MODULE)-objs += algs/aes/aes_modes.o |
| $(MODULE)-objs += algs/edonr/edonr.o |
| $(MODULE)-objs += algs/sha1/sha1.o |
| $(MODULE)-objs += algs/sha2/sha2.o |
| $(MODULE)-objs += algs/sha1/sha1.o |
| $(MODULE)-objs += algs/skein/skein.o |
| $(MODULE)-objs += algs/skein/skein_block.o |
| $(MODULE)-objs += algs/skein/skein_iv.o |
| $(MODULE)-objs += $(ASM_SOURCES) |
| |
| $(MODULE)-$(CONFIG_X86) += algs/modes/gcm_pclmulqdq.o |
| $(MODULE)-$(CONFIG_X86) += algs/aes/aes_impl_aesni.o |
| $(MODULE)-$(CONFIG_X86) += algs/aes/aes_impl_x86-64.o |
| |
| # Suppress objtool "can't find jump dest instruction at" warnings. They |
| # are caused by the constants which are defined in the text section of the |
| # assembly file using .byte instructions (e.g. bswap_mask). The objtool |
| # utility tries to interpret them as opcodes and obviously fails doing so. |
| OBJECT_FILES_NON_STANDARD_aesni-gcm-x86_64.o := y |
| OBJECT_FILES_NON_STANDARD_ghash-x86_64.o := y |
| |
| ICP_DIRS = \ |
| api \ |
| core \ |
| spi \ |
| io \ |
| os \ |
| algs \ |
| algs/aes \ |
| algs/edonr \ |
| algs/modes \ |
| algs/sha1 \ |
| algs/sha2 \ |
| algs/skein \ |
| asm-x86_64 \ |
| asm-x86_64/aes \ |
| asm-x86_64/modes \ |
| asm-x86_64/sha1 \ |
| asm-x86_64/sha2 \ |
| asm-i386 \ |
| asm-generic |
| |
| all: |
| mkdir -p $(ICP_DIRS) |