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