Programs and documentation not managed by package manager are generally installed under /usr/local/, instead of the user's home directory. In particular, `man` is generally able to find manual pages under `/usr/local/share/man`. bpftool generally follows perf's example, and perf installs to home directory. However bpftool requires root credentials, so it seems sensible to follow the more common convention of installing files under /usr/local instead. So, make /usr/local the default prefix for installing the binary with `make install`, and the documentation with `make doc-install`. Also, create /usr/local/sbin if it does not exist. Note that the bash-completion file, however, is still installed under /usr/share/bash-completion/completions, as the default setup for bash does not attempt to load completion files under /usr/local/. Reported-by: David Beckett <david.beckett@netronome.com> Signed-off-by: Quentin Monnet <quentin.monnet@netronome.com> Acked-by: Jakub Kicinski <jakub.kicinski@netronome.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
35 lines
724 B
Makefile
35 lines
724 B
Makefile
include ../../../scripts/Makefile.include
|
|
include ../../../scripts/utilities.mak
|
|
|
|
INSTALL ?= install
|
|
RM ?= rm -f
|
|
|
|
# Make the path relative to DESTDIR, not prefix
|
|
ifndef DESTDIR
|
|
prefix ?= /usr/local
|
|
endif
|
|
mandir ?= $(prefix)/share/man
|
|
man8dir = $(mandir)/man8
|
|
|
|
MAN8_RST = $(wildcard *.rst)
|
|
|
|
_DOC_MAN8 = $(patsubst %.rst,%.8,$(MAN8_RST))
|
|
DOC_MAN8 = $(addprefix $(OUTPUT),$(_DOC_MAN8))
|
|
|
|
man: man8
|
|
man8: $(DOC_MAN8)
|
|
|
|
$(OUTPUT)%.8: %.rst
|
|
rst2man $< > $@
|
|
|
|
clean:
|
|
$(call QUIET_CLEAN, Documentation) $(RM) $(DOC_MAN8)
|
|
|
|
install: man
|
|
$(call QUIET_INSTALL, Documentation-man) \
|
|
$(INSTALL) -d -m 755 $(DESTDIR)$(man8dir); \
|
|
$(INSTALL) -m 644 $(DOC_MAN8) $(DESTDIR)$(man8dir);
|
|
|
|
.PHONY: man man8 clean install
|
|
.DEFAULT_GOAL := man
|