1 ifneq ($(KBUILD_EXTMOD),)
4 zstd_include = $(src)/include
6 zstd_include = $(srctree)/$(src)/include
11 obj-$(CONFIG_ZFS) := $(MODULE).o
13 asflags-y := -I$(zstd_include)
14 ccflags-y := -I$(zstd_include)
16 # Zstd uses -O3 by default, so we should follow
19 # -fno-tree-vectorize gets set for gcc in zstd/common/compiler.h
20 # Set it for other compilers, too.
21 $(obj)/lib/zstd.o: c_flags += -fno-tree-vectorize
23 # SSE register return with SSE disabled if -march=znverX is passed
24 $(obj)/lib/zstd.o: c_flags += -U__BMI__
26 # Quiet warnings about frame size due to unused code in unmodified zstd lib
27 $(obj)/lib/zstd.o: c_flags += -Wframe-larger-than=20480
29 # Disable aarch64 neon SIMD instructions for kernel mode
30 $(obj)/lib/zstd.o: c_flags += -include $(zstd_include)/aarch64_compat.h -include $(zstd_include)/zstd_compat_wrapper.h -Wp,-w
32 $(obj)/zfs_zstd.o: c_flags += -include $(zstd_include)/zstd_compat_wrapper.h
34 $(MODULE)-objs += zfs_zstd.o
35 $(MODULE)-objs += lib/zstd.o