xref: /linux/Documentation/tools/rtla/Makefile (revision 058443934524590d5537a80f490267cc95a61c05)
1# SPDX-License-Identifier: GPL-2.0-only
2# Based on bpftool's Documentation Makefile
3
4INSTALL		?= install
5RM		?= rm -f
6RMDIR		?= rmdir --ignore-fail-on-non-empty
7
8PREFIX		?= /usr/share
9MANDIR		?= $(PREFIX)/man
10MAN1DIR		= $(MANDIR)/man1
11
12MAN1_RST	= $(wildcard rtla*.rst)
13
14_DOC_MAN1	= $(patsubst %.rst,%.1,$(MAN1_RST))
15DOC_MAN1	= $(addprefix $(OUTPUT),$(_DOC_MAN1))
16
17RST2MAN_DEP	:= $(shell command -v rst2man 2>/dev/null)
18RST2MAN_OPTS	+= --verbose
19
20TEST_RST2MAN = $(shell sh -c "rst2man --version > /dev/null 2>&1 || echo n")
21
22$(OUTPUT)%.1: %.rst
23ifndef 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)
35endif
36	rst2man $(RST2MAN_OPTS) $< > $@
37
38man1: $(DOC_MAN1)
39man: man1
40
41clean:
42	$(RM) $(DOC_MAN1)
43
44install: man
45	$(INSTALL) -d -m 755 $(DESTDIR)$(MAN1DIR)
46	$(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(MAN1DIR)
47
48uninstall:
49	$(RM) $(addprefix $(DESTDIR)$(MAN1DIR)/,$(_DOC_MAN1))
50	$(RMDIR) $(DESTDIR)$(MAN1DIR)
51
52.PHONY: man man1 clean install uninstall
53.DEFAULT_GOAL := man
54