162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ciinclude ../../../scripts/Makefile.include 362306a36Sopenharmony_ci 462306a36Sopenharmony_ciINSTALL ?= install 562306a36Sopenharmony_ciRM ?= rm -f 662306a36Sopenharmony_ciRMDIR ?= rmdir --ignore-fail-on-non-empty 762306a36Sopenharmony_ci 862306a36Sopenharmony_ciifeq ($(V),1) 962306a36Sopenharmony_ci Q = 1062306a36Sopenharmony_cielse 1162306a36Sopenharmony_ci Q = @ 1262306a36Sopenharmony_ciendif 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ciprefix ?= /usr/local 1562306a36Sopenharmony_cimandir ?= $(prefix)/man 1662306a36Sopenharmony_ciman8dir = $(mandir)/man8 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciMAN8_RST = $(wildcard bpftool*.rst) 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci_DOC_MAN8 = $(patsubst %.rst,%.8,$(MAN8_RST)) 2162306a36Sopenharmony_ciDOC_MAN8 = $(addprefix $(OUTPUT),$(_DOC_MAN8)) 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ciman: man8 2462306a36Sopenharmony_ciman8: $(DOC_MAN8) 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ciRST2MAN_DEP := $(shell command -v rst2man 2>/dev/null) 2762306a36Sopenharmony_ciRST2MAN_OPTS += --verbose --strip-comments 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_cilist_pages = $(sort $(basename $(filter-out $(1),$(MAN8_RST)))) 3062306a36Sopenharmony_cisee_also = $(subst " ",, \ 3162306a36Sopenharmony_ci "\n" \ 3262306a36Sopenharmony_ci "SEE ALSO\n" \ 3362306a36Sopenharmony_ci "========\n" \ 3462306a36Sopenharmony_ci "\t**bpf**\ (2),\n" \ 3562306a36Sopenharmony_ci "\t**bpf-helpers**\\ (7)" \ 3662306a36Sopenharmony_ci $(foreach page,$(call list_pages,$(1)),",\n\t**$(page)**\\ (8)") \ 3762306a36Sopenharmony_ci "\n") 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci$(OUTPUT)%.8: %.rst 4062306a36Sopenharmony_ciifndef RST2MAN_DEP 4162306a36Sopenharmony_ci $(error "rst2man not found, but required to generate man pages") 4262306a36Sopenharmony_ciendif 4362306a36Sopenharmony_ci $(QUIET_GEN)( cat $< ; printf "%b" $(call see_also,$<) ) | rst2man $(RST2MAN_OPTS) > $@ 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciclean: 4662306a36Sopenharmony_ci $(call QUIET_CLEAN, Documentation) 4762306a36Sopenharmony_ci $(Q)$(RM) $(DOC_MAN8) 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ciinstall: man 5062306a36Sopenharmony_ci $(call QUIET_INSTALL, Documentation-man) 5162306a36Sopenharmony_ci $(Q)$(INSTALL) -d -m 755 $(DESTDIR)$(man8dir) 5262306a36Sopenharmony_ci $(Q)$(INSTALL) -m 644 $(DOC_MAN8) $(DESTDIR)$(man8dir) 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ciuninstall: 5562306a36Sopenharmony_ci $(call QUIET_UNINST, Documentation-man) 5662306a36Sopenharmony_ci $(Q)$(RM) $(addprefix $(DESTDIR)$(man8dir)/,$(_DOC_MAN8)) 5762306a36Sopenharmony_ci $(Q)$(RMDIR) $(DESTDIR)$(man8dir) 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ci.PHONY: man man8 clean install uninstall 6062306a36Sopenharmony_ci.DEFAULT_GOAL := man 61