From 943bd9e6c4c8a6e284f4c5c75c3a42f293ae9785 Mon Sep 17 00:00:00 2001
From: Fons Rademakers <Fons.Rademakers@cern.ch>
Date: Wed, 27 Jun 2001 17:32:02 +0000
Subject: [PATCH] new "uninstall" taget by Christian Holm.

git-svn-id: http://root.cern.ch/svn/root/trunk@2477 27541ba8-7e3a-0410-8455-c3a389f83636
---
 Makefile | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 86 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index a6cf43fe060..339914b29bf 100644
--- a/Makefile
+++ b/Makefile
@@ -385,9 +385,10 @@ install:
 	   $(INSTALL) $(ALLEXECS)               $(DESTDIR)$(BINDIR); \
 	   echo "Installing libraries in $(DESTDIR)$(LIBDIR)"; \
 	   $(INSTALLDIR)                        $(DESTDIR)$(LIBDIR); \
-	   chmod u+w                            $(DESTDIR)$(LIBDIR)/*; \
-	   echo "[possible error from chmod is ok]"; \
+	   vers=`sed 's|\(.*\)\..*/.*|\1|' < build/version_number` ; \
 	   for lib in $(ALLLIBS) $(CINTLIB); do \
+	      rm -f $(DESTDIR)$(LIBDIR)/`basename $$lib` ; \
+	      rm -f $(DESTDIR)$(LIBDIR)/`basename $$lib`.$$vers ; \
 	      $(INSTALL) $$lib*                 $(DESTDIR)$(LIBDIR); \
 	   done ; \
 	   echo "Installing headers in $(DESTDIR)$(INCDIR)"; \
@@ -402,6 +403,9 @@ install:
 	   $(INSTALLDATA) cint/include          $(DESTDIR)$(CINTINCDIR); \
 	   $(INSTALLDATA) cint/lib              $(DESTDIR)$(CINTINCDIR); \
 	   $(INSTALLDATA) cint/stl              $(DESTDIR)$(CINTINCDIR); \
+	   rm -rf $(DESTDIR)$(CINTINCDIR)/include/CVS; \
+	   rm -rf $(DESTDIR)$(CINTINCDIR)/lib/CVS; \
+	   rm -rf $(DESTDIR)$(CINTINCDIR)/stl/CVS; \
 	   echo "Installing PROOF files in $(DESTDIR)$(PROOFDATADIR)"; \
 	   $(INSTALLDIR)                        $(DESTDIR)$(PROOFDATADIR); \
 	   $(INSTALLDATA) proof/etc             $(DESTDIR)$(PROOFDATADIR); \
@@ -421,21 +425,101 @@ install:
 	   echo "Installing tutorials in $(DESTDIR)$(TUTDIR)"; \
 	   $(INSTALLDIR)                        $(DESTDIR)$(TUTDIR); \
 	   $(INSTALLDATA) tutorials/*           $(DESTDIR)$(TUTDIR); \
+	   rm -rf $(DESTDIR)$(TUTDIR)/CVS; \
 	   echo "Installing tests in $(DESTDIR)$(TESTDIR)"; \
 	   $(INSTALLDIR)                        $(DESTDIR)$(TESTDIR); \
 	   $(INSTALLDATA) test/*                $(DESTDIR)$(TESTDIR); \
+	   rm -rf $(DESTDIR)$(TESTDIR)/CVS; \
 	   echo "Installing macros in $(DESTDIR)$(MACRODIR)"; \
 	   $(INSTALLDIR)                        $(DESTDIR)$(MACRODIR); \
 	   $(INSTALLDATA) macros/*              $(DESTDIR)$(MACRODIR); \
+	   rm -rf $(DESTDIR)$(MACRODIR)/CVS; \
 	   echo "Installing man(1) pages in $(DESTDIR)$(MANDIR)"; \
 	   $(INSTALLDIR)                        $(DESTDIR)$(MANDIR); \
 	   $(INSTALLDATA) man/*                 $(DESTDIR)$(MANDIR); \
+	   rm -rf $(DESTDIR)$(MANDIR)/CVS; \
 	   echo "Installing config files in $(DESTDIR)$(ETCDIR)"; \
 	   $(INSTALLDIR)                        $(DESTDIR)$(ETCDIR); \
 	   $(INSTALLDATA) etc/*                 $(DESTDIR)$(ETCDIR); \
+	   rm -rf $(DESTDIR)$(ETCDIR)/CVS; \
 	   echo "Installing utils in $(DESTDIR)$(DATADIR)"; \
 	   $(INSTALLDIR)                        $(DESTDIR)$(DATADIR); \
 	   $(INSTALLDATA) build/misc/*          $(DESTDIR)$(DATADIR); \
+	   rm -rf $(DESTDIR)$(DATADIR)/CVS; \
+	fi
+
+uninstall:
+	@if [ -d $(BINDIR) ]; then \
+	   inode1=`ls -id $(BINDIR) | awk '{ print $$1 }'`; \
+	fi; \
+	inode2=`ls -id $$PWD/bin | awk '{ print $$1 }'`; \
+	if [ -d $(BINDIR) ] && [ $$inode1 -eq $$inode2 ]; then \
+	   $(MAKE) distclean ; \
+	else \
+	   rm -f $(DESTDIR)$(BINDIR)/`basename $(CINT)`; \
+	   rm -f $(DESTDIR)$(BINDIR)/`basename $(MAKECINT)`; \
+	   rm -f $(DESTDIR)$(BINDIR)/`basename $(ROOTCINT)`; \
+	   rm -f $(DESTDIR)$(BINDIR)/`basename $(RMKDEP)`; \
+	   if [ "x$(BINDEXP)" != "x" ] ; then \
+	      rm -f $(DESTDIR)$(BINDIR)/`basename $(BINDEXP)`; \
+	   fi; \
+	   rm -f $(DESTDIR)$(BINDIR)/root-config; \
+	   for i in $(ALLEXECS) ; do \
+	      rm -f $(DESTDIR)$(BINDIR)/`basename $$i`; \
+	   done; \
+	   if test -d $(DESTDIR)$(BINDIR) && \
+	      test "x`ls $(DESTDIR)$(BINDIR)`" = "x" ; then \
+	      rm -rf $(DESTDIR)$(BINDIR); \
+	   fi ; \
+	   for lib in $(ALLLIBS) $(CINTLIB); do \
+	      rm -f $(DESTDIR)$(LIBDIR)/`basename $$lib`* ; \
+	   done ; \
+	   if test -d $(DESTDIR)$(LIBDIR) && \
+	      test "x`ls $(DESTDIR)$(LIBDIR)`" = "x" ; then \
+	      rm -rf $(DESTDIR)$(LIBDIR); \
+	   fi ; \
+	   for i in include/*.h ; do \
+	      rm -f $(DESTDIR)$(INCDIR)/`basename $$i`; \
+	   done ; \
+	   if test -d $(DESTDIR)$(INCDIR) && \
+	      test "x`ls $(DESTDIR)$(INCDIR)`" = "x" ; then \
+	      rm -rf $(DESTDIR)$(INCDIR); \
+	   fi ; \
+	   rm -f $(DESTDIR)$(INCDIR)/rmain.cxx; \
+	   rm -rf $(DESTDIR)$(CINTINCDIR); \
+	   rm -rf $(DESTDIR)$(PROOFDATADIR); \
+	   for i in icons/*.xpm ; do \
+	      rm -fr $(DESTDIR)$(ICONPATH)/`basename $$i`; \
+	   done; \
+	   if test -d $(DESTDIR)$(ICONPATH) && \
+	      test "x`ls $(DESTDIR)$(ICONPATH)`" = "x" ; then \
+	      rm -rf $(DESTDIR)$(ICONPATH); \
+	   fi ; \
+	   rm -rf $(DESTDIR)$(TUTDIR); \
+	   rm -rf $(DESTDIR)$(TESTDIR); \
+	   rm -rf $(DESTDIR)$(DOCDIR); \
+	   rm -rf $(DESTDIR)$(MACRODIR); \
+	   for i in man/* ; do \
+	      rm -fr $(DESTDIR)$(MANDIR)/`basename $$i`; \
+	   done; \
+	   if test -d $(DESTDIR)$(MANDIR) && \
+	      test "x`ls $(DESTDIR)$(MANDIR)`" = "x" ; then \
+	      rm -rf $(DESTDIR)$(MANDIR); \
+	   fi ; \
+	   for i in etc/* ; do \
+	      rm -fr $(DESTDIR)$(ETCDIR)/`basename $$i`; \
+	   done; \
+	   if test -d $(DESTDIR)$(ETCDIR) && \
+	      test "x`ls $(DESTDIR)$(ETCDIR)`" = "x" ; then \
+	      rm -rf $(DESTDIR)$(ETCDIR); \
+	   fi ; \
+	   for i in build/misc/* ; do \
+	      rm -fr $(DESTDIR)$(DATADIR)/`basename $$i`; \
+	   done; \
+	   if test -d $(DESTDIR)$(DATADIR) && \
+	      test "x`ls $(DESTDIR)$(DATADIR)`" = "x" ; then \
+	      rm -rf $(DESTDIR)$(DATADIR); \
+	   fi ; \
 	fi
 
 showbuild:
-- 
GitLab