Commit f7cfa382 authored by Samuel Martin's avatar Samuel Martin Committed by Peter Korsgaard
Browse files

gendoc infra: avoid a2x warning



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: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: default avatarSamuel Martin <s.martin49@gmail.com>
[yann.morin.1998@free.fr: tested all but PDF]
Tested-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: default avatar"Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: default avatarPeter Korsgaard <peter@korsgaard.com>
parent 7b118dfb
Loading
Loading
Loading
Loading
+16 −1
Original line number Diff line number Diff line
@@ -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

################################################################################