156 lines · 4.4 KB · Makefile
RawDownload
# SPDX-License-Identifier: (LGPL-2.1 OR BSD-2-Clause)# Most of this file is copied from tools/perf/Documentation/Makefile include ../../../scripts/Makefile.includeinclude ../../../scripts/utilities.mak MAN3_TXT  = libperf.txtMAN7_TXT  = libperf-counting.txt libperf-sampling.txtMAN_EX    = examples/*.c MAN_TXT   = $(MAN3_TXT) $(MAN7_TXT) _MAN_XML  = $(patsubst %.txt,%.xml,$(MAN_TXT))_MAN_HTML = $(patsubst %.txt,%.html,$(MAN_TXT))_MAN_3    = $(patsubst %.txt,%.3,$(MAN3_TXT))_MAN_7    = $(patsubst %.txt,%.7,$(MAN7_TXT)) MAN_XML   = $(addprefix $(OUTPUT),$(_MAN_XML))MAN_HTML  = $(addprefix $(OUTPUT),$(_MAN_HTML))MAN_3     = $(addprefix $(OUTPUT),$(_MAN_3))MAN_7     = $(addprefix $(OUTPUT),$(_MAN_7))MAN_X     = $(MAN_3) $(MAN_7) # Make the path relative to DESTDIR, not prefixifndef DESTDIR  prefix ?=$(HOME)endif mandir  ?= $(prefix)/share/manman3dir  = $(mandir)/man3man7dir  = $(mandir)/man7 docdir  ?= $(prefix)/share/doc/libperfhtmldir  = $(docdir)/htmlexdir    = $(docdir)/examples ASCIIDOC        = asciidocASCIIDOC_EXTRA  = --unsafe -f asciidoc.confASCIIDOC_HTML   = xhtml11MANPAGE_XSL     = manpage-normal.xslXMLTO_EXTRA     =XMLTO           =xmlto INSTALL ?= installRM      ?= rm -f # For asciidoc ...#	-7.1.2,	no extra settings are needed.#	8.0-,	set ASCIIDOC8.# # For docbook-xsl ...#	-1.68.1,	set ASCIIDOC_NO_ROFF? (based on changelog from 1.73.0)#	1.69.0,		no extra settings are needed?#	1.69.1-1.71.0,	set DOCBOOK_SUPPRESS_SP?#	1.71.1,		no extra settings are needed?#	1.72.0,		set DOCBOOK_XSL_172.#	1.73.0-,	set ASCIIDOC_NO_ROFF # If you had been using DOCBOOK_XSL_172 in an attempt to get rid# of 'the ".ft C" problem' in your generated manpages, and you# instead ended up with weird characters around callouts, try# using ASCIIDOC_NO_ROFF instead (it works fine with ASCIIDOC8). ifdef ASCIIDOC8  ASCIIDOC_EXTRA += -a asciidoc7compatibleendififdef DOCBOOK_XSL_172  ASCIIDOC_EXTRA += -a libperf-asciidoc-no-roff  MANPAGE_XSL = manpage-1.72.xslelse  ifdef ASCIIDOC_NO_ROFF    # docbook-xsl after 1.72 needs the regular XSL, but will not    # pass-thru raw roff codes from asciidoc.conf, so turn them off.    ASCIIDOC_EXTRA += -a libperf-asciidoc-no-roff  endifendififdef MAN_BOLD_LITERAL  XMLTO_EXTRA += -m manpage-bold-literal.xslendififdef DOCBOOK_SUPPRESS_SP  XMLTO_EXTRA += -m manpage-suppress-sp.xslendif DESTDIR ?=DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))' export DESTDIR DESTDIR_SQ # Please note that there is a minor bug in asciidoc.# The version after 6.0.3 _will_ include the patch found here:#   http://marc.theaimsgroup.com/?l=libtraceevent&m=111558757202243&w=2## Until that version is released you may have to apply the patch# yourself - yes, all 6 characters of it! QUIET_SUBDIR0  = +$(MAKE) -C # space to separate -C and subdirQUIET_SUBDIR1  = ifneq ($(findstring $(MAKEFLAGS),w),w)  PRINT_DIR = --no-print-directoryelse # "make -w"  NO_SUBDIR = :endif ifneq ($(findstring $(MAKEFLAGS),s),s)  ifneq ($(V),1)    QUIET_ASCIIDOC = @echo '  ASCIIDOC '$@;    QUIET_XMLTO    = @echo '  XMLTO    '$@;  endifendif all: $(MAN_X) $(MAN_HTML) $(MAN_HTML) $(MAN_X): asciidoc.conf install-man: all	$(call QUIET_INSTALL, man) \		$(INSTALL) -d -m 755 $(DESTDIR)$(man3dir); \		$(INSTALL) -m 644 $(MAN_3) $(DESTDIR)$(man3dir); \		$(INSTALL) -d -m 755 $(DESTDIR)$(man7dir); \		$(INSTALL) -m 644 $(MAN_7) $(DESTDIR)$(man7dir); install-html: $(MAN_HTML)	$(call QUIET_INSTALL, html) \		$(INSTALL) -d -m 755 $(DESTDIR)$(htmldir); \		$(INSTALL) -m 644 $(MAN_HTML) $(DESTDIR)$(htmldir); \ install-examples:	$(call QUIET_INSTALL, examples) \		$(INSTALL) -d -m 755 $(DESTDIR)$(exdir); \		$(INSTALL) -m 644 $(MAN_EX) $(DESTDIR)$(exdir); \ CLEAN_FILES =					\	$(MAN_XML) $(addsuffix +,$(MAN_XML))	\	$(MAN_HTML) $(addsuffix +,$(MAN_HTML))	\	$(MAN_X) clean:	$(call QUIET_CLEAN, Documentation) $(RM) $(CLEAN_FILES) $(MAN_3): $(OUTPUT)%.3: %.xml	$(QUIET_XMLTO)$(XMLTO) -o $(OUTPUT). -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< $(MAN_7): $(OUTPUT)%.7: %.xml	$(QUIET_XMLTO)$(XMLTO) -o $(OUTPUT). -m $(MANPAGE_XSL) $(XMLTO_EXTRA) man $< $(MAN_XML): $(OUTPUT)%.xml: %.txt	$(QUIET_ASCIIDOC)$(ASCIIDOC) -b docbook -d manpage \		$(ASCIIDOC_EXTRA) -alibperf_version=$(EVENT_PARSE_VERSION) -o $@+ $< && \	mv $@+ $@ $(MAN_HTML): $(OUTPUT)%.html: %.txt	$(QUIET_ASCIIDOC)$(ASCIIDOC) -b $(ASCIIDOC_HTML) -d manpage \	$(ASCIIDOC_EXTRA) -aperf_version=$(EVENT_PARSE_VERSION) -o $@+ $< && \	mv $@+ $@