| 1 |
|
| 2 |
|
| 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
|