1 # SPDX-License-Identifier: GPL-2.0-only
2 # Based on bpftool's Documentation Makefile
3 
4 INSTALL		?= install
5 RM		?= rm -f
6 RMDIR		?= rmdir --ignore-fail-on-non-empty
7 
8 PREFIX		?= /usr/share
9 MANDIR		?= $(PREFIX)/man
10 MAN1DIR		= $(MANDIR)/man1
11 
12 MAN1_RST	= $(wildcard rtla*.rst)
13 
14 _DOC_MAN1	= $(patsubst %.rst,%.1,$(MAN1_RST))
15 DOC_MAN1	= $(addprefix $(OUTPUT),$(_DOC_MAN1))
16 
17 RST2MAN_DEP	:= $(shell command -v rst2man 2>/dev/null)
18 RST2MAN_OPTS	+= --verbose
19 
20 TEST_RST2MAN = $(shell sh -c "rst2man --version > /dev/null 2>&1 || echo n")
21 
22 $(OUTPUT)%.1: %.rst
23 ifndef RST2MAN_DEP
24 	$(info ********************************************)
25 	$(info ** NOTICE: rst2man not found)
26 	$(info **)
27 	$(info ** Consider installing the latest rst2man from your)
28 	$(info ** distribution, e.g., 'dnf install python3-docutils' on Fedora,)
29 	$(info ** or from source:)
30 	$(info **)
31 	$(info **  https://docutils.sourceforge.io/docs/dev/repository.html )
32 	$(info **)
33 	$(info ********************************************)
34 	$(error NOTICE: rst2man required to generate man pages)
35 endif
36 	rst2man $(RST2MAN_OPTS) $< > $@
37 
38 man1: $(DOC_MAN1)
39 man: man1
40 
41 clean:
42 	$(RM) $(DOC_MAN1)
43 
44 install: man
45 	$(INSTALL) -d -m 755 $(DESTDIR)$(MAN1DIR)
46 	$(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(MAN1DIR)
47 
48 uninstall:
49 	$(RM) $(addprefix $(DESTDIR)$(MAN1DIR)/,$(_DOC_MAN1))
50 	$(RMDIR) $(DESTDIR)$(MAN1DIR)
51 
52 .PHONY: man man1 clean install uninstall
53 .DEFAULT_GOAL := man
54