Linux 5.3 compat: Makefile subdir-m no longer supported

Uses obj-m instead, due to kernel changes.

See LKML: Masahiro Yamada, Tue, 6 Aug 2019 19:03:23 +0900

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Dominic Pearson <dsp@technoanimal.net>
Closes #9169
This commit is contained in:
Dominic Pearson 2019-08-20 00:22:52 +02:00 committed by Brian Behlendorf
parent f6fbe25664
commit ff4b68eedc
2 changed files with 23 additions and 12 deletions

11
.gitignore vendored
View File

@ -63,3 +63,14 @@ cscope.*
*.log *.log
venv venv
#
# Module leftovers
#
/module/avl/zavl.mod
/module/icp/icp.mod
/module/lua/zlua.mod
/module/nvpair/znvpair.mod
/module/spl/spl.mod
/module/unicode/zunicode.mod
/module/zcommon/zcommon.mod
/module/zfs/zfs.mod

View File

@ -1,11 +1,11 @@
subdir-m += avl obj-m += avl/
subdir-m += icp obj-m += icp/
subdir-m += lua obj-m += lua/
subdir-m += nvpair obj-m += nvpair/
subdir-m += spl obj-m += spl/
subdir-m += unicode obj-m += unicode/
subdir-m += zcommon obj-m += zcommon/
subdir-m += zfs obj-m += zfs/
INSTALL_MOD_DIR ?= extra INSTALL_MOD_DIR ?= extra
@ -60,13 +60,13 @@ modules_install:
modules_uninstall: modules_uninstall:
@# Uninstall the kernel modules @# Uninstall the kernel modules
kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@ kmoddir=$(DESTDIR)$(INSTALL_MOD_PATH)/lib/modules/@LINUX_VERSION@
list='$(subdir-m)'; for subdir in $$list; do \ list='$(obj-m)'; for objdir in $$list; do \
$(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$subdir; \ $(RM) -R $$kmoddir/$(INSTALL_MOD_DIR)/$$objdir; \
done done
distdir: distdir:
list='$(subdir-m)'; for subdir in $$list; do \ list='$(obj-m)'; for objdir in $$list; do \
(cd @top_srcdir@/module && find $$subdir \ (cd @top_srcdir@/module && find $$objdir \
-name '*.c' -o -name '*.h' -o -name '*.S' | \ -name '*.c' -o -name '*.h' -o -name '*.S' | \
xargs cp --parents -t @abs_top_builddir@/module/$$distdir); \ xargs cp --parents -t @abs_top_builddir@/module/$$distdir); \
done done