summaryrefslogtreecommitdiffstats
path: root/doc/publican/Makefile.am
diff options
context:
space:
mode:
authorBill Spitzak <spitzak@gmail.com>2014-12-16 19:23:03 -0800
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2014-12-18 15:13:39 +0200
commit6e3ad249adbf527e70d89fdb7dd25e289929f1a2 (patch)
treecb0f3a2bf985a4def39c60e5e2f848cdf2f6b4fc /doc/publican/Makefile.am
parentdoc: fix for parallel make (diff)
downloadwayland-6e3ad249adbf527e70d89fdb7dd25e289929f1a2.tar
wayland-6e3ad249adbf527e70d89fdb7dd25e289929f1a2.tar.gz
wayland-6e3ad249adbf527e70d89fdb7dd25e289929f1a2.tar.bz2
wayland-6e3ad249adbf527e70d89fdb7dd25e289929f1a2.tar.lz
wayland-6e3ad249adbf527e70d89fdb7dd25e289929f1a2.tar.xz
wayland-6e3ad249adbf527e70d89fdb7dd25e289929f1a2.tar.zst
wayland-6e3ad249adbf527e70d89fdb7dd25e289929f1a2.zip
doc: Make it easier to add a new doxygen page
The repetitive parts of generating the server and client documentation are merged, so it is easier to add another doxygen chapter: add a new line to $publican_sources in publican/Makefile.am, and a list of C source files to doxygen/Makefile.am. Reviewed-by: Bryce Harrington <bryce@osg.samsung.com>
Diffstat (limited to 'doc/publican/Makefile.am')
-rw-r--r--doc/publican/Makefile.am34
1 files changed, 13 insertions, 21 deletions
diff --git a/doc/publican/Makefile.am b/doc/publican/Makefile.am
index b4cfe82..7f0ed1b 100644
--- a/doc/publican/Makefile.am
+++ b/doc/publican/Makefile.am
@@ -8,9 +8,7 @@
# * ProtocolSpec.xml is generated from $(top_srcdir)/protocol/wayland.xml,
# changed into docbook via XSLT and saved in $(builddir)/en-US/
# * ProtocolInterfaces.xml, same as above, uses a different XSLT
-# * WaylandClientAPI.xml is generated from the doxygen output and saved in
-# $(builddir)/en-US
-# * WaylandServerAPI.xml is generated from the doxygen output and saved in
+# * *API.xml is generated from the doxygen output and saved in
# $(builddir)/en-US
# * run xmlto on $(builddir)/en-US, output to $(builddir)/Wayland/en-US
@@ -76,9 +74,11 @@ $(html_destdir)/images/%: $(srcdir)/sources/images/% | $(html_destdir)/images
pubdir = $(docdir)/Wayland/en-US
-publican_targets = $(publican_sources:$(srcdir)/sources/%=$(builddir)/en-US/%) \
- $(builddir)/en-US/ProtocolSpec.xml $(builddir)/en-US/ProtocolInterfaces.xml \
- $(builddir)/en-US/WaylandClientAPI.xml $(builddir)/en-US/WaylandServerAPI.xml
+publican_targets = $(publican_sources:$(srcdir)/sources%=$(builddir)/en-US/%) \
+ $(builddir)/en-US/ProtocolSpec.xml \
+ $(builddir)/en-US/ProtocolInterfaces.xml \
+ $(builddir)/en-US/ClientAPI.xml \
+ $(builddir)/en-US/ServerAPI.xml
# The Protocol.xml is purely generated and required before running publican
$(builddir)/en-US/ProtocolSpec.xml: $(top_srcdir)/protocol/wayland.xml $(srcdir)/protocol-to-docbook.xsl | $(builddir)/en-US
@@ -92,31 +92,23 @@ $(builddir)/en-US/ProtocolInterfaces.xml: $(top_srcdir)/protocol/wayland.xml $(s
# * we don't want wayland-{server|client}_8h.xml to avoid duplicating output methods,
# move it out of the way first.
# * use doxygen's combine.xslt to merge the xml files into one single file
+# * pipe that through the doxygen-to-publican stylesheet
# * move wayland-<foo>_8h.xml back to its original location
-$(builddir)/en-US/%API.xml.tmp: $(doxydir)/xml/%/index.xml | $(builddir)/en-US
+$(builddir)/en-US/%API.xml: $(doxydir)/xml/%/index.xml $(srcdir)/doxygen-to-publican.xsl | $(builddir)/en-US
$(AM_V_at)$(MKDIR_P) $(doxydir)/xml/$*/saved
$(AM_V_at)mv $(doxydir)/xml/$*/wayland-*_8h.xml \
$(doxydir)/xml/$*/saved
$(AM_V_GEN)$(XSLTPROC) $(doxydir)/xml/$*/combine.xslt \
- $(doxydir)/xml/$*/index.xml > $@
+ $(doxydir)/xml/$*/index.xml | \
+ $(XSLTPROC) --stringparam which $* \
+ $(srcdir)/doxygen-to-publican.xsl - > $@
$(AM_V_at)mv $(doxydir)/xml/$*/saved/* \
$(doxydir)/xml/$*
-# WaylandClientAPI.xml:
-# merge doxygen xml files into one single file, then transform the combined XML file into docbook format
-$(builddir)/en-US/WaylandClientAPI.xml: $(builddir)/en-US/clientAPI.xml.tmp $(srcdir)/doxygen-to-publican.xsl | $(builddir)/en-US
- $(AM_V_GEN)$(XSLTPROC) --stringparam which Client $(srcdir)/doxygen-to-publican.xsl \
- $(builddir)/en-US/clientAPI.xml.tmp > $@
-
-# WaylandServerAPI.xml: see WaylandClientAPI.xml
-$(builddir)/en-US/WaylandServerAPI.xml: $(builddir)/en-US/serverAPI.xml.tmp $(srcdir)/doxygen-to-publican.xsl | $(builddir)/en-US
- $(AM_V_GEN)$(XSLTPROC) --stringparam which Server $(srcdir)/doxygen-to-publican.xsl \
- $(builddir)/en-US/serverAPI.xml.tmp > $@
-
# Copy the sources source files into en-US destination
# This is required for out-of-source-tree build as publican does not allow us
# to specify the location of the source code.
-$(builddir)/en-US/%: $(srcdir)/sources/% $(builddir)/en-US/ProtocolSpec.xml $(builddir)/en-US/ProtocolInterfaces.xml $(builddir)/en-US/WaylandClientAPI.xml $(publican_sources) | $(builddir)/en-US/images
+$(builddir)/en-US/%: $(srcdir)/sources/% $(publican_sources) | $(builddir)/en-US/images
$(AM_V_GEN)cp -f $< $@
$(AM_V_at)chmod a+w $@
@@ -124,7 +116,7 @@ $(builddir)/en-US/%: $(srcdir)/sources/% $(builddir)/en-US/ProtocolSpec.xml $(bu
$(alldirs):
$(AM_V_GEN)$(MKDIR_P) $@
-CLEANFILES = $(builddir)/en-US/ProtocolSpec.xml $(builddir)/en-US/ProtocolInterfaces.xml $(builddir)/en-US/WaylandClientAPI.xml $(publican_targets)
+CLEANFILES = $(publican_targets)
clean-local:
$(AM_V_at)rm -fr $(builddir)/en-US