From 7659bd9221b9dd1cdf731d90b442c306dbda5cbd Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Wed, 20 Jan 2016 12:22:19 +0000 Subject: [PATCH] docs: fix generation of docs from VPATH build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When generating docs in a VPATH build we get a failure to create a file due to the 'internals' subdir not existing: Generating internals/locking.html.tmp /bin/sh: line 3: internals/locking.html.tmp: No such file or directory rm: cannot remove ‘internals/locking.html.tmp’: No such file or directory Makefile:2229: recipe for target 'internals/locking.html.tmp' failed make: *** [internals/locking.html.tmp] Error 1 For some reason, make has decided to run the target %.html.tmp: %.html.in site.xsl page.xsl sitemap.html.in $(acl_generated) instead of the target internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in Removing '$(acl_generated)' from the first target, inexplicably causes make to now run the correct target for the internals/ files. Rather than figure this out, lets just combine the two targets into one. Signed-off-by: Daniel P. Berrange --- docs/Makefile.am | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/Makefile.am b/docs/Makefile.am index fb53a45cbd..231aa4eeba 100644 --- a/docs/Makefile.am +++ b/docs/Makefile.am @@ -220,21 +220,20 @@ $(srcdir)/hvsupport.html.in: $(srcdir)/hvsupport.pl $(api_DATA) \ %.png: %.fig convert -rotate 90 $< $@ -internals/%.html.tmp: internals/%.html.in subsite.xsl page.xsl sitemap.html.in - @if [ -x $(XSLTPROC) ] ; then \ - echo "Generating $@"; \ - $(MKDIR_P) internals; \ - name=`echo $@ | sed -e 's/.tmp//'`; \ - $(XSLTPROC) --stringparam pagename $$name --nonet \ - $(top_srcdir)/docs/subsite.xsl $< > $@ \ - || { rm $@ && exit 1; }; fi - -%.html.tmp: %.html.in site.xsl page.xsl sitemap.html.in $(acl_generated) +%.html.tmp: %.html.in site.xsl subsite.xsl page.xsl sitemap.html.in $(acl_generated) @if [ -x $(XSLTPROC) ] ; then \ echo "Generating $@"; \ name=`echo $@ | sed -e 's/.tmp//'`; \ + dir=`dirname $@` ; \ + if test "$$dir" = "."; \ + then \ + style=site.xsl; \ + else \ + $(MKDIR_P) $$dir; \ + style=subsite.xsl; \ + fi; \ $(XSLTPROC) --stringparam pagename $$name --nonet \ - $(top_srcdir)/docs/site.xsl $< > $@ \ + $(top_srcdir)/docs/$$style $< > $@ \ || { rm $@ && exit 1; }; fi %.html: %.html.tmp