aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Behlendorf <[email protected]>2010-07-28 13:59:18 -0700
committerBrian Behlendorf <[email protected]>2010-07-28 14:55:32 -0700
commit099dc9c2d275b4475f130f3d03bab88516101b36 (patch)
tree24827ed79b63e6de0a3af4e510b47d594d53230a
parent287b2fb117f1ce964dc79c1f694e7d473a6b9db0 (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.am2
-rw-r--r--Makefile.in2
-rw-r--r--include/Makefile.am7
-rw-r--r--include/Makefile.in11
-rw-r--r--module/Makefile.in10
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: