| # SPDX-License-Identifier: GPL-2.0-only |
| # Based on bpftool's Documentation Makefile |
| |
| INSTALL ?= install |
| RM ?= rm -f |
| RMDIR ?= rmdir --ignore-fail-on-non-empty |
| |
| PREFIX ?= /usr/share |
| MANDIR ?= $(PREFIX)/man |
| MAN1DIR = $(MANDIR)/man1 |
| |
| MAN1_RST = $(wildcard rtla*.rst) |
| |
| _DOC_MAN1 = $(patsubst %.rst,%.1,$(MAN1_RST)) |
| DOC_MAN1 = $(addprefix $(OUTPUT),$(_DOC_MAN1)) |
| |
| RST2MAN_DEP := $(shell command -v rst2man 2>/dev/null) |
| RST2MAN_OPTS += --verbose |
| |
| TEST_RST2MAN = $(shell sh -c "rst2man --version > /dev/null 2>&1 || echo n") |
| |
| $(OUTPUT)%.1: %.rst |
| ifndef RST2MAN_DEP |
| $(info ********************************************) |
| $(info ** NOTICE: rst2man not found) |
| $(info **) |
| $(info ** Consider installing the latest rst2man from your) |
| $(info ** distribution, e.g., 'dnf install python3-docutils' on Fedora,) |
| $(info ** or from source:) |
| $(info **) |
| $(info ** https://docutils.sourceforge.io/docs/dev/repository.html ) |
| $(info **) |
| $(info ********************************************) |
| $(error NOTICE: rst2man required to generate man pages) |
| endif |
| rst2man $(RST2MAN_OPTS) $< > $@ |
| |
| man1: $(DOC_MAN1) |
| man: man1 |
| |
| clean: |
| $(RM) $(DOC_MAN1) |
| |
| install: man |
| $(INSTALL) -d -m 755 $(DESTDIR)$(MAN1DIR) |
| $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(MAN1DIR) |
| |
| uninstall: |
| $(RM) $(addprefix $(DESTDIR)$(MAN1DIR)/,$(_DOC_MAN1)) |
| $(RMDIR) $(DESTDIR)$(MAN1DIR) |
| |
| .PHONY: man man1 clean install uninstall |
| .DEFAULT_GOAL := man |