2010/6/25 Eric Blake <eblake(a)redhat.com>:
The rule of thumb for generated files:
If they are distributed, they should be generated in $(srcdir);
otherwise, they should be built by the end user in $(builddir).
Since our .xml docs are built with python, and we want them
available even to end users that don't build with python, we
want them distributed; hence, they must live in $(srcdir).
Tested with 'make distcheck' in both an in-tree build and a
VPATH build.
-
-html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
+$(srcdir)/html/index.html: $(srcdir)/libvirt-api.xml newapi.xsl page.xsl \
+ sitemap.html.in
-@if [ -x $(XSLTPROC) ] ; then \
echo "Rebuilding the HTML pages from the XML API" ; \
- $(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvirt-api.xml ; fi
+ $(XSLTPROC) --nonet -o $(srcdir)/ \
+ $(srcdir)/newapi.xsl $(srcdir)/libvirt-api.xml; \
+ fi
-@if test -x $(XMLLINT) && test -x $(XMLCATALOG) ; then \
if $(XMLCATALOG) /etc/xml/catalog "-//W3C//DTD XHTML 1.0 Strict//EN"
\
> /dev/null ; then \
@@ -129,19 +132,24 @@ html/index.html: libvirt-api.xml newapi.xsl page.xsl
sitemap.html.in
$(XMLLINT) --nonet --valid --noout html/*.html ; \
else echo "missing XHTML1 DTD" ; fi ; fi
-$(devhelphtml): libvirt-api.xml $(devhelpxsl)
+$(addprefix $(srcdir)/,$(devhelphtml)): $(srcdir)/libvirt-api.xml $(devhelpxsl)
-@echo Rebuilding devhelp files
-@if [ -x $(XSLTPROC) ] ; then \
- $(XSLTPROC) --nonet -o devhelp/libvirt.devhelp \
- $(top_srcdir)/docs/devhelp/devhelp.xsl libvirt-api.xml ; fi
-
-html/%-%.html html/%-virterror.html %-api.xml %-refs.xml: $(srcdir)/apibuild.py
- -srcdir=$(srcdir) $(srcdir)/apibuild.py
-
-html/%-%.html html/%-virterror.html %-api.xml %-refs.xml: \
- $(srcdir)/../include/%/*.h \
- $(srcdir)/../src/%.c \
+ $(XSLTPROC) --nonet -o $(srcdir)/devhelp/ \
+ $(srcdir)/devhelp/devhelp.xsl $(srcdir)/libvirt-api.xml ; \
+ fi
This makes xsltproc report and "I/O error : Is a directory" for me. I
think the problem is that we need to specify the output file instead
of the output directory here.
I think the same applies to your change to the xsltproc command some
lines above for $(srcdir)/html/index.html.
diff --git a/docs/apibuild.py b/docs/apibuild.py
index 2dda4df..990451c 100755
--- a/docs/apibuild.py
+++ b/docs/apibuild.py
@@ -2109,10 +2116,11 @@ def rebuild():
builder = docBuilder("libvirt",
[srcdir + "/../src",
srcdir + "/../src/util",
- srcdir + "/../include/libvirt"],
+ srcdir + "/../include/libvirt",
+ "../include/libvirt"],
[])
This triggers tons or warnings/errors for me:
function virDomainResume from ./../include/libvirt/libvirt.h
redeclared in ../include/libvirt/libvirt.h
Adding "./../include/libvirt" instead of "../include/libvirt" as last
item to the list fixes this for me.
Matthias