xref: /OK3568_Linux_fs/kernel/tools/bpf/Makefile.helpers (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only
2*4882a593Smuzhiyunifndef allow-override
3*4882a593Smuzhiyun  include ../scripts/Makefile.include
4*4882a593Smuzhiyun  include ../scripts/utilities.mak
5*4882a593Smuzhiyunelse
6*4882a593Smuzhiyun  # Assume Makefile.helpers is being run from bpftool/Documentation
7*4882a593Smuzhiyun  # subdirectory. Go up two more directories to fetch bpf.h header and
8*4882a593Smuzhiyun  # associated script.
9*4882a593Smuzhiyun  UP2DIR := ../../
10*4882a593Smuzhiyunendif
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunINSTALL ?= install
13*4882a593SmuzhiyunRM ?= rm -f
14*4882a593SmuzhiyunRMDIR ?= rmdir --ignore-fail-on-non-empty
15*4882a593Smuzhiyun
16*4882a593Smuzhiyunifeq ($(V),1)
17*4882a593Smuzhiyun  Q =
18*4882a593Smuzhiyunelse
19*4882a593Smuzhiyun  Q = @
20*4882a593Smuzhiyunendif
21*4882a593Smuzhiyun
22*4882a593Smuzhiyunprefix ?= /usr/local
23*4882a593Smuzhiyunmandir ?= $(prefix)/man
24*4882a593Smuzhiyunman7dir = $(mandir)/man7
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunHELPERS_RST = bpf-helpers.rst
27*4882a593SmuzhiyunMAN7_RST = $(HELPERS_RST)
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun_DOC_MAN7 = $(patsubst %.rst,%.7,$(MAN7_RST))
30*4882a593SmuzhiyunDOC_MAN7 = $(addprefix $(OUTPUT),$(_DOC_MAN7))
31*4882a593Smuzhiyun
32*4882a593Smuzhiyunhelpers: man7
33*4882a593Smuzhiyunman7: $(DOC_MAN7)
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunRST2MAN_DEP := $(shell command -v rst2man 2>/dev/null)
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun$(OUTPUT)$(HELPERS_RST): $(UP2DIR)../../include/uapi/linux/bpf.h
38*4882a593Smuzhiyun	$(QUIET_GEN)$(UP2DIR)../../scripts/bpf_helpers_doc.py --filename $< > $@
39*4882a593Smuzhiyun
40*4882a593Smuzhiyun$(OUTPUT)%.7: $(OUTPUT)%.rst
41*4882a593Smuzhiyunifndef RST2MAN_DEP
42*4882a593Smuzhiyun	$(error "rst2man not found, but required to generate man pages")
43*4882a593Smuzhiyunendif
44*4882a593Smuzhiyun	$(QUIET_GEN)rst2man $< > $@
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunhelpers-clean:
47*4882a593Smuzhiyun	$(call QUIET_CLEAN, eBPF_helpers-manpage)
48*4882a593Smuzhiyun	$(Q)$(RM) $(DOC_MAN7) $(OUTPUT)$(HELPERS_RST)
49*4882a593Smuzhiyun
50*4882a593Smuzhiyunhelpers-install: helpers
51*4882a593Smuzhiyun	$(call QUIET_INSTALL, eBPF_helpers-manpage)
52*4882a593Smuzhiyun	$(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(man7dir)
53*4882a593Smuzhiyun	$(Q)$(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
54*4882a593Smuzhiyun
55*4882a593Smuzhiyunhelpers-uninstall:
56*4882a593Smuzhiyun	$(call QUIET_UNINST, eBPF_helpers-manpage)
57*4882a593Smuzhiyun	$(Q)$(RM) $(addprefix $(DESTDIR)$(man7dir)/,$(_DOC_MAN7))
58*4882a593Smuzhiyun	$(Q)$(RMDIR) $(DESTDIR)$(man7dir)
59*4882a593Smuzhiyun
60*4882a593Smuzhiyun.PHONY: helpers helpers-clean helpers-install helpers-uninstall
61