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