[PATCH 1/2] Add/resurrect make uninstall target
From: Jan Nieuwenhuizen <hidden>
Date: 2016-06-15 22:47:51
Subsystem:
kernel build + files below scripts/ (unless maintained elsewhere), the rest · Maintainers:
Nathan Chancellor, Nicolas Schier, Linus Torvalds
Uninstall is a common make target that users may expect to be present, e.g. it is provided automatically by automake. The default Git install performs a multi-rooted install in $HOME, which makes manual removal somewhat cumbersome. The uninstall target was not present in the toplevel makefile, only a few other makefiles had partial uninstall targets. Signed-off-by: Jan Nieuwenhuizen <redacted> --- Makefile | 18 +++++++++++++++++- perl/Makefile | 2 +- templates/Makefile | 5 +++++ 3 files changed, 23 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index 4a1e5bc..b9ef172 100644
--- a/Makefile
+++ b/Makefile@@ -1842,7 +1842,23 @@ quick-install-man: quick-install-html: $(MAKE) -C Documentation quick-install-html +bindir_PROGRAMS = git$X git-upload-pack$X git-receive-pack$X git-upload-archive$X git-shell$X git-cvsserver +uninstall: +ifndef NO_TCLTK + $(MAKE) -C gitk-git uninstall + $(MAKE) -C git-gui gitexecdir='$(gitexec_instdir_SQ)' uninstall +endif +ifndef NO_PERL + $(MAKE) -C perl prefix='$(prefix_SQ)' DESTDIR='$(DESTDIR_SQ)' uninstall +endif + $(MAKE) -C templates DESTDIR='$(DESTDIR_SQ)' uninstall + $(RM) $(ALL_PROGRAMS:%='$(DESTDIR_SQ)$(gitexec_instdir_SQ)'/%) + $(RM) $(BUILT_INS:%='$(DESTDIR_SQ)$(gitexec_instdir_SQ)'/%) + $(RM) $(OTHER_PROGRAMS:%='$(DESTDIR_SQ)$(gitexec_instdir_SQ)'/%) + -rmdir -p '$(DESTDIR_SQ)$(gitexec_instdir_SQ)' + $(RM) $(bindir_PROGRAMS:%='$(DESTDIR_SQ)$(bindir_SQ)'/%) + -rmdir -p '$(DESTDIR_SQ)$(bindir_SQ)' ### Maintainer's dist rules
@@ -1921,7 +1937,7 @@ ifndef NO_TCLTK endif $(RM) GIT-VERSION-FILE GIT-CFLAGS GIT-GUI-VARS GIT-BUILD-OPTIONS -.PHONY: all install clean strip +.PHONY: all install uninstall clean strip .PHONY: shell_compatibility_test please_set_SHELL_PATH_to_a_more_modern_shell .PHONY: .FORCE-GIT-VERSION-FILE TAGS tags cscope .FORCE-GIT-CFLAGS .PHONY: .FORCE-GIT-BUILD-OPTIONS
diff --git a/perl/Makefile b/perl/Makefile
index 4ab21d6..25fc304 100644
--- a/perl/Makefile
+++ b/perl/Makefile@@ -10,7 +10,7 @@ ifndef V QUIET = @ endif -all install instlibdir: $(makfile) +all install instlibdir uninstall: $(makfile) $(QUIET)$(MAKE) -f $(makfile) $@ clean:
diff --git a/templates/Makefile b/templates/Makefile
index 408f013..f4048d9 100644
--- a/templates/Makefile
+++ b/templates/Makefile@@ -51,3 +51,8 @@ install: all $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$(template_instdir_SQ)' (cd blt && $(TAR) cf - .) | \ (cd '$(DESTDIR_SQ)$(template_instdir_SQ)' && umask 022 && $(TAR) xof -) + +uninstall: + -(cd blt && find . -type f) | (cd '$(DESTDIR_SQ)$(template_instdir_SQ)' && xargs $(RM)) + -(cd blt && find . -mindepth 1 -type d) | (cd '$(DESTDIR_SQ)$(template_instdir_SQ)' && xargs rmdir) + -rmdir -p '$(DESTDIR_SQ)$(template_instdir_SQ)'
--
1.6.5.2.182.g1a756
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond - The music typesetter
Avatar®: http://AvatarAcademy.nl | http://lilypond.org