build: Fix VPATH build

Even VPATH make dist succeeds now
This commit is contained in:
Jiri Denemark 2011-02-16 15:09:09 +01:00
parent 766de43533
commit 85e601f8a5
2 changed files with 17 additions and 14 deletions

View File

@ -92,7 +92,7 @@ MAINTAINERCLEANFILES = $(dot_html) $(apihtml) $(devhelphtml)
all: web all: web
api: libvirt-api.xml libvirt-refs.xml api: $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml
web: $(dot_html) html/index.html devhelp/index.html web: $(dot_html) html/index.html devhelp/index.html
@ -146,7 +146,7 @@ internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in
html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in html/index.html: libvirt-api.xml newapi.xsl page.xsl sitemap.html.in
-@if [ -x $(XSLTPROC) ] ; then \ -@if [ -x $(XSLTPROC) ] ; then \
echo "Rebuilding the HTML pages from the XML API" ; \ echo "Rebuilding the HTML pages from the XML API" ; \
$(XSLTPROC) --nonet $(srcdir)/newapi.xsl libvirt-api.xml ; fi $(XSLTPROC) --nonet $(srcdir)/newapi.xsl $(srcdir)/libvirt-api.xml ; fi
-@if test -x $(XMLLINT) && test -x $(XMLCATALOG) ; then \ -@if test -x $(XMLLINT) && test -x $(XMLCATALOG) ; then \
if $(XMLCATALOG) '$(XML_CATALOG_FILE)' "-//W3C//DTD XHTML 1.0 Strict//EN" \ if $(XMLCATALOG) '$(XML_CATALOG_FILE)' "-//W3C//DTD XHTML 1.0 Strict//EN" \
> /dev/null ; then \ > /dev/null ; then \
@ -159,7 +159,7 @@ $(addprefix $(srcdir)/,$(devhelphtml)): $(srcdir)/libvirt-api.xml $(devhelpxsl)
-@echo Rebuilding devhelp files -@echo Rebuilding devhelp files
-@if [ -x $(XSLTPROC) ] ; then \ -@if [ -x $(XSLTPROC) ] ; then \
$(XSLTPROC) --nonet -o devhelp/libvirt.devhelp \ $(XSLTPROC) --nonet -o devhelp/libvirt.devhelp \
$(top_srcdir)/docs/devhelp/devhelp.xsl libvirt-api.xml ; fi $(top_srcdir)/docs/devhelp/devhelp.xsl $(srcdir)/libvirt-api.xml ; fi
python_generated_files = \ python_generated_files = \
$(srcdir)/html/libvirt-libvirt.html \ $(srcdir)/html/libvirt-libvirt.html \
@ -179,7 +179,7 @@ clean-local:
rm -f *~ *.bak *.hierarchy *.signals *-unused.txt *.html rm -f *~ *.bak *.hierarchy *.signals *-unused.txt *.html
maintainer-clean-local: clean-local maintainer-clean-local: clean-local
rm -rf libvirt-api.xml libvirt-refs.xml todo.html.in rm -rf $(srcdir)/libvirt-api.xml $(srcdir)/libvirt-refs.xml todo.html.in
rebuild: api all rebuild: api all

View File

@ -1614,8 +1614,9 @@ class CParser:
class docBuilder: class docBuilder:
"""A documentation builder""" """A documentation builder"""
def __init__(self, name, directories=['.'], includes=[]): def __init__(self, name, path='.', directories=['.'], includes=[]):
self.name = name self.name = name
self.path = path
self.directories = directories self.directories = directories
self.includes = includes + included_files.keys() self.includes = includes + included_files.keys()
self.modules = {} self.modules = {}
@ -2062,7 +2063,7 @@ class docBuilder:
output.write(" </index>\n") output.write(" </index>\n")
def serialize(self): def serialize(self):
filename = "%s-api.xml" % self.name filename = "%s/%s-api.xml" % (self.path, self.name)
print "Saving XML description %s" % (filename) print "Saving XML description %s" % (filename)
output = open(filename, "w") output = open(filename, "w")
output.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n') output.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n')
@ -2098,7 +2099,7 @@ class docBuilder:
output.write("</api>\n") output.write("</api>\n")
output.close() output.close()
filename = "%s-refs.xml" % self.name filename = "%s/%s-refs.xml" % (self.path, self.name)
print "Saving XML Cross References %s" % (filename) print "Saving XML Cross References %s" % (filename)
output = open(filename, "w") output = open(filename, "w")
output.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n') output.write('<?xml version="1.0" encoding="ISO-8859-1"?>\n')
@ -2113,14 +2114,16 @@ def rebuild():
srcdir = os.environ["srcdir"] srcdir = os.environ["srcdir"]
if glob.glob(srcdir + "/../src/libvirt.c") != [] : if glob.glob(srcdir + "/../src/libvirt.c") != [] :
print "Rebuilding API description for libvirt" print "Rebuilding API description for libvirt"
builder = docBuilder("libvirt", dirs = [srcdir + "/../src",
[srcdir + "/../src", srcdir + "/../src/util",
srcdir + "/../src/util", srcdir + "/../include/libvirt"]
srcdir + "/../include/libvirt"], if glob.glob(srcdir + "/../include/libvirt/libvirt.h") == [] :
[]) dirs.append("../include/libvirt")
builder = docBuilder("libvirt", srcdir, dirs, [])
elif glob.glob("src/libvirt.c") != [] : elif glob.glob("src/libvirt.c") != [] :
print "Rebuilding API description for libvir" print "Rebuilding API description for libvirt"
builder = docBuilder("libvirt", ["src", "src/util", "include/libvirt"], builder = docBuilder("libvirt", srcdir,
["src", "src/util", "include/libvirt"],
[]) [])
else: else:
print "rebuild() failed, unable to guess the module" print "rebuild() failed, unable to guess the module"