^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) # SPDX-License-Identifier: GPL-2.0-only
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) include ../../scripts/Makefile.include
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) include ../../scripts/utilities.mak
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) MAN1_TXT= \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) $(filter-out $(addsuffix .txt, $(ARTICLES) $(SP_ARTICLES)), \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) $(wildcard perf-*.txt)) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) perf.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) MAN5_TXT=
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) MAN7_TXT=
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) MAN_TXT = $(MAN1_TXT) $(MAN5_TXT) $(MAN7_TXT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) _MAN_XML=$(patsubst %.txt,%.xml,$(MAN_TXT))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) _MAN_HTML=$(patsubst %.txt,%.html,$(MAN_TXT))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) MAN_XML=$(addprefix $(OUTPUT),$(_MAN_XML))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) MAN_HTML=$(addprefix $(OUTPUT),$(_MAN_HTML))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) ARTICLES =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) # with their own formatting rules.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) SP_ARTICLES =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) API_DOCS = $(patsubst %.txt,%,$(filter-out technical/api-index-skel.txt technical/api-index.txt, $(wildcard technical/api-*.txt)))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) SP_ARTICLES += $(API_DOCS)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) SP_ARTICLES += technical/api-index
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) _DOC_HTML = $(_MAN_HTML)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) _DOC_HTML+=$(patsubst %,%.html,$(ARTICLES) $(SP_ARTICLES))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) DOC_HTML=$(addprefix $(OUTPUT),$(_DOC_HTML))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) _DOC_MAN1=$(patsubst %.txt,%.1,$(MAN1_TXT))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) _DOC_MAN5=$(patsubst %.txt,%.5,$(MAN5_TXT))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) _DOC_MAN7=$(patsubst %.txt,%.7,$(MAN7_TXT))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) DOC_MAN1=$(addprefix $(OUTPUT),$(_DOC_MAN1))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35) DOC_MAN5=$(addprefix $(OUTPUT),$(_DOC_MAN5))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) DOC_MAN7=$(addprefix $(OUTPUT),$(_DOC_MAN7))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) # Make the path relative to DESTDIR, not prefix
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) ifndef DESTDIR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) prefix?=$(HOME)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) bindir?=$(prefix)/bin
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) htmldir?=$(prefix)/share/doc/perf-doc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) pdfdir?=$(prefix)/share/doc/perf-doc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45) mandir?=$(prefix)/share/man
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) man1dir=$(mandir)/man1
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47) man5dir=$(mandir)/man5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) man7dir=$(mandir)/man7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) ASCIIDOC=asciidoc
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51) ASCIIDOC_EXTRA += --unsafe -f asciidoc.conf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) ASCIIDOC_HTML = xhtml11
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53) MANPAGE_XSL = manpage-normal.xsl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) XMLTO_EXTRA =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55) INSTALL?=install
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) RM ?= rm -f
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57) DOC_REF = origin/man
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) HTML_REF = origin/html
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60) ifdef USE_ASCIIDOCTOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) ASCIIDOC = asciidoctor
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) ASCIIDOC_EXTRA += -a compat-mode
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63) ASCIIDOC_EXTRA += -I. -rasciidoctor-extensions
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) ASCIIDOC_EXTRA += -a mansource="perf" -a manmanual="perf Manual"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) ASCIIDOC_HTML = xhtml5
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) infodir?=$(prefix)/share/info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69) MAKEINFO=makeinfo
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70) INSTALL_INFO=install-info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) DOCBOOK2X_TEXI=docbook2x-texi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) DBLATEX=dblatex
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73) XMLTO=xmlto
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) ifndef PERL_PATH
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) PERL_PATH = /usr/bin/perl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78) -include ../config.mak.autogen
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) -include ../config.mak
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81) _tmp_tool_path := $(call get-executable,$(ASCIIDOC))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) ifeq ($(_tmp_tool_path),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83) missing_tools = $(ASCIIDOC)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) ifndef USE_ASCIIDOCTOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87) _tmp_tool_path := $(call get-executable,$(XMLTO))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) ifeq ($(_tmp_tool_path),)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) missing_tools += $(XMLTO)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) # For asciidoc ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95) # -7.1.2, no extra settings are needed.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) # 8.0-, set ASCIIDOC8.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) # For docbook-xsl ...
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) # -1.68.1, set ASCIIDOC_NO_ROFF? (based on changelog from 1.73.0)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102) # 1.69.0, no extra settings are needed?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) # 1.69.1-1.71.0, set DOCBOOK_SUPPRESS_SP?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) # 1.71.1, no extra settings are needed?
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) # 1.72.0, set DOCBOOK_XSL_172.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106) # 1.73.0-, set ASCIIDOC_NO_ROFF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) # If you had been using DOCBOOK_XSL_172 in an attempt to get rid
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) # of 'the ".ft C" problem' in your generated manpages, and you
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112) # instead ended up with weird characters around callouts, try
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) # using ASCIIDOC_NO_ROFF instead (it works fine with ASCIIDOC8).
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) ifdef ASCIIDOC8
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) ASCIIDOC_EXTRA += -a asciidoc7compatible
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) ifdef DOCBOOK_XSL_172
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) ASCIIDOC_EXTRA += -a perf-asciidoc-no-roff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) MANPAGE_XSL = manpage-1.72.xsl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) ifdef ASCIIDOC_NO_ROFF
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) # docbook-xsl after 1.72 needs the regular XSL, but will not
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) # pass-thru raw roff codes from asciidoc.conf, so turn them off.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126) ASCIIDOC_EXTRA += -a perf-asciidoc-no-roff
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) ifdef MAN_BOLD_LITERAL
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) XMLTO_EXTRA += -m manpage-bold-literal.xsl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) ifdef DOCBOOK_SUPPRESS_SP
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) XMLTO_EXTRA += -m manpage-suppress-sp.xsl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) SHELL_PATH ?= $(SHELL)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137) # Shell quote;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) # Please note that there is a minor bug in asciidoc.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) # The version after 6.0.3 _will_ include the patch found here:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) # http://marc.theaimsgroup.com/?l=perf&m=111558757202243&w=2
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) # Until that version is released you may have to apply the patch
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) # yourself - yes, all 6 characters of it!
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) QUIET_SUBDIR0 = +$(MAKE) -C # space to separate -C and subdir
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) QUIET_SUBDIR1 =
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) ifneq ($(findstring $(MAKEFLAGS),w),w)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) PRINT_DIR = --no-print-directory
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) else # "make -w"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) NO_SUBDIR = :
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) ifneq ($(findstring $(MAKEFLAGS),s),s)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159) ifneq ($(V),1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) QUIET_ASCIIDOC = @echo ' ASCIIDOC '$@;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) QUIET_XMLTO = @echo ' XMLTO '$@;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) QUIET_DB2TEXI = @echo ' DB2TEXI '$@;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) QUIET_MAKEINFO = @echo ' MAKEINFO '$@;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) QUIET_DBLATEX = @echo ' DBLATEX '$@;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) QUIET_XSLTPROC = @echo ' XSLTPROC '$@;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) QUIET_GEN = @echo ' GEN '$@;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) QUIET_STDERR = 2> /dev/null
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) QUIET_SUBDIR0 = +@subdir=
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) QUIET_SUBDIR1 = ;$(NO_SUBDIR) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170) echo ' SUBDIR ' $$subdir; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) $(MAKE) $(PRINT_DIR) -C $$subdir
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) export V
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) all: html man
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) html: $(DOC_HTML)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) $(DOC_HTML) $(DOC_MAN1) $(DOC_MAN5) $(DOC_MAN7): asciidoc.conf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) man: man1 man5 man7
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) man1: $(DOC_MAN1)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) man5: $(DOC_MAN5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) man7: $(DOC_MAN7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) info: $(OUTPUT)perf.info $(OUTPUT)perfman.info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 188)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 189) pdf: $(OUTPUT)user-manual.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 190)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 191) install: install-man
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 192)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 193) check-man-tools:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 194) ifdef missing_tools
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 195) $(error "You need to install $(missing_tools) for man pages")
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 196) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 197)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 198) do-install-man: man
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 199) $(call QUIET_INSTALL, Documentation-man) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 200) $(INSTALL) -d -m 755 $(DESTDIR)$(man1dir); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 201) # $(INSTALL) -d -m 755 $(DESTDIR)$(man5dir); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 202) # $(INSTALL) -d -m 755 $(DESTDIR)$(man7dir); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 203) $(INSTALL) -m 644 $(DOC_MAN1) $(DESTDIR)$(man1dir); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 204) # $(INSTALL) -m 644 $(DOC_MAN5) $(DESTDIR)$(man5dir); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 205) # $(INSTALL) -m 644 $(DOC_MAN7) $(DESTDIR)$(man7dir)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 206)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 207) install-man: check-man-tools man do-install-man
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 208)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 209) ifdef missing_tools
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 210) DO_INSTALL_MAN = $(warning Please install $(missing_tools) to have the man pages installed)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 211) else
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 212) DO_INSTALL_MAN = do-install-man
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 213) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 214)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 215) try-install-man: $(DO_INSTALL_MAN)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 216)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 217) install-info: info
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 218) $(call QUIET_INSTALL, Documentation-info) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 219) $(INSTALL) -d -m 755 $(DESTDIR)$(infodir); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 220) $(INSTALL) -m 644 $(OUTPUT)perf.info $(OUTPUT)perfman.info $(DESTDIR)$(infodir); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 221) if test -r $(DESTDIR)$(infodir)/dir; then \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 222) $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) perf.info ;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 223) $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) perfman.info ;\
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 224) else \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 225) echo "No directory found in $(DESTDIR)$(infodir)" >&2 ; \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 226) fi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 227)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 228) install-pdf: pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 229) $(call QUIET_INSTALL, Documentation-pdf) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 230) $(INSTALL) -d -m 755 $(DESTDIR)$(pdfdir); \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 231) $(INSTALL) -m 644 $(OUTPUT)user-manual.pdf $(DESTDIR)$(pdfdir)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 232)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 233) #install-html: html
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 234) # '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(DESTDIR)$(htmldir)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 235)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 236)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 237) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 238) # Determine "include::" file references in asciidoc files.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 239) #
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 240) $(OUTPUT)doc.dep : $(wildcard *.txt) build-docdep.perl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 241) $(QUIET_GEN)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 242) $(PERL_PATH) ./build-docdep.perl >$@+ $(QUIET_STDERR) && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 243) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 244)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 245) -include $(OUTPUT)doc.dep
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 246)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 247) _cmds_txt = cmds-ancillaryinterrogators.txt \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 248) cmds-ancillarymanipulators.txt \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 249) cmds-mainporcelain.txt \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 250) cmds-plumbinginterrogators.txt \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 251) cmds-plumbingmanipulators.txt \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 252) cmds-synchingrepositories.txt \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 253) cmds-synchelpers.txt \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 254) cmds-purehelpers.txt \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 255) cmds-foreignscminterface.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 256) cmds_txt=$(addprefix $(OUTPUT),$(_cmds_txt))
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 257)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 258) $(cmds_txt): $(OUTPUT)cmd-list.made
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 259)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 260) $(OUTPUT)cmd-list.made: cmd-list.perl ../command-list.txt $(MAN1_TXT)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 261) $(QUIET_GEN)$(RM) $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 262) $(PERL_PATH) ./cmd-list.perl ../command-list.txt $(QUIET_STDERR) && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 263) date >$@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 264)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 265) CLEAN_FILES = \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 266) $(MAN_XML) $(addsuffix +,$(MAN_XML)) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 267) $(MAN_HTML) $(addsuffix +,$(MAN_HTML)) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 268) $(DOC_HTML) $(DOC_MAN1) $(DOC_MAN5) $(DOC_MAN7) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 269) $(OUTPUT)*.texi $(OUTPUT)*.texi+ $(OUTPUT)*.texi++ \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 270) $(OUTPUT)perf.info $(OUTPUT)perfman.info \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 271) $(OUTPUT)howto-index.txt $(OUTPUT)howto/*.html $(OUTPUT)doc.dep \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 272) $(OUTPUT)technical/api-*.html $(OUTPUT)technical/api-index.txt \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 273) $(cmds_txt) $(OUTPUT)*.made
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 274) clean:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 275) $(call QUIET_CLEAN, Documentation) $(RM) $(CLEAN_FILES)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 276)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 277) $(MAN_HTML): $(OUTPUT)%.html : %.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 278) $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 279) $(ASCIIDOC) -b $(ASCIIDOC_HTML) -d manpage \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 280) $(ASCIIDOC_EXTRA) -aperf_version=$(PERF_VERSION) -o $@+ $< && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 281) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 282)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 283) ifdef USE_ASCIIDOCTOR
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 284) $(OUTPUT)%.1 $(OUTPUT)%.5 $(OUTPUT)%.7 : %.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 285) $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 286) $(ASCIIDOC) -b manpage -d manpage \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 287) $(ASCIIDOC_EXTRA) -aperf_version=$(PERF_VERSION) -o $@+ $< && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 288) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 289) endif
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 290)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 291) $(OUTPUT)%.1 $(OUTPUT)%.5 $(OUTPUT)%.7 : $(OUTPUT)%.xml
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 292) $(QUIET_XMLTO)$(RM) $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 293) $(XMLTO) -o $(OUTPUT). -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $<
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 294)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 295) $(OUTPUT)%.xml : %.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 296) $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 297) $(ASCIIDOC) -b docbook -d manpage \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 298) $(ASCIIDOC_EXTRA) -aperf_version=$(PERF_VERSION) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 299) -aperf_date=$(shell git log -1 --pretty="format:%cd" \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 300) --date=short $<) \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 301) -o $@+ $< && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 302) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 303)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 304) XSLT = docbook.xsl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 305) XSLTOPTS = --xinclude --stringparam html.stylesheet docbook-xsl.css
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 306)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 307) $(OUTPUT)user-manual.html: $(OUTPUT)user-manual.xml
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 308) $(QUIET_XSLTPROC)xsltproc $(XSLTOPTS) -o $@ $(XSLT) $<
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 309)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 310) $(OUTPUT)perf.info: $(OUTPUT)user-manual.texi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 311) $(QUIET_MAKEINFO)$(MAKEINFO) --no-split -o $@ $(OUTPUT)user-manual.texi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 312)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 313) $(OUTPUT)user-manual.texi: $(OUTPUT)user-manual.xml
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 314) $(QUIET_DB2TEXI)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 315) $(DOCBOOK2X_TEXI) $(OUTPUT)user-manual.xml --encoding=UTF-8 --to-stdout >$@++ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 316) $(PERL_PATH) fix-texi.perl <$@++ >$@+ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 317) rm $@++ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 318) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 319)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 320) $(OUTPUT)user-manual.pdf: $(OUTPUT)user-manual.xml
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 321) $(QUIET_DBLATEX)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 322) $(DBLATEX) -o $@+ -p /etc/asciidoc/dblatex/asciidoc-dblatex.xsl -s /etc/asciidoc/dblatex/asciidoc-dblatex.sty $< && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 323) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 324)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 325) $(OUTPUT)perfman.texi: $(MAN_XML) cat-texi.perl
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 326) $(QUIET_DB2TEXI)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 327) ($(foreach xml,$(MAN_XML),$(DOCBOOK2X_TEXI) --encoding=UTF-8 \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 328) --to-stdout $(xml) &&) true) > $@++ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 329) $(PERL_PATH) cat-texi.perl $@ <$@++ >$@+ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 330) rm $@++ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 331) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 332)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 333) $(OUTPUT)perfman.info: $(OUTPUT)perfman.texi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 334) $(QUIET_MAKEINFO)$(MAKEINFO) --no-split --no-validate $*.texi
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 335)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 336) $(patsubst %.txt,%.texi,$(MAN_TXT)): %.texi : %.xml
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 337) $(QUIET_DB2TEXI)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 338) $(DOCBOOK2X_TEXI) --to-stdout $*.xml >$@+ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 339) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 340)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 341) howto-index.txt: howto-index.sh $(wildcard howto/*.txt)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 342) $(QUIET_GEN)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 343) '$(SHELL_PATH_SQ)' ./howto-index.sh $(wildcard howto/*.txt) >$@+ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 344) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 345)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 346) $(patsubst %,%.html,$(ARTICLES)) : %.html : %.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 347) $(QUIET_ASCIIDOC)$(ASCIIDOC) -b $(ASCIIDOC_HTML) $*.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 348)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 349) WEBDOC_DEST = /pub/software/tools/perf/docs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 350)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 351) $(patsubst %.txt,%.html,$(wildcard howto/*.txt)): %.html : %.txt
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 352) $(QUIET_ASCIIDOC)$(RM) $@+ $@ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 353) sed -e '1,/^$$/d' $< | $(ASCIIDOC) -b $(ASCIIDOC_HTML) - >$@+ && \
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 354) mv $@+ $@
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 355)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 356) # UNIMPLEMENTED
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 357) #install-webdoc : html
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 358) # '$(SHELL_PATH_SQ)' ./install-webdoc.sh $(WEBDOC_DEST)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 359)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 360) # quick-install: quick-install-man
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 361)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 362) # quick-install-man:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 363) # '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(DOC_REF) $(DESTDIR)$(mandir)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 364)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 365) #quick-install-html:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 366) # '$(SHELL_PATH_SQ)' ./install-doc-quick.sh $(HTML_REF) $(DESTDIR)$(htmldir)