diff options
author | Brian Behlendorf <[email protected]> | 2010-07-28 13:59:18 -0700 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2010-07-28 14:55:32 -0700 |
commit | 099dc9c2d275b4475f130f3d03bab88516101b36 (patch) | |
tree | 24827ed79b63e6de0a3af4e510b47d594d53230a | |
parent | 287b2fb117f1ce964dc79c1f694e7d473a6b9db0 (diff) |
Add uninstall Makefile targets
Extend the Makefiles with an uninstall target to cleanly
remove a package which was installed with 'make install'.
Additionally, ensure a 'depmod -a' is run as part of the
install to update the module dependency information.
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | Makefile.in | 2 | ||||
-rw-r--r-- | include/Makefile.am | 7 | ||||
-rw-r--r-- | include/Makefile.in | 11 | ||||
-rw-r--r-- | module/Makefile.in | 10 |
5 files changed, 26 insertions, 6 deletions
diff --git a/Makefile.am b/Makefile.am index cae511de7..184c300cb 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 4b0e8c838..af58ad11b 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 6ed7cdad8..64d9fa29e 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 cdbeff05f..c64647450 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 eed81f64e..caa403228 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: |