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