[PATCH v2] Makefile.in: Add uninstall rule

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Presently the Makedumpfile.in doesn't include a uninstall rule, which is
useful in case we want to preform a reverse of the install process
done by Makefile.in

This patch adds this rule, thus making it easier to remove installed
executables and man pages in case one needs to uninstall the same.

Cc: Russell King <rmk@xxxxxxxxxxxxxxxx>
Cc: Simon Horman <horms@xxxxxxxxxxxx>
Cc: Dave Young <dyoung@xxxxxxxxxx>
Cc: Vivek Goyal <vgoyal@xxxxxxxxxx>
Cc: AKASHI Takahiro <takahiro.akashi@xxxxxxxxxx>
Signed-off-by: Bhupesh Sharma <bhsharma@xxxxxxxxxx>
---
Changes since v1:
 - As per Dave's suggestion, seperated the two patches included in the
   patchset in v1 as individual patches in v2.
 - Another patch sent by me now obsoletes the kdump tool and the 'make
   uninstall' rule can come in handy (especially on arm systems with
   low memory footprints) to remove already installed version of kdump
   tool and related man-pages.
   (the patch can be viewed here - http://lists.infradead.org/pipermail/kexec/2018-May/020754.html)
 - v1 can be viewed here: http://lists.infradead.org/pipermail/kexec/2018-April/020527.html

 Makefile.in | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 81 insertions(+), 2 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index 18e164595e3f..fb01134d9880 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -177,10 +177,21 @@ BINARIES_i386:=$(KEXEC_TEST)
 BINARIES_x86_64:=$(KEXEC_TEST)
 BINARIES:=$(KEXEC) $(VMCORE_DMESG) $(BINARIES_$(ARCH))
 
-TARGETS:=$(BINARIES) $(MAN_PAGES)
+UNINSTALL_KDUMP = $(sbindir)/kdump
+UNINSTALL_KDUMP_MANPAGE = $(mandir)/man8/kdump.8
+UNINSTALL_KEXEC = $(sbindir)/kexec
+UNINSTALL_KEXEC_MANPAGE = $(mandir)/man8/kexec.8
+UNINSTALL_VMCORE_DMESG = $(sbindir)/vmcore-dmesg
+UNINSTALL_VMCORE_DMESG_MANPAGE = $(mandir)/man8/vmcore-dmesg.8
 
+TARGETS:=$(BINARIES) $(MAN_PAGES)
 targets: $(TARGETS)
 
+UNINSTALL_TARGETS:=$(UNINSTALL_KDUMP) $(UNINSTALL_KDUMP_MANPAGE) \
+		   $(UNINSTALL_KEXEC) $(UNINSTALL_KEXEC_MANPAGE) \
+		   $(UNINSTALL_VMCORE_DMESG) $(UNINSTALL_VMCORE_DMESG_MANPAGE)
+uninstall-targets: $(UNINSTALL_TARGETS)
+
 Makefile: Makefile.in config.status
 	./config.status
 
@@ -213,6 +224,7 @@ echo::
 	@echo ARCH=$(ARCH)
 	@echo BINARIES=$(BINARIES)
 	@echo TARGETS=$(TARGETS)
+	@echo UNINSTALL_TARGETS=$(UNINSTALL_TARGETS)
 	@echo CC=$(CC)
 	@echo AR=$(AR)
 	@echo LD=$(LD)
@@ -318,5 +330,72 @@ install: $(TARGETS)
 		fi; \
 	done
 
-.PHONY: echo install all targets clean dist-clean distclean \
+uninstall:
+	UINSTALL_LIST='$(UNINSTALL_TARGETS)'; for file in $$UINSTALL_LIST ; do \
+		if test `$(DIRNAME) $$file` =     "$(sbindir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(bindir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(libexecdir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(datadir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(sysconfdir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(sharedstatedir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(localstatedir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(libdir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(infodir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(mandir)/man1" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(mandir)/man2" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(mandir)/man3" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(mandir)/man4" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(mandir)/man5" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(mandir)/man6" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(mandir)/man7" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(mandir)/man8" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(includedir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(pkgdatadir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(pkglibdir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+		if test `$(DIRNAME) $$file` =     "$(pkgincludedir)" ; then \
+			rm -rf $$file ; \
+		fi; \
+	done
+
+.PHONY: echo install uninstall all targets uninstall-targets clean dist-clean distclean \
 	maintainer-clean maintainerclean tarball rpm
-- 
2.7.4


_______________________________________________
kexec mailing list
kexec@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/kexec



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux