mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2025-01-13 11:40:25 +03:00
006e9a4088
Move platform specific Linux headers under include/os/linux/. Update the build system accordingly to detect the platform. This lays some of the initial groundwork to supporting building for other platforms. As part of this change it was necessary to create both a user and kernel space sys/simd.h header which can be included in either context. No functional change, the source has been refactored and the relevant #include's updated. Reviewed-by: Jorgen Lundman <lundman@lundman.net> Reviewed-by: Igor Kozhukhov <igor@dilos.org> Signed-off-by: Matthew Macy <mmacy@FreeBSD.org> Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Closes #9198
81 lines
2.4 KiB
Makefile
81 lines
2.4 KiB
Makefile
obj-m += avl/
|
|
obj-m += icp/
|
|
obj-m += lua/
|
|
obj-m += nvpair/
|
|
obj-m += spl/
|
|
obj-m += unicode/
|
|
obj-m += zcommon/
|
|
obj-m += zfs/
|
|
|
|
INSTALL_MOD_DIR ?= extra
|
|
|
|
ZFS_MODULE_CFLAGS += -std=gnu99 -Wno-declaration-after-statement
|
|
ZFS_MODULE_CFLAGS += @KERNEL_DEBUG_CFLAGS@
|
|
ZFS_MODULE_CFLAGS += -include @abs_top_builddir@/zfs_config.h
|
|
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include/os/linux/kernel
|
|
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include/os/linux/spl
|
|
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include/os/linux/zfs
|
|
ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include
|
|
|
|
ZFS_MODULE_CPPFLAGS += -D_KERNEL
|
|
ZFS_MODULE_CPPFLAGS += @KERNEL_DEBUG_CPPFLAGS@
|
|
|
|
@CONFIG_QAT_TRUE@ZFS_MODULE_CFLAGS += -I@QAT_SRC@/include
|
|
@CONFIG_QAT_TRUE@KBUILD_EXTRA_SYMBOLS += @QAT_SYMBOLS@
|
|
|
|
export ZFS_MODULE_CFLAGS ZFS_MODULE_CPPFLAGS
|
|
|
|
SUBDIR_TARGETS = icp lua
|
|
|
|
modules:
|
|
list='$(SUBDIR_TARGETS)'; for targetdir in $$list; do \
|
|
$(MAKE) -C $$targetdir; \
|
|
done
|
|
$(MAKE) -C @LINUX_OBJ@ M=`pwd` @KERNEL_MAKE@ CONFIG_ZFS=m $@
|
|
|
|
clean:
|
|
@# Only cleanup the kernel build directories when CONFIG_KERNEL
|
|
@# is defined. This indicates that kernel modules should be built.
|
|
@CONFIG_KERNEL_TRUE@ $(MAKE) -C @LINUX_OBJ@ M=`pwd` @KERNEL_MAKE@ $@
|
|
|
|
if [ -f @LINUX_SYMBOLS@ ]; then $(RM) @LINUX_SYMBOLS@; fi
|
|
if [ -f Module.markers ]; then $(RM) Module.markers; fi
|
|
|
|
find . -name '*.ur-safe' -type f -print | xargs $(RM)
|
|
|
|
modules_install:
|
|
@# Install the kernel modules
|
|
$(MAKE) -C @LINUX_OBJ@ M=`pwd` $@ \
|
|
INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
|
|
INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
|
|
KERNELRELEASE=@LINUX_VERSION@
|
|
@# Remove extraneous build products when packaging
|
|
kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
|
|
if [ -n "$(DESTDIR)" ]; then \
|
|
find $$kmoddir -name 'modules.*' | xargs $(RM); \
|
|
fi
|
|
sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
|
|
if [ -f $$sysmap ]; then \
|
|
depmod -ae -F $$sysmap @LINUX_VERSION@; \
|
|
fi
|
|
|
|
modules_uninstall:
|
|
@# Uninstall the kernel modules
|
|
kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
|
|
list='$(obj-m)'; for objdir in $$list; do \
|
|
$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$objdir; \
|
|
done
|
|
|
|
distdir:
|
|
list='$(obj-m)'; for objdir in $$list; do \
|
|
(cd @top_srcdir@/module && find $$objdir \
|
|
-name '*.c' -o -name '*.h' -o -name '*.S' | \
|
|
xargs cp --parents -t @abs_top_builddir@/module/$$distdir); \
|
|
done
|
|
|
|
distclean maintainer-clean: clean
|
|
install: modules_install
|
|
uninstall: modules_uninstall
|
|
all: modules
|
|
check:
|