]> git.proxmox.com Git - mirror_zfs.git/blame - module/Makefile.in
OpenZFS 7431 - ZFS Channel Programs
[mirror_zfs.git] / module / Makefile.in
CommitLineData
c9c0d073 1subdir-m += avl
fed90353 2subdir-m += icp
d99a0153 3subdir-m += lua
c9c0d073
BB
4subdir-m += nvpair
5subdir-m += unicode
6subdir-m += zcommon
7subdir-m += zfs
8
d09f98a9
BB
9INSTALL_MOD_DIR ?= extra
10
fed90353
BB
11ZFS_MODULE_CFLAGS += -std=gnu99 -Wno-declaration-after-statement
12ZFS_MODULE_CFLAGS += @KERNEL_DEBUG_CFLAGS@
2ee4a18b
ED
13ZFS_MODULE_CFLAGS += -include @SPL_OBJ@/spl_config.h
14ZFS_MODULE_CFLAGS += -include @abs_top_builddir@/zfs_config.h
15ZFS_MODULE_CFLAGS += -I@abs_top_srcdir@/include -I@SPL@/include -I@SPL@
fed90353
BB
16
17ZFS_MODULE_CPPFLAGS += -DHAVE_SPL -D_KERNEL
18ZFS_MODULE_CPPFLAGS += @KERNEL_DEBUG_CPPFLAGS@
19
6a9d6359 20@CONFIG_QAT_TRUE@ZFS_MODULE_CFLAGS += -I@QAT_SRC@/include
21@CONFIG_QAT_TRUE@KBUILD_EXTRA_SYMBOLS += @QAT_SYMBOLS@
fed90353
BB
22
23export ZFS_MODULE_CFLAGS ZFS_MODULE_CPPFLAGS
2ee4a18b 24
d99a0153 25SUBDIR_TARGETS = icp lua
0b04990a 26
c9c0d073 27modules:
6283f55e
BB
28 @# Make the exported SPL symbols available to these modules.
29 @# They may be in the root of SPL_OBJ when building against
30 @# installed devel headers, or they may be in the module
31 @# subdirectory when building against the spl source tree.
32 @if [ -f @SPL_OBJ@/@SPL_SYMBOLS@ ]; then \
e254c8d8 33 cp @SPL_OBJ@/@SPL_SYMBOLS@ .; \
6283f55e 34 elif [ -f @SPL_OBJ@/module/@SPL_SYMBOLS@ ]; then \
e254c8d8 35 cp @SPL_OBJ@/module/@SPL_SYMBOLS@ .; \
6283f55e
BB
36 else \
37 echo -e "\n" \
38 "*** Missing spl symbols ensure you have built the spl:\n" \
39 "*** - @SPL_OBJ@/@SPL_SYMBOLS@, or\n" \
40 "*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
41 exit 1; \
42 fi
0b04990a
TC
43 list='$(SUBDIR_TARGETS)'; for targetdir in $$list; do \
44 $(MAKE) -C $$targetdir; \
45 done
fed90353 46 $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNEL_MAKE@ CONFIG_ZFS=m $@
c9c0d073
BB
47
48clean:
d433c206
BB
49 @# Only cleanup the kernel build directories when CONFIG_KERNEL
50 @# is defined. This indicates that kernel modules should be built.
fed90353 51@CONFIG_KERNEL_TRUE@ $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` @KERNEL_MAKE@ $@
d433c206 52
c9c0d073
BB
53 if [ -f @SPL_SYMBOLS@ ]; then $(RM) @SPL_SYMBOLS@; fi
54 if [ -f @LINUX_SYMBOLS@ ]; then $(RM) @LINUX_SYMBOLS@; fi
55 if [ -f Module.markers ]; then $(RM) Module.markers; fi
56
57modules_install:
6283f55e 58 @# Install the kernel modules
d09f98a9
BB
59 $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` $@ \
60 INSTALL_MOD_PATH=$(DESTDIR)$(INSTALL_MOD_PATH) \
bb9d808c
AP
61 INSTALL_MOD_DIR=$(INSTALL_MOD_DIR) \
62 KERNELRELEASE=@LINUX_VERSION@
fe0ed8f9 63 @# Remove extraneous build products when packaging
d09f98a9 64 kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@; \
b0fe1ade 65 if [ -n "$(DESTDIR)" ]; then \
d09f98a9 66 find $$kmoddir -name 'modules.*' | xargs $(RM); \
fe0ed8f9 67 fi
d09f98a9 68 sysmap=$(DESTDIR)$(INSTALL_MOD_PATH)/boot/System.map-@LINUX_VERSION@; \
c9c0d073
BB
69 if [ -f $$sysmap ]; then \
70 depmod -ae -F $$sysmap @LINUX_VERSION@; \
71 fi
c9c0d073
BB
72
73modules_uninstall:
6283f55e 74 @# Uninstall the kernel modules
d09f98a9
BB
75 kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
76 list='$(subdir-m)'; for subdir in $$list; do \
77 $(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \
78 done
c9c0d073
BB
79
80distdir:
47a4a6fd 81 list='$(subdir-m)'; for subdir in $$list; do \
0b04990a 82 (cd @top_srcdir@/module && find $$subdir -name '*.c' -o -name '*.h' -o -name '*.S' |\
e254c8d8 83 xargs cp --parents -t $$distdir); \
47a4a6fd 84 done
c9c0d073
BB
85
86distclean maintainer-clean: clean
87install: modules_install
88uninstall: modules_uninstall
89all: modules
90check: