Patchwork Documentation: Add build support for documentation in pdf format

login
register
mail settings
Submitter Stefan Weil
Date Jan. 29, 2010, 10:16 p.m.
Message ID <1264803410-18672-1-git-send-email-weil@mail.berlios.de>
Download mbox | patch
Permalink /patch/44040/
State New
Headers show

Comments

Stefan Weil - Jan. 29, 2010, 10:16 p.m.
Makefile already supported dvi, html and info formats,
but pdf was missing.

pdf is especially convenient for printing and for
documentation reviews. I hope it will help to
improve qemu's documentation.

Make now supports the new target 'pdf' which will
create qemu-doc.pdf and qemu-tech.pdf. It is also
possible to build both files individually.

texi2pdf and texi2dvi are rather noisy, so normally
some less important warnings are suppressed.
When make is called with V=1 (verbose mode),
warnings are not suppressed.

The patch also sorts the documentation targets
alphabetically and wraps a line which was too long.

Signed-off-by: Stefan Weil <weil@mail.berlios.de>
---
 .gitignore |    1 +
 Makefile   |   21 +++++++++++++--------
 2 files changed, 14 insertions(+), 8 deletions(-)
Anthony Liguori - Feb. 10, 2010, 6:32 p.m.
On 01/29/2010 04:16 PM, Stefan Weil wrote:
> Makefile already supported dvi, html and info formats,
> but pdf was missing.
>
> pdf is especially convenient for printing and for
> documentation reviews. I hope it will help to
> improve qemu's documentation.
>
> Make now supports the new target 'pdf' which will
> create qemu-doc.pdf and qemu-tech.pdf. It is also
> possible to build both files individually.
>
> texi2pdf and texi2dvi are rather noisy, so normally
> some less important warnings are suppressed.
> When make is called with V=1 (verbose mode),
> warnings are not suppressed.
>
> The patch also sorts the documentation targets
> alphabetically and wraps a line which was too long.
>
> Signed-off-by: Stefan Weil<weil@mail.berlios.de>
>    

Applied.  Thanks.

Regards,

Anthony Liguori
> ---
>   .gitignore |    1 +
>   Makefile   |   21 +++++++++++++--------
>   2 files changed, 14 insertions(+), 8 deletions(-)
>
> diff --git a/.gitignore b/.gitignore
> index d7d2146..dfc8e5b 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -36,6 +36,7 @@ qemu-monitor.texi
>   *.fn
>   *.ky
>   *.log
> +*.pdf
>   *.pg
>   *.toc
>   *.tp
> diff --git a/Makefile b/Makefile
> index 3848627..692bd75 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -22,7 +22,7 @@ Makefile: ;
>   configure: ;
>
>   .PHONY: all clean cscope distclean dvi html info install install-doc \
> -	recurse-all speed tar tarbin test build-all
> +	pdf recurse-all speed tar tarbin test build-all
>
>   $(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw)
>
> @@ -160,7 +160,7 @@ distclean: clean
>   	rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi
>   	rm -f config-all-devices.mak
>   	rm -f roms/seabios/config.mak roms/vgabios/config.mak
> -	rm -f qemu-{doc,tech}.{info,aux,cp,dvi,fn,info,ky,log,pg,toc,tp,vr}
> +	rm -f qemu-{doc,tech}.{info,aux,cp,dvi,fn,info,ky,log,pdf,pg,toc,tp,vr}
>   	for d in $(TARGET_DIRS) libhw32 libhw64 libuser; do \
>   	rm -rf $$d || exit 1 ; \
>           done
> @@ -224,14 +224,18 @@ cscope:
>   	cscope -b
>
>   # documentation
> +TEXIFLAG=$(if $(V),,--quiet)
> +%.dvi: %.texi
> +	$(call quiet-command,texi2dvi $(TEXIFLAG) -I . $<,"  GEN   $@")
> +
>   %.html: %.texi
>   	$(call quiet-command,texi2html -I=. -monolithic -number $<,"  GEN   $@")
>
>   %.info: %.texi
>   	$(call quiet-command,makeinfo -I . $<  -o $@,"  GEN   $@")
>
> -%.dvi: %.texi
> -	$(call quiet-command,texi2dvi -I . $<,"  GEN   $@")
> +%.pdf: %.texi
> +	$(call quiet-command,texi2pdf $(TEXIFLAG) -I . $<,"  GEN   $@")
>
>   qemu-options.texi: $(SRC_PATH)/qemu-options.hx
>   	$(call quiet-command,sh $(SRC_PATH)/hxtool -t<  $<  >  $@,"  GEN   $@")
> @@ -260,13 +264,14 @@ qemu-nbd.8: qemu-nbd.texi
>   	  pod2man --section=8 --center=" " --release=" " qemu-nbd.pod>  $@, \
>   	  "  GEN   $@")
>
> -info: qemu-doc.info qemu-tech.info
> -
>   dvi: qemu-doc.dvi qemu-tech.dvi
> -
>   html: qemu-doc.html qemu-tech.html
> +info: qemu-doc.info qemu-tech.info
> +pdf: qemu-doc.pdf qemu-tech.pdf
>
> -qemu-doc.dvi qemu-doc.html qemu-doc.info: qemu-img.texi qemu-nbd.texi qemu-options.texi qemu-monitor.texi qemu-img-cmds.texi
> +qemu-doc.dvi qemu-doc.html qemu-doc.info qemu-doc.pdf: \
> +	qemu-img.texi qemu-nbd.texi qemu-options.texi \
> +	qemu-monitor.texi qemu-img-cmds.texi
>
>   VERSION ?= $(shell cat VERSION)
>   FILE = qemu-$(VERSION)
>

Patch

diff --git a/.gitignore b/.gitignore
index d7d2146..dfc8e5b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,6 +36,7 @@  qemu-monitor.texi
 *.fn
 *.ky
 *.log
+*.pdf
 *.pg
 *.toc
 *.tp
diff --git a/Makefile b/Makefile
index 3848627..692bd75 100644
--- a/Makefile
+++ b/Makefile
@@ -22,7 +22,7 @@  Makefile: ;
 configure: ;
 
 .PHONY: all clean cscope distclean dvi html info install install-doc \
-	recurse-all speed tar tarbin test build-all
+	pdf recurse-all speed tar tarbin test build-all
 
 $(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw)
 
@@ -160,7 +160,7 @@  distclean: clean
 	rm -f config-host.mak config-host.h* config-host.ld $(DOCS) qemu-options.texi qemu-img-cmds.texi qemu-monitor.texi
 	rm -f config-all-devices.mak
 	rm -f roms/seabios/config.mak roms/vgabios/config.mak
-	rm -f qemu-{doc,tech}.{info,aux,cp,dvi,fn,info,ky,log,pg,toc,tp,vr}
+	rm -f qemu-{doc,tech}.{info,aux,cp,dvi,fn,info,ky,log,pdf,pg,toc,tp,vr}
 	for d in $(TARGET_DIRS) libhw32 libhw64 libuser; do \
 	rm -rf $$d || exit 1 ; \
         done
@@ -224,14 +224,18 @@  cscope:
 	cscope -b
 
 # documentation
+TEXIFLAG=$(if $(V),,--quiet)
+%.dvi: %.texi
+	$(call quiet-command,texi2dvi $(TEXIFLAG) -I . $<,"  GEN   $@")
+
 %.html: %.texi
 	$(call quiet-command,texi2html -I=. -monolithic -number $<,"  GEN   $@")
 
 %.info: %.texi
 	$(call quiet-command,makeinfo -I . $< -o $@,"  GEN   $@")
 
-%.dvi: %.texi
-	$(call quiet-command,texi2dvi -I . $<,"  GEN   $@")
+%.pdf: %.texi
+	$(call quiet-command,texi2pdf $(TEXIFLAG) -I . $<,"  GEN   $@")
 
 qemu-options.texi: $(SRC_PATH)/qemu-options.hx
 	$(call quiet-command,sh $(SRC_PATH)/hxtool -t < $< > $@,"  GEN   $@")
@@ -260,13 +264,14 @@  qemu-nbd.8: qemu-nbd.texi
 	  pod2man --section=8 --center=" " --release=" " qemu-nbd.pod > $@, \
 	  "  GEN   $@")
 
-info: qemu-doc.info qemu-tech.info
-
 dvi: qemu-doc.dvi qemu-tech.dvi
-
 html: qemu-doc.html qemu-tech.html
+info: qemu-doc.info qemu-tech.info
+pdf: qemu-doc.pdf qemu-tech.pdf
 
-qemu-doc.dvi qemu-doc.html qemu-doc.info: qemu-img.texi qemu-nbd.texi qemu-options.texi qemu-monitor.texi qemu-img-cmds.texi
+qemu-doc.dvi qemu-doc.html qemu-doc.info qemu-doc.pdf: \
+	qemu-img.texi qemu-nbd.texi qemu-options.texi \
+	qemu-monitor.texi qemu-img-cmds.texi
 
 VERSION ?= $(shell cat VERSION)
 FILE = qemu-$(VERSION)