diff --git a/Makefile.am b/Makefile.am index cae511de76c2..184c300cbf68 100644 --- a/Makefile.am +++ b/Makefile.am @@ -30,7 +30,7 @@ distclean-local:: if CONFIG_KERNEL install-data-local: destname=spl-$(SPL_META_VERSION)/$(LINUX_VERSION); \ - instdest=$(DESTDIR)/${prefix}/src/$$destname; \ + instdest=$(DESTDIR)/usr/src/$$destname; \ echo "${SPL_META_VERSION}" >$$instdest/spl.release; \ for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \ $(INSTALL) -D $$instfile $$instdest/$$instfile; \ diff --git a/Makefile.in b/Makefile.in index 4b0e8c83885d..af58ad11b532 100644 --- a/Makefile.in +++ b/Makefile.in @@ -877,7 +877,7 @@ distclean-local:: @CONFIG_KERNEL_TRUE@install-data-local: @CONFIG_KERNEL_TRUE@ destname=spl-$(SPL_META_VERSION)/$(LINUX_VERSION); \ -@CONFIG_KERNEL_TRUE@ instdest=$(DESTDIR)/${prefix}/src/$$destname; \ +@CONFIG_KERNEL_TRUE@ instdest=$(DESTDIR)/usr/src/$$destname; \ @CONFIG_KERNEL_TRUE@ echo "${SPL_META_VERSION}" >$$instdest/spl.release; \ @CONFIG_KERNEL_TRUE@ for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \ @CONFIG_KERNEL_TRUE@ $(INSTALL) -D $$instfile $$instdest/$$instfile; \ diff --git a/include/Makefile.am b/include/Makefile.am index 6ed7cdad8ad5..64d9fa29e006 100644 --- a/include/Makefile.am +++ b/include/Makefile.am @@ -16,8 +16,13 @@ noinst_HEADERS += vm/*.h install-data-local: destname=spl-$(SPL_META_VERSION)/$(LINUX_VERSION); \ - instdest=$(DESTDIR)/${prefix}/src/$$destname; \ + instdest=$(DESTDIR)/usr/src/$$destname; \ instfiles=`find . -name '*.h'`; \ for instfile in $$instfiles; do \ $(INSTALL) -D $$instfile $$instdest/$$instfile; \ done + +uninstall-local: + destname=spl-$(SPL_META_VERSION)/$(LINUX_VERSION); \ + instdest=$(DESTDIR)/usr/src/$$destname; \ + $(RM) -R $$instdest diff --git a/include/Makefile.in b/include/Makefile.in index cdbeff05fcde..c646474504b9 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -431,7 +431,7 @@ ps: ps-am ps-am: -uninstall-am: +uninstall-am: uninstall-local .MAKE: install-am install-strip @@ -446,17 +446,22 @@ uninstall-am: installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ - uninstall-am + uninstall-am uninstall-local install-data-local: destname=spl-$(SPL_META_VERSION)/$(LINUX_VERSION); \ - instdest=$(DESTDIR)/${prefix}/src/$$destname; \ + instdest=$(DESTDIR)/usr/src/$$destname; \ instfiles=`find . -name '*.h'`; \ for instfile in $$instfiles; do \ $(INSTALL) -D $$instfile $$instdest/$$instfile; \ done +uninstall-local: + destname=spl-$(SPL_META_VERSION)/$(LINUX_VERSION); \ + instdest=$(DESTDIR)/usr/src/$$destname; \ + $(RM) -R $$instdest + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/module/Makefile.in b/module/Makefile.in index eed81f64eaa0..caa403228985 100644 --- a/module/Makefile.in +++ b/module/Makefile.in @@ -12,10 +12,19 @@ clean: if [ -f Module.markers ]; then $(RM) Module.markers; fi modules_install: + # Install the kernel modules $(MAKE) -C @LINUX_OBJ@ SUBDIRS=`pwd` \ INSTALL_MOD_PATH=$(DESTDIR) \ INSTALL_MOD_DIR=addon/spl $@ find ${DESTDIR}/lib/modules/ -name 'modules.*' | xargs ${RM} + sysmap=${DESTDIR}/boot/System.map-@LINUX_VERSION@; \ + if [ -f $$sysmap ]; then \ + depmod -ae -F $$sysmap @LINUX_VERSION@; \ + fi + +modules_uninstall: + # Uninstall the kernel modules + $(RM) -R ${DESTDIR}/lib/modules/@LINUX_VERSION@/addon/spl distdir: list='$(subdir-m)'; for subdir in $$list; do \ @@ -25,5 +34,6 @@ distdir: distclean maintainer-clean: clean install: modules_install +uninstall: modules_uninstall all: modules check: