# SPDX-License-Identifier: GPL-2.0-only

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

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
man2dir = $(mandir)/man2
man7dir = $(mandir)/man7

SYSCALL_RST = bpf-syscall.rst
MAN2_RST = $(SYSCALL_RST)

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

_DOC_MAN2 = $(patsubst %.rst,%.2,$(MAN2_RST))
DOC_MAN2 = $(addprefix $(OUTPUT),$(_DOC_MAN2))

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

DOCTARGETS := helpers syscall

docs: $(DOCTARGETS)
syscall: man2
helpers: man7
man2: $(DOC_MAN2)
man7: $(DOC_MAN7)

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

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

docs-clean-$1:
	$$(call QUIET_CLEAN, eBPF_$1-manpage)
	$(Q)$(RM) $$(DOC_MAN$2) $(OUTPUT)bpf-$1.rst

docs-install-$1: docs
	$$(call QUIET_INSTALL, eBPF_$1-manpage)
	$(Q)$(INSTALL) -d -m 755 $(DESTDIR)$$(man$2dir)
	$(Q)$(INSTALL) -m 644 $$(DOC_MAN$2) $(DESTDIR)$$(man$2dir)

docs-uninstall-$1:
	$$(call QUIET_UNINST, eBPF_$1-manpage)
	$(Q)$(RM) $$(addprefix $(DESTDIR)$$(man$2dir)/,$$(_DOC_MAN$2))
	$(Q)$(RMDIR) $(DESTDIR)$$(man$2dir)

.PHONY: $1 docs-clean-$1 docs-install-$1 docs-uninstall-$1
endef

# Create the make targets to generate manual pages by name and section
$(eval $(call DOCS_RULES,helpers,7))
$(eval $(call DOCS_RULES,syscall,2))

docs-clean: $(foreach doctarget,$(DOCTARGETS), docs-clean-$(doctarget))
docs-install: $(foreach doctarget,$(DOCTARGETS), docs-install-$(doctarget))
docs-uninstall: $(foreach doctarget,$(DOCTARGETS), docs-uninstall-$(doctarget))

.PHONY: docs docs-clean docs-install docs-uninstall man2 man7
