From mboxrd@z Thu Jan 1 00:00:00 1970 From: John McNamara Subject: [PATCH v2 1/4] mk: Add 'make doc-pdf' target to convert guide docs to pdf Date: Fri, 30 Jan 2015 18:13:25 +0000 Message-ID: <1422641608-8514-2-git-send-email-john.mcnamara@intel.com> References: <1421255657-19521-1-git-send-email-john.mcnamara@intel.com> <1422641608-8514-1-git-send-email-john.mcnamara@intel.com> To: dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: <1422641608-8514-1-git-send-email-john.mcnamara-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Added make system support for building PDF versions of the guides. Requires Python Sphinx and TexLive Full. Signed-off-by: John McNamara --- mk/rte.sdkdoc.mk | 33 ++++++++++++++++++++++++++++++++- mk/rte.sdkroot.mk | 3 ++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/mk/rte.sdkdoc.mk b/mk/rte.sdkdoc.mk index dabc0d6..fb90d41 100644 --- a/mk/rte.sdkdoc.mk +++ b/mk/rte.sdkdoc.mk @@ -39,11 +39,15 @@ endif RTE_SPHINX_BUILD = sphinx-build ifndef V RTE_SPHINX_VERBOSE := -q +RTE_PDFLATEX_VERBOSE := > /dev/null 2>&1 endif ifeq '$V' '0' RTE_SPHINX_VERBOSE := -q +RTE_PDFLATEX_VERBOSE := > /dev/null 2>&1 endif +DEFAULT_DPI ?= 300 + .PHONY: help help: @cat $(RTE_SDK)/doc/build-sdk-quick.txt @@ -53,7 +57,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 .PHONY: api-html api-html: api-html-clean @@ -83,3 +87,30 @@ 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: pdf-rel_notes pdf-linux_gsg pdf-freebsd_gsg pdf-prog_guide \ + pdf-sample_app_ug pdf-testpmd_app_ug + +pdf-%: + @echo 'creating' $* 'pdf ...' + # 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/$* + + # Convert the svg files to png. + $(eval svg_files=$(notdir $(wildcard $(RTE_SDK)/doc/guides/$*/img/*.svg))) + $(eval svg_files=$(patsubst %.svg, %, $(svg_files))) + @for svg in $(svg_files); do \ + inkscape -d $(DEFAULT_DPI) -D -b ffffff \ + -f $(RTE_SDK)/doc/guides/$*/img/$$svg.svg \ + -e $(RTE_OUTPUT)/doc/latex/guides/$*/$$svg.png \ + $(RTE_PDFLATEX_VERBOSE); \ + done + + # Change the svg image includes to png in the latex docs. + $(Q)sed -i 's/\.svg/.png/g' $(RTE_OUTPUT)/doc/latex/guides/$*/*.tex + + # Convert the latex to pdf. + $(Q)$(MAKE) -C $(RTE_OUTPUT)/doc/latex/guides/$* \ + all-pdf $(RTE_PDFLATEX_VERBOSE) diff --git a/mk/rte.sdkroot.mk b/mk/rte.sdkroot.mk index e8423b0..68931bb 100644 --- a/mk/rte.sdkroot.mk +++ b/mk/rte.sdkroot.mk @@ -101,9 +101,10 @@ testall: install uninstall: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkinstall.mk $@ -.PHONY: doc help +.PHONY: doc help pdf doc: doc-all help: doc-help +pdf: doc-pdf doc-%: $(Q)$(MAKE) -f $(RTE_SDK)/mk/rte.sdkdoc.mk $* -- 1.7.4.1