[PATCH] doc/publican: stop excessive rebuilds

Pekka Paalanen ppaalanen at gmail.com
Wed Sep 3 06:31:58 PDT 2014


On Tue, 2 Sep 2014 09:50:14 +1000
Peter Hutterer <peter.hutterer at who-t.net> wrote:

> Traced down to the server/client target always rebuilding, causing a rebuild
> of everything else. Rework this so the target name is a file we actually
> produce and can check for a timestamp.
> 
> Note: this also changes the generated file from the doxygen directory into the
> en-US publican path and renames it to (server|client)API.xml.tmp to avoid
> copying it into the xml output directory.
> ---
>  doc/publican/Makefile.am | 25 +++++++++++--------------
>  1 file changed, 11 insertions(+), 14 deletions(-)
> 
> diff --git a/doc/publican/Makefile.am b/doc/publican/Makefile.am
> index a20b1d3..47fc66d 100644
> --- a/doc/publican/Makefile.am
> +++ b/doc/publican/Makefile.am
> @@ -55,31 +55,28 @@ en-US/ProtocolInterfaces.xml: $(top_srcdir)/protocol/wayland.xml $(srcdir)/proto
>  	$(AM_V_GEN)$(XSLTPROC) $(srcdir)/protocol-interfaces-to-docbook.xsl \
>  		$(top_srcdir)/protocol/wayland.xml > en-US/ProtocolInterfaces.xml
>  
> -combine_xml: server client
> -
>  # * 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
>  # * move wayland-<foo>_8h.xml back to its original location
> -server client:
> -	$(AM_V_GEN)mv $(top_builddir)/doc/doxygen/xml/$@/wayland-$@_8h.xml \
> +en-US/%API.xml.tmp:
> +	$(AM_V_GEN)mv $(top_builddir)/doc/doxygen/xml/$*/wayland-$*_8h.xml \
>  		$(top_builddir)/doc/doxygen/xml/
> -	$(AM_V_GEN)$(XSLTPROC) $(top_builddir)/doc/doxygen/xml/$@/combine.xslt \
> -		$(top_builddir)/doc/doxygen/xml/$@/index.xml > \
> -		$(top_builddir)/doc/doxygen/xml/$@/$@API.xml
> -	$(AM_V_GEN)mv $(top_builddir)/doc/doxygen/xml/wayland-$@_8h.xml \
> -		$(top_builddir)/doc/doxygen/xml/$@
> +	$(AM_V_GEN)$(XSLTPROC) $(top_builddir)/doc/doxygen/xml/$*/combine.xslt \
> +		$(top_builddir)/doc/doxygen/xml/$*/index.xml > $@
> +	$(AM_V_GEN)mv $(top_builddir)/doc/doxygen/xml/wayland-$*_8h.xml \
> +		$(top_builddir)/doc/doxygen/xml/$*
>  
>  # WaylandClientAPI.xml:
> -# merge doxygen xml files into one single file (see combine_xml), then transform the combined XML file into docbook format
> -en-US/WaylandClientAPI.xml: combine_xml $(top_builddir)/doc/doxygen/xml/client/index.xml $(srcdir)/doxygen-to-publican.xsl
> +# merge doxygen xml files into one single file, then transform the combined XML file into docbook format
> +en-US/WaylandClientAPI.xml: en-US/clientAPI.xml.tmp $(top_builddir)/doc/doxygen/xml/client/index.xml $(srcdir)/doxygen-to-publican.xsl
>  	$(AM_V_GEN)$(XSLTPROC)  --stringparam which Client $(srcdir)/doxygen-to-publican.xsl \
> -		$(top_builddir)/doc/doxygen/xml/client/clientAPI.xml > en-US/WaylandClientAPI.xml
> +		$(builddir)/en-US/clientAPI.xml.tmp > en-US/WaylandClientAPI.xml
>  
>  # WaylandServerAPI.xml: see WaylandClientAPI.xml
> -en-US/WaylandServerAPI.xml: combine_xml $(top_builddir)/doc/doxygen/xml/client/index.xml $(srcdir)/doxygen-to-publican.xsl
> +en-US/WaylandServerAPI.xml: en-US/serverAPI.xml.tmp $(top_builddir)/doc/doxygen/xml/client/index.xml $(srcdir)/doxygen-to-publican.xsl
>  	$(AM_V_GEN)$(XSLTPROC) --stringparam which Server $(srcdir)/doxygen-to-publican.xsl \
> -		$(top_builddir)/doc/doxygen/xml/server/serverAPI.xml > en-US/WaylandServerAPI.xml
> +		$(builddir)/en-US/serverAPI.xml.tmp > en-US/WaylandServerAPI.xml
>  
>  # Copy the sources source files into en-US destination
>  # This is required for out-of-source-tree build as publican does not allow us

I can't see anything wrong in the patch, and I also can't test it, but I
assume it is ok. Pushed.


Thanks,
pq


More information about the wayland-devel mailing list