Add --enable-embedded-help option to embed --help messages in binaries
[lttng-tools.git] / doc / man / Makefile.am
index 8c1472e875840e5d7a13f73cfba4c1a9b46cfbb9..2258890f018b07c2fdbd8748f33f137ac817affd 100644 (file)
@@ -21,7 +21,6 @@ MAN1_NAMES = \
        lttng-disable-channel \
        lttng-add-context \
        lttng-list \
-       lttng-calibrate \
        lttng-track \
        lttng-untrack \
        lttng-status \
@@ -63,7 +62,7 @@ XSL_FILES = \
 XSL_SRC_FILES = $(addprefix $(srcdir)/xsl/,$(XSL_FILES))
 
 # common dependencies
-COMMON_DEPS = $(ASCIIDOC_CONF) $(COMMON_TXT) $(ASCIIDOC_ATTRS_CONF)
+COMMON_DEPS = $(ASCIIDOC_CONF) $(COMMON_TXT)
 
 # man pages destinations
 MAN1 = $(addsuffix .1,$(MAN1_NAMES))
@@ -74,6 +73,34 @@ MAN3_NO_ASCIIDOC = $(addsuffix .3,$(MAN3_NO_ASCIIDOC_NAMES))
 MAN8_NO_ASCIIDOC = $(addsuffix .8,$(MAN8_NO_ASCIIDOC_NAMES))
 MAN = $(MAN1) $(MAN3) $(MAN8)
 
+# initially empty
+CLEANFILES =
+
+if EMBED_HELP
+MAN1_H = $(addsuffix .1.h,$(MAN1_NAMES))
+MAN3_H = $(addsuffix .3.h,$(MAN3_NAMES))
+MAN8_H = $(addsuffix .8.h,$(MAN8_NAMES))
+MAN_H = $(MAN1_H) $(MAN3_H) $(MAN8_H)
+MAN_H_RECIPE = \
+       MANWIDTH=80 @MANPROG@ --encoding=UTF-8 --no-hyphenation --no-justification --local-file $< > $@ ; \
+       $(SED) -i 's/\\/\\\\/g' $@ ; \
+       $(SED) -i 's/"/\\"/g' $@ ; \
+       $(SED) -i 's/^\(.*\)$$/"\1\\n"/' $@
+
+%.1.h: %.1
+       $(MAN_H_RECIPE)
+
+%.3.h: %.3
+       $(MAN_H_RECIPE)
+
+%.8.h: %.8
+       $(MAN_H_RECIPE)
+
+all-local: $(MAN_H)
+
+CLEANFILES += $(MAN_H)
+endif # EMBED_HELP
+
 if MAN_PAGES_OPT
 # at this point, we know the user asked to build the man pages
 if HAVE_ASCIIDOC_XMLTO
@@ -82,6 +109,11 @@ ADOC = $(ASCIIDOC) -f $(ASCIIDOC_CONF) -f $(ASCIIDOC_ATTRS_CONF) -d manpage
 ADOC_DOCBOOK = $(ADOC) -b docbook
 XTO = $(XMLTO) -m $(firstword $(XSL_SRC_FILES)) man
 
+# only add this dependency if we can build the man pages because it's
+# a file generated by the configure script, so it's more recent than
+# the pregenerated man pages in a tarball
+COMMON_DEPS += $(ASCIIDOC_ATTRS_CONF)
+
 # recipes
 %.1.xml: $(srcdir)/%.1.txt $(COMMON_DEPS)
        $(ADOC_DOCBOOK) -o $@ $<
@@ -102,7 +134,7 @@ XTO = $(XMLTO) -m $(firstword $(XSL_SRC_FILES)) man
        $(XTO) $<
 
 # only clean the generated files if we have the tools to generate them again
-CLEANFILES = $(MAN_XML) $(MAN)
+CLEANFILES += $(MAN_XML) $(MAN)
 else # HAVE_ASCIIDOC_XMLTO
 # create man page targets used to stop the build if we want to
 # build the man pages, but we don't have the necessary tools to do so
@@ -144,3 +176,6 @@ endif # !MAN_PAGES_OPT
 # always distribute the source files
 EXTRA_DIST = $(MAN_TXT) $(COMMON_TXT) $(XSL_SRC_FILES) \
        $(ASCIIDOC_CONF) $(ASCIIDOC_ATTRS_CONF).in
+
+# keep generated man pages that can be considered intermediate files
+.PRECIOUS: %.1 %.3 %.8
This page took 0.026087 seconds and 5 git commands to generate.