From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NbjZC-0007xf-UB for qemu-devel@nongnu.org; Sun, 31 Jan 2010 18:50:58 -0500 Received: from [199.232.76.173] (port=57341 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NbjZC-0007xJ-Id for qemu-devel@nongnu.org; Sun, 31 Jan 2010 18:50:58 -0500 Received: from Debian-exim by monty-python.gnu.org with spam-scanned (Exim 4.60) (envelope-from ) id 1NbjZB-0002oC-9k for qemu-devel@nongnu.org; Sun, 31 Jan 2010 18:50:58 -0500 Received: from fg-out-1718.google.com ([72.14.220.153]:20527) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NbjZA-0002ny-PL for qemu-devel@nongnu.org; Sun, 31 Jan 2010 18:50:57 -0500 Received: by fg-out-1718.google.com with SMTP id e21so166488fga.10 for ; Sun, 31 Jan 2010 15:50:55 -0800 (PST) MIME-Version: 1.0 Date: Mon, 1 Feb 2010 00:50:54 +0100 Message-ID: From: Dirk Ullrich Content-Type: text/plain; charset=ISO-8859-1 Subject: [Qemu-devel] [PATCH] Build and install more documentation formats List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Hi, I have patched QEMU's "configure" script and its main makefile: Now QEMU's documentation is also created in PDF format (using "texi2pdf"), and the targets "install-all-doc" / "install-all" install documentation in INFO and PDF format, too. May be others find this feature useful. Dirk For response please CC me since I am no "qemu-devel" subscriber (yet). diff --git a/Makefile b/Makefile index 3848627..641fdbd 100644 --- a/Makefile +++ b/Makefile @@ -21,7 +21,8 @@ endif Makefile: ; configure: ; -.PHONY: all clean cscope distclean dvi html info install install-doc \ +.PHONY: all clean cscope distclean dvi pdf html info install install-all \ + install-nodoc install-doc install-all-doc \ recurse-all speed tar tarbin test build-all $(call set-vpath, $(SRC_PATH):$(SRC_PATH)/hw) @@ -34,6 +35,12 @@ else DOCS= endif +ifdef BUILD_DOCS +MORE_DOCS=qemu-doc.pdf qemu-tech.pdf qemu-doc.info qemu-tech.info +else +MORE_DOCS= +endif + SUBDIR_MAKEFLAGS=$(if $(V),,--no-print-directory) SUBDIR_DEVICES_MAK=$(patsubst %, %/config-devices.mak, $(TARGET_DIRS)) @@ -65,7 +72,7 @@ defconfig: -include config-all-devices.mak -build-all: $(DOCS) $(TOOLS) recurse-all +build-all: $(DOCS) $(MORE_DOCS) $(TOOLS) recurse-all config-host.h: config-host.h-timestamp config-host.h-timestamp: config-host.mak @@ -160,7 +167,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,pdf,fn,info,ky,log,pg,toc,tp,vr} for d in $(TARGET_DIRS) libhw32 libhw64 libuser; do \ rm -rf $$d || exit 1 ; \ done @@ -191,7 +198,19 @@ ifdef CONFIG_POSIX $(INSTALL_DATA) qemu-nbd.8 "$(DESTDIR)$(mandir)/man8" endif -install: all $(if $(BUILD_DOCS),install-doc) +install-all-doc: $(MORE_DOCS) install-doc + $(INSTALL_DIR) "$(DESTDIR)$(docdir)" + $(INSTALL_DATA) qemu-doc.pdf qemu-tech.pdf "$(DESTDIR)$(docdir)" +ifdef CONFIG_POSIX + $(INSTALL_DIR) "$(DESTDIR)$(infodir)" + $(INSTALL_DATA) qemu-doc.info qemu-tech.info "$(DESTDIR)$(infodir)" + install-info --info-dir="$(DESTDIR)$(infodir)" \ + "$(DESTDIR)$(infodir)/qemu-doc.info" + install-info --info-dir="$(DESTDIR)$(infodir)" \ + "$(DESTDIR)$(infodir)/qemu-tech.info" +endif + +install-nodoc: all $(INSTALL_DIR) "$(DESTDIR)$(bindir)" ifneq ($(TOOLS),) $(INSTALL_PROG) $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)" @@ -207,9 +226,13 @@ endif $(INSTALL_DATA) $(SRC_PATH)/pc-bios/keymaps/$$x "$(DESTDIR)$(datadir)/keymaps"; \ done for d in $(TARGET_DIRS); do \ - $(MAKE) -C $$d $@ || exit 1 ; \ + $(MAKE) -C $$d install || exit 1 ; \ done +install: install-nodoc $(if $(BUILD_DOCS),install-doc) + +install-all: install-nodoc $(if $(BUILD_DOCS),install-all-doc) + # various test targets test speed: all $(MAKE) -C tests $@ @@ -233,6 +256,9 @@ cscope: %.dvi: %.texi $(call quiet-command,texi2dvi -I . $<," GEN $@") +%.pdf: %.texi + $(call quiet-command,texi2pdf -I . $<," GEN $@") + qemu-options.texi: $(SRC_PATH)/qemu-options.hx $(call quiet-command,sh $(SRC_PATH)/hxtool -t < $< > $@," GEN $@") @@ -266,7 +292,9 @@ dvi: qemu-doc.dvi qemu-tech.dvi html: qemu-doc.html qemu-tech.html -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 +pdf: qemu-doc.pdf qemu-tech.pdf + +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) diff --git a/configure b/configure index 42ef628..27f9a75 100755 --- a/configure +++ b/configure @@ -1872,6 +1872,7 @@ if test "$mingw32" = "yes" ; then prefix="c:/Program Files/Qemu" fi mansuffix="" + infosuffix="" datasuffix="" confsuffix="" docsuffix="" @@ -1884,6 +1885,7 @@ else prefix="/usr/local" fi mansuffix="/share/man" + infosuffix="/share/info" datasuffix="/share/qemu" docsuffix="/share/doc/qemu" binsuffix="/bin" @@ -1897,6 +1899,7 @@ echo "BIOS directory $prefix$datasuffix" echo "binary directory $prefix$binsuffix" if test "$mingw32" = "no" ; then echo "Manual directory $prefix$mansuffix" +echo "Info directory $prefix$infosuffix" echo "ELF interp prefix $interp_prefix" fi echo "Source path $source_path" @@ -2215,6 +2218,7 @@ echo "ROMS=$roms" >> $config_host_mak echo "prefix=$prefix" >> $config_host_mak echo "bindir=\${prefix}$binsuffix" >> $config_host_mak echo "mandir=\${prefix}$mansuffix" >> $config_host_mak +echo "infodir=\${prefix}$infosuffix" >> $config_host_mak echo "datadir=\${prefix}$datasuffix" >> $config_host_mak echo "sysconfdir=$sysconfdir" >> $config_host_mak echo "docdir=\${prefix}$docsuffix" >> $config_host_mak diff --git a/qemu-doc.texi b/qemu-doc.texi index 2fb5c0b..eba6437 100644 --- a/qemu-doc.texi +++ b/qemu-doc.texi @@ -6,6 +6,12 @@ @paragraphindent 0 @c %**end of header +@ifinfo +@direntry +* QEMU: (qemu-doc). The QEMU Emulator User Documentation. +@end direntry +@end ifinfo + @iftex @titlepage @sp 7 diff --git a/qemu-tech.texi b/qemu-tech.texi index 97d8dea..52560dc 100644 --- a/qemu-tech.texi +++ b/qemu-tech.texi @@ -6,6 +6,12 @@ @paragraphindent 0 @c %**end of header +@ifinfo +@direntry +* QEMU Internals: (qemu-tech). The QEMU Emulator Internals. +@end direntry +@end ifinfo + @iftex @titlepage @sp 7