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