8 INSTALL_MOD_DIR ?
= extra
10 ZFS_MODULE_CFLAGS
+= -include @SPL_OBJ@
/spl_config.h
11 ZFS_MODULE_CFLAGS
+= -include @abs_top_builddir@
/zfs_config.h
12 ZFS_MODULE_CFLAGS
+= -I@abs_top_srcdir@
/include -I@SPL@
/include -I@SPL@
13 export ZFS_MODULE_CFLAGS
16 @
# Make the exported SPL symbols available to these modules.
17 @
# They may be in the root of SPL_OBJ when building against
18 @
# installed devel headers, or they may be in the module
19 @
# subdirectory when building against the spl source tree.
20 @if
[ -f @SPL_OBJ@
/@SPL_SYMBOLS@
]; then \
21 /bin
/cp @SPL_OBJ@
/@SPL_SYMBOLS@ .
; \
22 elif
[ -f @SPL_OBJ@
/module
/@SPL_SYMBOLS@
]; then \
23 /bin
/cp @SPL_OBJ@
/module
/@SPL_SYMBOLS@ .
; \
26 "*** Missing spl symbols ensure you have built the spl:\n" \
27 "*** - @SPL_OBJ@/@SPL_SYMBOLS@, or\n" \
28 "*** - @SPL_OBJ@/module/@SPL_SYMBOLS@\n"; \
31 $(MAKE
) -C @LINUX_OBJ@ SUBDIRS
=`pwd` @KERNELMAKE_PARAMS@ CONFIG_ZFS
=m
$@
34 @
# Only cleanup the kernel build directories when CONFIG_KERNEL
35 @
# is defined. This indicates that kernel modules should be built.
36 @CONFIG_KERNEL_TRUE@
$(MAKE
) -C @LINUX_OBJ@ SUBDIRS
=`pwd` @KERNELMAKE_PARAMS@
$@
38 if
[ -f @SPL_SYMBOLS@
]; then
$(RM
) @SPL_SYMBOLS@
; fi
39 if
[ -f @LINUX_SYMBOLS@
]; then
$(RM
) @LINUX_SYMBOLS@
; fi
40 if
[ -f Module.markers
]; then
$(RM
) Module.markers
; fi
43 @
# Install the kernel modules
44 $(MAKE
) -C @LINUX_OBJ@ SUBDIRS
=`pwd` $@ \
45 INSTALL_MOD_PATH
=$(DESTDIR
)$(INSTALL_MOD_PATH
) \
46 INSTALL_MOD_DIR
=$(INSTALL_MOD_DIR
) \
47 KERNELRELEASE
=@LINUX_VERSION@
48 @
# Remove extraneous build products when packaging
49 kmoddir
=$(DESTDIR
)$(INSTALL_MOD_PATH
)/lib
/modules
/@LINUX_VERSION@
; \
50 if
[ -n
"$(DESTDIR)" ]; then \
51 find
$$kmoddir -name
'modules.*' | xargs
$(RM
); \
53 sysmap
=$(DESTDIR
)$(INSTALL_MOD_PATH
)/boot
/System.map-@LINUX_VERSION@
; \
54 if
[ -f
$$sysmap ]; then \
55 depmod
-ae
-F
$$sysmap @LINUX_VERSION@
; \
59 @
# Uninstall the kernel modules
60 kmoddir
=$(DESTDIR
)$(INSTALL_MOD_PATH
)/lib
/modules
/@LINUX_VERSION@
61 list
='$(subdir-m)'; for subdir in
$$list; do \
62 $(RM
) -R
$$kmoddir/$(INSTALL_MOD_DIR
)/$$subdir; \
66 list
='$(subdir-m)'; for subdir in
$$list; do \
67 (find @top_srcdir@
/module
/$$subdir -name
'*.c' -o
-name
'*.h' |\
68 xargs
/bin
/cp
-t
$$distdir/$$subdir); \
71 distclean maintainer-clean
: clean
72 install: modules_install
73 uninstall: modules_uninstall