1 # Man pages are only built if they are enabled at configure time.
3 # They should always be built before creating a distribution tarball.
5 # Function which adds the source directory prefix and adds a given suffix:
6 manaddsuffix = $(addsuffix $(1),$(addprefix $(srcdir)/,$(2)))
8 # List only the names without the .*.txt extension here:
19 MAN3_TROFF = do_tracepoint.3 tracepoint.3 tracepoint_enabled.3
21 # AsciiDoc sources and outputs:
22 MAN1_TXT = $(call manaddsuffix,.1.txt,$(MAN1_NAMES))
23 MAN3_TXT = $(call manaddsuffix,.3.txt,$(MAN3_NAMES))
24 MAN_TXT = $(MAN1_TXT) $(MAN3_TXT) $(MAN8_TXT)
25 MAN_XML = $(patsubst $(srcdir)/%.txt,%.xml,$(MAN_TXT))
27 # Common AsciiDoc source files:
29 $(srcdir)/common-footer.txt \
30 $(srcdir)/common-authors.txt \
31 $(srcdir)/common-copyrights.txt \
32 $(srcdir)/log-levels.txt \
33 $(srcdir)/tracef-tracelog-limitations.txt
35 # AsciiDoc configuration and XSL files:
36 ASCIIDOC_CONF = $(srcdir)/asciidoc.conf
39 manpage-callouts.xsl \
40 manpage-bold-literal.xsl \
43 XSL_SRC_FILES = $(addprefix $(srcdir)/xsl/,$(XSL_FILES))
45 # Common dependencies:
46 COMMON_DEPS = $(ASCIIDOC_CONF) $(COMMON_TXT)
48 # Man pages destinations:
49 MAN1 = $(addsuffix .1,$(MAN1_NAMES))
50 MAN3 = $(addsuffix .3,$(MAN3_NAMES))
54 # At this point, we know the user asked to build the man pages.
55 if HAVE_ASCIIDOC_XMLTO
57 ADOC = $(ASCIIDOC) -f $(ASCIIDOC_CONF) -d manpage \
58 -a lttng_version="$(PACKAGE_VERSION)"
59 ADOC_DOCBOOK = $(ADOC) -b docbook
60 XTO = $(XMLTO) -m $(firstword $(XSL_SRC_FILES)) man
63 %.1.xml: $(srcdir)/%.1.txt $(COMMON_DEPS)
64 $(ADOC_DOCBOOK) -o $@ $<
66 %.1: %.1.xml $(XSL_SRC_FILES)
69 %.3.xml: $(srcdir)/%.3.txt $(COMMON_DEPS)
70 $(ADOC_DOCBOOK) -o $@ $<
72 %.3: %.3.xml $(XSL_SRC_FILES)
75 # Only clean the generated files if we have the tools to generate them again.
76 CLEANFILES = $(MAN_XML) $(MAN)
77 else # HAVE_ASCIIDOC_XMLTO
78 # Create man page targets used to stop the build if we want to
79 # build the man pages, but we don't have the necessary tools to do so.
80 ERR_MSG = "Error: Cannot build target because asciidoc or xmlto tool is missing."
81 ERR_MSG += "Make sure both tools are installed and run the configure script again."
83 %.1: $(srcdir)/%.1.txt $(COMMON_DEPS)
87 %.3: $(srcdir)/%.3.txt $(COMMON_DEPS)
90 endif # HAVE_ASCIIDOC_XMLTO
93 # Start with empty distributed/installed man pages:
99 # Building man pages: we can install and distribute them.
100 dist_man1_MANS += $(MAN1)
101 dist_man3_MANS += $(MAN3) $(MAN3_TROFF)
103 # Those are not known by automake yet because dist_man3_MANS is empty
104 # at this point, so make sure they are distributed.
105 EXTRA_DIST += $(MAN3_TROFF)
106 endif # MAN_PAGES_OPT
110 @echo "Error: Please enable the man pages before creating a distribution tarball."
112 endif # !MAN_PAGES_OPT
114 # Always distribute the source files.
115 EXTRA_DIST += $(MAN_TXT) $(COMMON_TXT) $(XSL_SRC_FILES) $(ASCIIDOC_CONF)