From 9662934bd9ab7ec8ebdecbf970a384c34617deac Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Wed, 28 Jul 2010 14:30:17 -0700 Subject: [PATCH] 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. --- Makefile.am | 2 +- module/Makefile.in | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index 6984d5bd0b..3689d1f8f9 100644 --- a/Makefile.am +++ b/Makefile.am @@ -34,7 +34,7 @@ distclean-local:: if CONFIG_KERNEL install-data-local: destname=zfs-$(ZFS_META_VERSION)/$(LINUX_VERSION); \ - instdest=$(DESTDIR)/${prefix}/src/$$destname; \ + instdest=$(DESTDIR)/usr/src/$$destname; \ echo "${ZFS_META_VERSION}" >$$instdest/zfs.release; \ for instfile in $(noinst_HEADERS) module/$(LINUX_SYMBOLS); do \ $(INSTALL) -D $$instfile $$instdest/$$instfile; \ diff --git a/module/Makefile.in b/module/Makefile.in index cc8047a9ed..489119ab3f 100644 --- a/module/Makefile.in +++ b/module/Makefile.in @@ -16,16 +16,29 @@ 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/zfs $@ 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 # Install the required headers in to the kernel source destname=zfs-@ZFS_META_VERSION@/@LINUX_VERSION@; \ - instdest=$(DESTDIR)/@prefix@/src/$$destname; \ + instdest=$(DESTDIR)/usr/src/$$destname; \ (find . -mindepth 3 -name '*.h' | xargs -Ihdr sh -c \ "DEST=hdr && install -D hdr $$instdest/\$${DEST#*/*/*/}") || exit 1 +modules_uninstall: + # Uninstall the kernel modules + $(RM) -R ${DESTDIR}/lib/modules/@LINUX_VERSION@/addon/zfs + # Uninstall the required headers from the kernel source + destname=zfs-@ZFS_META_VERSION@/@LINUX_VERSION@; \ + instdest=$(DESTDIR)/usr/src/$$destname; \ + $(RM) -R $$instdest + distdir: distfiles=`find . -name '*.c' -o -name '*.h'`; \ for distfile in $$distfiles; do \ @@ -36,5 +49,6 @@ distdir: distclean maintainer-clean: clean install: modules_install +uninstall: modules_uninstall all: modules check: