qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 11/36] build-sys: generate QAPI doc based on json


From: marcandre . lureau
Subject: [Qemu-devel] [PATCH 11/36] build-sys: generate QAPI doc based on json
Date: Fri, 25 Sep 2015 16:03:39 +0200

From: Marc-André Lureau <address@hidden>

Learn to generate info/html/pdf/man documentation for QEMU and agent QMP
APIs.

This allows to provide missing agent documentation, and should help
getting rid of the duplicate documentation in qmp-commands.hx.

Signed-off-by: Marc-André Lureau <address@hidden>
---
 Makefile | 36 ++++++++++++++++++++++++++++++------
 1 file changed, 30 insertions(+), 6 deletions(-)

diff --git a/Makefile b/Makefile
index 68e2e1b..918ad4e 100644
--- a/Makefile
+++ b/Makefile
@@ -91,7 +91,7 @@ HELPERS-$(CONFIG_LINUX) = qemu-bridge-helper$(EXESUF)
 
 ifdef BUILD_DOCS
 DOCS=qemu-doc.html qemu-tech.html qemu.1 qemu-img.1 qemu-nbd.8 qemu-ga.8
-DOCS+=qmp-commands.txt
+DOCS+=qmp-commands.txt qemu-qapi.7 qemu-ga-qapi.7
 ifdef CONFIG_LINUX
 DOCS+=kvm_stat.1
 endif
@@ -249,6 +249,7 @@ qemu-ga$(EXESUF): QEMU_CFLAGS += -I qga/qapi-generated
 gen-out-type = $(subst .,-,$(suffix $@))
 
 qapi-py = $(SRC_PATH)/scripts/qapi.py $(SRC_PATH)/scripts/ordereddict.py
+qapi-py += $(SRC_PATH)/scripts/qapi2texi.py
 
 qga/qapi-generated/qga-qapi-types.c qga/qapi-generated/qga-qapi-types.h :\
 $(SRC_PATH)/qga/qapi-schema.json $(SRC_PATH)/scripts/qapi-types.py $(qapi-py)
@@ -363,7 +364,7 @@ distclean: clean
        rm -f qemu-doc.vr
        rm -f config.log
        rm -f linux-headers/asm
-       rm -f qemu-tech.info qemu-tech.aux qemu-tech.cp qemu-tech.dvi 
qemu-tech.fn qemu-tech.info qemu-tech.ky qemu-tech.log qemu-tech.pdf 
qemu-tech.pg qemu-tech.toc qemu-tech.tp qemu-tech.vr
+       rm -f qemu-tech.info qemu-tech.aux qemu-tech.cp qemu-tech.dvi 
qemu-tech.fn qemu-tech.info qemu-tech..ky qemu-tech.log qemu-tech.pdf 
qemu-tech.pg qemu-tech.toc qemu-tech.tp qemu-tech.vr qemu-qapi.info 
qemu-qapi.aux qemu-qapi.cp qemu-qapi.dvi qemu-qapi.fn qemu-qapi.info 
qemu-qapi..ky qemu-qapi.log qemu-qapi.pdf qemu-qapi.pg qemu-qapi.toc 
qemu-qapi.tp qemu-qapi.vr qemu-ga-qapi.info qemu-ga-qapi.aux qemu-ga-qapi.cp 
qemu-ga-qapi.dvi qemu-ga-qapi.fn qemu-ga-qapi.info qemu-ga-qapi..ky 
qemu-ga-qapi.log qemu-ga-qapi.pdf qemu-ga-qapi.pg qemu-ga-qapi.toc 
qemu-ga-qapi.tp qemu-ga-qapi.vr
        for d in $(TARGET_DIRS); do \
        rm -rf $$d || exit 1 ; \
         done
@@ -408,6 +409,7 @@ ifneq ($(TOOLS),)
        $(INSTALL_DATA) qemu-img.1 "$(DESTDIR)$(mandir)/man1"
        $(INSTALL_DIR) "$(DESTDIR)$(mandir)/man8"
        $(INSTALL_DATA) qemu-nbd.8 "$(DESTDIR)$(mandir)/man8"
+       $(INSTALL_DATA) qemu-qapi.7 qemu-ga-qapi.7 "$(DESTDIR)$(mandir)/man7"
 endif
 ifneq (,$(findstring qemu-ga,$(TOOLS)))
        $(INSTALL_DATA) qemu-ga.8 "$(DESTDIR)$(mandir)/man8"
@@ -529,6 +531,16 @@ qmp-commands.txt: $(SRC_PATH)/qmp-commands.hx
 qemu-img-cmds.texi: $(SRC_PATH)/qemu-img-cmds.hx
        $(call quiet-command,sh $(SRC_PATH)/scripts/hxtool -t < $< > $@,"  GEN  
 $@")
 
+qemu-qapi.texi: $(qapi-modules) $(qapi-py)
+       $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi2texi.py \
+       "QEMU QAPI Reference Manual" $(VERSION) qemu-qapi \
+       $< > $@,"  GEN   $@")
+
+qemu-ga-qapi.texi: $(SRC_PATH)/qga/qapi-schema.json $(qapi-py)
+       $(call quiet-command,$(PYTHON) $(SRC_PATH)/scripts/qapi2texi.py \
+       "QEMU Guest Agent QAPI Reference Manual" $(VERSION) qemu-ga-qapi \
+       $< > $@,"  GEN   $@")
+
 qemu.1: qemu-doc.texi qemu-options.texi qemu-monitor.texi 
qemu-monitor-info.texi
        $(call quiet-command, \
          perl -Ww -- $(SRC_PATH)/scripts/texi2pod.pl $< qemu.pod && \
@@ -559,16 +571,28 @@ qemu-ga.8: qemu-ga.texi
          $(POD2MAN) --section=8 --center=" " --release=" " qemu-ga.pod > $@, \
          "  GEN   $@")
 
+qemu-qapi.7: qemu-qapi.texi
+       $(call quiet-command, \
+       perl -Ww -- $(SRC_PATH)/scripts/texi2pod.pl $< qemu-qapi.pod && \
+       $(POD2MAN) --section=7 --center=" " --release=" " qemu-qapi.pod > $@, \
+       "  GEN   $@")
+
+qemu-ga-qapi.7: qemu-ga-qapi.texi
+       $(call quiet-command, \
+       perl -Ww -- $(SRC_PATH)/scripts/texi2pod.pl $< qemu-ga-qapi.pod && \
+       $(POD2MAN) --section=7 --center=" " --release=" " qemu-ga-qapi.pod > 
$@, \
+       "  GEN   $@")
+
 kvm_stat.1: scripts/kvm/kvm_stat.texi
        $(call quiet-command, \
          perl -Ww -- $(SRC_PATH)/scripts/texi2pod.pl $< kvm_stat.pod && \
          $(POD2MAN) --section=1 --center=" " --release=" " kvm_stat.pod > $@, \
          "  GEN   $@")
 
-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
+dvi: qemu-doc.dvi qemu-tech.dvi qemu-qapi.dvi
+html: qemu-doc.html qemu-tech.html qemu-qapi.html
+info: qemu-doc.info qemu-tech.info qemu-qapi.info
+pdf: qemu-doc.pdf qemu-tech.pdf qemu-qapi.pdf
 
 qemu-doc.dvi qemu-doc.html qemu-doc.info qemu-doc.pdf: \
        qemu-img.texi qemu-nbd.texi qemu-options.texi \
-- 
2.4.3




reply via email to

[Prev in Thread] Current Thread [Next in Thread]