tools: bpftool: create "uninstall", "doc-uninstall" make targets
authorQuentin Monnet <quentin.monnet@netronome.com>
Thu, 7 Dec 2017 23:00:18 +0000 (15:00 -0800)
committerDaniel Borkmann <daniel@iogearbox.net>
Fri, 8 Dec 2017 19:14:16 +0000 (20:14 +0100)
Create two targets to remove executable and documentation that would
have been previously installed with `make install` and `make
doc-install`.

Also create a "QUIET_UNINST" helper in tools/scripts/Makefile.include.

Do not attempt to remove directories /usr/local/sbin and
/usr/share/bash-completions/completions, even if they are empty, as
those specific directories probably already existed on the system before
we installed the program, and we do not wish to break other makefiles
that might assume their existence. Do remvoe /usr/local/share/man/man8
if empty however, as this directory does not seem to exist by default.

Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
tools/bpf/bpftool/Documentation/Makefile
tools/bpf/bpftool/Makefile
tools/scripts/Makefile.include

index 71c17fab4f2f58bf7641529b875238df2155a722..c462a928e03df979ac0af47c565507847ce2768b 100644 (file)
@@ -3,6 +3,7 @@ include ../../../scripts/utilities.mak
 
 INSTALL ?= install
 RM ?= rm -f
+RMDIR ?= rmdir --ignore-fail-on-non-empty
 
 ifeq ($(V),1)
   Q =
@@ -34,5 +35,10 @@ install: man
        $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
        $(Q)$(INSTALL) -m 644 $(DOC_MAN8) $(DESTDIR)$(man8dir)
 
-.PHONY: man man8 clean install
+uninstall:
+       $(call QUIET_UNINST, Documentation-man)
+       $(Q)$(RM) $(addprefix $(DESTDIR)$(man8dir)/,$(_DOC_MAN8))
+       $(Q)$(RMDIR) $(DESTDIR)$(man8dir)
+
+.PHONY: man man8 clean install uninstall
 .DEFAULT_GOAL := man
index 203ae2e14fbc9e0d33b23913efe5b36dc35e2fae..3f17ad317512a8e7eb0e2b590c0742d2597c4592 100644 (file)
@@ -70,6 +70,11 @@ install: $(OUTPUT)bpftool
        $(Q)$(INSTALL) -m 0755 -d $(DESTDIR)$(bash_compdir)
        $(Q)$(INSTALL) -m 0644 bash-completion/bpftool $(DESTDIR)$(bash_compdir)
 
+uninstall:
+       $(call QUIET_UNINST, bpftool)
+       $(Q)$(RM) $(DESTDIR)$(prefix)/sbin/bpftool
+       $(Q)$(RM) $(DESTDIR)$(bash_compdir)/bpftool
+
 doc:
        $(call descend,Documentation)
 
@@ -79,8 +84,11 @@ doc-clean:
 doc-install:
        $(call descend,Documentation,install)
 
+doc-uninstall:
+       $(call descend,Documentation,uninstall)
+
 FORCE:
 
-.PHONY: all FORCE clean install
-.PHONY: doc doc-clean doc-install
+.PHONY: all FORCE clean install uninstall
+.PHONY: doc doc-clean doc-install doc-uninstall
 .DEFAULT_GOAL := all
index 3fab179b1abac797a55952dd69b78848f74fdc64..fcb3ed0be5f81ea89585af09b814ce3b0a7610c3 100644 (file)
@@ -99,5 +99,6 @@ ifneq ($(silent),1)
 
        QUIET_CLEAN    = @printf '  CLEAN    %s\n' $1;
        QUIET_INSTALL  = @printf '  INSTALL  %s\n' $1;
+       QUIET_UNINST   = @printf '  UNINST   %s\n' $1;
   endif
 endif