> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of John McNamara
> Sent: Tuesday, February 3, 2015 2:11 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v4 1/5] mk: Add 'make doc-pdf' target to convert 
> guide docs to pdf
> 
> Added make system support for building PDF versions of the guides. Requires 
> Python Sphinx and
> TexLive Full.
> 
> Signed-off-by: John McNamara <john.mcnamara at intel.com>
> ---
>  mk/rte.sdkdoc.mk |   43 ++++++++++++++++++++++++++++++++++++++++++-
>  1 files changed, 42 insertions(+), 1 deletions(-)
> 
> diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk index dabc0d6..e09628f 100644
> --- a/mk/rte.sdkdoc.mk
> +++ b/mk/rte.sdkdoc.mk
> @@ -37,13 +37,24 @@ endif
>  endif
> 
>  RTE_SPHINX_BUILD = sphinx-build
> +RTE_PDFLATEX_VERBOSE := --interaction=nonstopmode
> +
>  ifndef V
>  RTE_SPHINX_VERBOSE := -q
> +RTE_PDFLATEX_VERBOSE := --interaction=batchmode RTE_INKSCAPE_VERBOSE :=
> +> /dev/null 2>&1
>  endif
>  ifeq '$V' '0'
>  RTE_SPHINX_VERBOSE := -q
> +RTE_PDFLATEX_VERBOSE := --interaction=batchmode RTE_INKSCAPE_VERBOSE :=
> +> /dev/null 2>&1
>  endif
> 
> +RTE_GUIDE_PDFS := $(filter %/, $(wildcard $(RTE_SDK)/doc/guides/*/))
> +RTE_GUIDE_PDFS :=
> +$(RTE_GUIDE_PDFS:$(RTE_SDK)/doc/guides%=$(RTE_OUTPUT)/doc/latex/guides%
> +) RTE_GUIDE_PDFS := $(RTE_GUIDE_PDFS:%/=%.pdf) RTE_DEFAULT_DPI ?= 300
> +
>  .PHONY: help
>  help:
>       @cat $(RTE_SDK)/doc/build-sdk-quick.txt
> @@ -53,7 +64,7 @@ help:
>  all: api-html guides-html
> 
>  .PHONY: clean
> -clean: api-html-clean guides-html-clean
> +clean: api-html-clean guides-html-clean guides-latex-clean

Hi John,

Would it be clearer to have a  guides-pdf-clean target  instead of 
guides-latex-clean given that there is a doc-pdf target?

Regards,

Bernard.



> 
>  .PHONY: api-html
>  api-html: api-html-clean
> @@ -83,3 +94,33 @@ guides-%:
>       @echo 'sphinx for guides...'
>       $(Q)$(RTE_SPHINX_BUILD) -b $* $(RTE_SPHINX_VERBOSE) \
>               -c $(RTE_SDK)/doc/guides $(RTE_SDK)/doc/guides 
> $(RTE_OUTPUT)/doc/$*/guides
> +
> +
> +pdf: $(RTE_GUIDE_PDFS)
> +
> +.SECONDEXPANSION:
> +# Use wildcard expansion to avoid * expansion issue with make 3.82.
> +$(RTE_OUTPUT)/doc/latex/guides/%.pdf: $$(wildcard 
> $(RTE_SDK)/doc/guides/%/*.rst)
> +     @echo 'creating' $* 'pdf ...'
> +
> +     @# Convert the svg files to png for pdflatex.
> +     $(eval tmp_images = $(wildcard $(RTE_SDK)/doc/guides/$*/img/*.svg))
> +     $(Q)for image in $(tmp_images:.svg=); do \
> +             inkscape -d $(RTE_DEFAULT_DPI) -D -b ffffff \
> +                     -f $$image.svg -e $$image.png $(RTE_INKSCAPE_VERBOSE); \
> +     done
> +
> +     @# Generate the latex files.
> +     $(Q)$(RTE_SPHINX_BUILD) -b latex $(RTE_SPHINX_VERBOSE) \
> +             -c $(RTE_SDK)/doc/guides  $(RTE_SDK)/doc/guides/$* \
> +             $(RTE_OUTPUT)/doc/latex/guides/$*
> +
> +     @# Remove the generated png files.
> +     $(Q)rm -f $(tmp_images:.svg=.png)
> +
> +     @# Generate the pdf files.
> +     $(Q)sed -i 's/LATEXOPTS =/LATEXOPTS = $(RTE_PDFLATEX_VERBOSE)/' \
> +             $(RTE_OUTPUT)/doc/latex/guides/$*/Makefile
> +     $(Q)make all-pdf -s -C $(RTE_OUTPUT)/doc/latex/guides/$*
> +
> +     $(Q)mv $(RTE_OUTPUT)/doc/latex/guides/$*/dpdk_doc.pdf $@
> --
> 1.7.4.1

Reply via email to