]> granicus.if.org Git - spl/commitdiff
Add uninstall Makefile targets
authorBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 28 Jul 2010 20:59:18 +0000 (13:59 -0700)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Wed, 28 Jul 2010 21:55:32 +0000 (14:55 -0700)
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.

Makefile.am
Makefile.in
include/Makefile.am
include/Makefile.in
module/Makefile.in

index cae511de76c20d71bfae34207f8c57c54238bdc9..184c300cbf68867bf0d09a8a1a307546d62a0fe5 100644 (file)
@@ -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; \
index 4b0e8c83885d5bde6f6b3f6b8dcb2822a5b3ca4e..af58ad11b5321f7425a09338f2d60c32489b9bcb 100644 (file)
@@ -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; \
index 6ed7cdad8ad5f1d09b01928eb908f6b8bea293af..64d9fa29e006d1931f405bf03e8b356b67c256c0 100644 (file)
@@ -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
index cdbeff05fcdec023d005100d91b98f3c3d826578..c646474504b9de78eddee1ec9ab494fcfd65e0b0 100644 (file)
@@ -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:
index eed81f64eaa0396e7f09b88e4048b1748e4bb802..caa403228985fd48335b415bb1a2329cc6a2a868 100644 (file)
@@ -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: