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