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