# 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

INSTALL ?= install
RM ?= rm -f
RMDIR ?= rmdir --ignore-fail-on-non-empty

ifeq ($(V),1)
  Q =
else
  Q = @
endif

prefix ?= /usr/local
mandir ?= $(prefix)/man
man7dir = $(mandir)/man7

HELPERS_RST = bpf-helpers.rst
MAN7_RST = $(HELPERS_RST)

_DOC_MAN7 = $(patsubst %.rst,%.7,$(MAN7_RST))
DOC_MAN7 = $(addprefix $(OUTPUT),$(_DOC_MAN7))

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_helpers_doc.py --filename $< > $@

$(OUTPUT)%.7: $(OUTPUT)%.rst
ifndef RST2MAN_DEP
	$(error "rst2man not found, but required to generate man pages")
endif
	$(QUIET_GEN)rst2man $< > $@

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

helpers-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:
	$(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
