Commit a01d935b authored by Joe Stringer's avatar Joe Stringer Committed by Alexei Starovoitov
Browse files

tools/bpf: Remove bpf-helpers from bpftool docs



This logic is used for validating the manual pages from selftests, so
move the infra under tools/testing/selftests/bpf/ and rely on selftests
for validation rather than tying it into the bpftool build.

Signed-off-by: default avatarJoe Stringer <joe@cilium.io>
Signed-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
Reviewed-by: default avatarQuentin Monnet <quentin@isovalent.com>
Acked-by: default avatarToke Høiland-Jørgensen <toke@redhat.com>
Link: https://lore.kernel.org/bpf/20210302171947.2268128-12-joe@cilium.io
parent a67882a2
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -3,7 +3,6 @@
/bootstrap/
/bpftool
bpftool*.8
bpf-helpers.*
FEATURE-DUMP.bpftool
feature
libbpf
+4 −7
Original line number Diff line number Diff line
@@ -16,15 +16,12 @@ prefix ?= /usr/local
mandir ?= $(prefix)/man
man8dir = $(mandir)/man8

# Load targets for building eBPF helpers man page.
include ../../Makefile.helpers

MAN8_RST = $(wildcard bpftool*.rst)

_DOC_MAN8 = $(patsubst %.rst,%.8,$(MAN8_RST))
DOC_MAN8 = $(addprefix $(OUTPUT),$(_DOC_MAN8))

man: man8 helpers
man: man8
man8: $(DOC_MAN8)

RST2MAN_DEP := $(shell command -v rst2man 2>/dev/null)
@@ -46,16 +43,16 @@ ifndef RST2MAN_DEP
endif
	$(QUIET_GEN)( cat $< ; printf "%b" $(call see_also,$<) ) | rst2man $(RST2MAN_OPTS) > $@

clean: helpers-clean
clean:
	$(call QUIET_CLEAN, Documentation)
	$(Q)$(RM) $(DOC_MAN8)

install: man helpers-install
install: man
	$(call QUIET_INSTALL, Documentation-man)
	$(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(man8dir)
	$(Q)$(INSTALL) -m 644 $(DOC_MAN8) $(DESTDIR)$(man8dir)

uninstall: helpers-uninstall
uninstall:
	$(call QUIET_UNINST, Documentation-man)
	$(Q)$(RM) $(addprefix $(DESTDIR)$(man8dir)/,$(_DOC_MAN8))
	$(Q)$(RMDIR) $(DESTDIR)$(man8dir)
+1 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
bpf-helpers*
test_verifier
test_maps
test_lru_map
+15 −5
Original line number Diff line number Diff line
@@ -68,6 +68,7 @@ TEST_PROGS := test_kmod.sh \
	test_bpftool_build.sh \
	test_bpftool.sh \
	test_bpftool_metadata.sh \
	test_docs_build.sh \
	test_xsk.sh

TEST_PROGS_EXTENDED := with_addr.sh \
@@ -103,6 +104,7 @@ override define CLEAN
	$(call msg,CLEAN)
	$(Q)$(RM) -r $(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED) $(TEST_GEN_FILES) $(EXTRA_CLEAN)
	$(Q)$(MAKE) -C bpf_testmod clean
	$(Q)$(MAKE) docs-clean
endef

include ../lib.mk
@@ -180,6 +182,7 @@ $(OUTPUT)/runqslower: $(BPFOBJ) | $(DEFAULT_BPFTOOL)
		    cp $(SCRATCH_DIR)/runqslower $@

$(TEST_GEN_PROGS) $(TEST_GEN_PROGS_EXTENDED): $(OUTPUT)/test_stub.o $(BPFOBJ)
$(TEST_GEN_FILES): docs

$(OUTPUT)/test_dev_cgroup: cgroup_helpers.c
$(OUTPUT)/test_skb_cgroup_id_user: cgroup_helpers.c
@@ -200,11 +203,16 @@ $(DEFAULT_BPFTOOL): $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) \
		    CC=$(HOSTCC) LD=$(HOSTLD)				       \
		    OUTPUT=$(HOST_BUILD_DIR)/bpftool/			       \
		    prefix= DESTDIR=$(HOST_SCRATCH_DIR)/ install
	$(Q)mkdir -p $(BUILD_DIR)/bpftool/Documentation

docs:
	$(Q)RST2MAN_OPTS="--exit-status=1" $(MAKE) $(submake_extras)	\
		    -C $(BPFTOOLDIR)/Documentation			       \
		    OUTPUT=$(BUILD_DIR)/bpftool/Documentation/		       \
		    prefix= DESTDIR=$(SCRATCH_DIR)/ install
	            -f Makefile.docs					\
	            prefix= OUTPUT=$(OUTPUT)/ DESTDIR=$(OUTPUT)/ $@

docs-clean:
	$(Q)$(MAKE) $(submake_extras)					\
	            -f Makefile.docs					\
	            prefix= OUTPUT=$(OUTPUT)/ DESTDIR=$(OUTPUT)/ $@

$(BPFOBJ): $(wildcard $(BPFDIR)/*.[ch] $(BPFDIR)/Makefile)		       \
	   ../../../include/uapi/linux/bpf.h                                   \
@@ -477,3 +485,5 @@ EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(SCRATCH_DIR) $(HOST_SCRATCH_DIR) \
	prog_tests/tests.h map_tests/tests.h verifier/tests.h		\
	feature								\
	$(addprefix $(OUTPUT)/,*.o *.skel.h no_alu32 bpf_gcc bpf_testmod.ko)

.PHONY: docs docs-clean
+17 −15
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
ifndef allow-override
  include ../scripts/Makefile.include
  include ../scripts/utilities.mak
else
  # Assume Makefile.helpers is being run from bpftool/Documentation
  # subdirectory. Go up two more directories to fetch bpf.h header and
  # associated script.
  UP2DIR := ../../
endif

include ../../../scripts/Makefile.include
include ../../../scripts/utilities.mak

INSTALL ?= install
RM ?= rm -f
@@ -29,13 +23,21 @@ MAN7_RST = $(HELPERS_RST)
_DOC_MAN7 = $(patsubst %.rst,%.7,$(MAN7_RST))
DOC_MAN7 = $(addprefix $(OUTPUT),$(_DOC_MAN7))

DOCTARGETS := helpers

docs: $(DOCTARGETS)
helpers: man7
man7: $(DOC_MAN7)

RST2MAN_DEP := $(shell command -v rst2man 2>/dev/null)

$(OUTPUT)$(HELPERS_RST): $(UP2DIR)../../include/uapi/linux/bpf.h
	$(QUIET_GEN)$(UP2DIR)../../scripts/bpf_doc.py --filename $< > $@
# Configure make rules for the man page bpf-$1.$2.
# $1 - target for scripts/bpf_doc.py
# $2 - man page section to generate the troff file
define DOCS_RULES =
$(OUTPUT)bpf-$1.rst: ../../../../include/uapi/linux/bpf.h
	$$(QUIET_GEN)../../../../scripts/bpf_doc.py $1 \
		--filename $$< > $$@

$(OUTPUT)%.7: $(OUTPUT)%.rst
ifndef RST2MAN_DEP
@@ -43,18 +45,18 @@ ifndef RST2MAN_DEP
endif
	$(QUIET_GEN)rst2man $< > $@

helpers-clean:
docs-clean:
	$(call QUIET_CLEAN, eBPF_helpers-manpage)
	$(Q)$(RM) $(DOC_MAN7) $(OUTPUT)$(HELPERS_RST)

helpers-install: helpers
docs-install: helpers
	$(call QUIET_INSTALL, eBPF_helpers-manpage)
	$(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(man7dir)
	$(Q)$(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)

helpers-uninstall:
docs-uninstall:
	$(call QUIET_UNINST, eBPF_helpers-manpage)
	$(Q)$(RM) $(addprefix $(DESTDIR)$(man7dir)/,$(_DOC_MAN7))
	$(Q)$(RMDIR) $(DESTDIR)$(man7dir)

.PHONY: helpers helpers-clean helpers-install helpers-uninstall
.PHONY: docs docs-clean docs-install docs-uninstall
Loading