gendoc infra: avoid a2x warning
authorSamuel Martin <s.martin49@gmail.com>
Fri, 3 Oct 2014 17:01:36 +0000 (19:01 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Sun, 12 Oct 2014 05:46:26 +0000 (07:46 +0200)
Though the --destination-dir option works as expected, a2x displays the
following message when generating the pdf and text manual:

  a2x: WARNING: --destination-dir option is only applicable to HTML based outputs

To avoid this warning, we now just build the manual in its build location,
then move the generated files into $(O)/docs/manual.

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr: tested all but PDF]
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
docs/manual/manual.mk

index cdc4c7332bb8bae39a29870f49a5a25edfa9e2b5..03e3a0b31b6a3e6f31ebacb9d7a517005aca2250 100644 (file)
@@ -70,6 +70,19 @@ ifneq ($$(wildcard $$(MANUAL_$(2)_ASCIIDOC_CONF)),)
 MANUAL_$(2)_ASCIIDOC_OPTS += -f $$(MANUAL_$(2)_ASCIIDOC_CONF)
 endif
 
+# Handle a2x warning about --destination-dir option only applicable to HTML
+# based outputs. So:
+# - use the --destination-dir option if possible (html and split-html),
+# - otherwise copy the generated manual to the output directory
+MANUAL_$(2)_A2X_OPTS =
+ifneq ($$(filter $(3),html split-html),)
+MANUAL_$(2)_A2X_OPTS += --destination-dir="$$(@D)"
+else
+define MANUAL_$(2)_INSTALL_CMDS
+       $$(Q)cp -f $$(BUILD_DIR)/docs/$(1)/$(1).$(4) $$(@D)
+endef
+endif
+
 $$(O)/docs/$(1)/$(1).$(4): docs/$(1)/$(1).txt \
                           $$($$(call UPPERCASE,$(1))_SOURCES) \
                           manual-check-dependencies \
@@ -78,9 +91,11 @@ $$(O)/docs/$(1)/$(1).$(4): docs/$(1)/$(1).txt \
        $$(Q)$$(call MESSAGE,"Generating $(5) $(1)...")
        $$(Q)mkdir -p $$(@D)
        $$(Q)a2x $(6) -f $(2) -d book -L -r $$(TOPDIR)/docs/images \
+               $$(MANUAL_$(2)_A2X_OPTS) \
                --asciidoc-opts="$$(MANUAL_$(2)_ASCIIDOC_OPTS)" \
-               -D $$(@D) \
                $$(BUILD_DIR)/docs/$(1)/$(1).txt
+# install the generated manual
+       $$(MANUAL_$(2)_INSTALL_CMDS)
 endef
 
 ################################################################################