From ec2c0a84c9ca9086c5230966d72d7f5569cb67d6 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 29 Nov 2011 15:48:08 +0000 Subject: docs/html/: Arrange for automatic build of hypercall docs - Use index.html rather than a stamp file. - Automatically generate dependencies. - Wire into the docs build system Signed-off-by: Ian Jackson Acked-by: Ian Campbell Committed-by: Ian Jackson --- docs/Makefile | 9 ++++++--- docs/xen-headers | 14 ++++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/docs/Makefile b/docs/Makefile index ace60bacda..28a5b10917 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -18,7 +18,8 @@ DOC_HTML := $(patsubst src/%.tex,html/reference/%/index.html,$(DOC_TEX)) \ $(patsubst %.markdown,html/%.html,$(DOC_MARKDOWN)) \ $(patsubst man/%.pod.1,html/man/%.1.html,$(DOC_MAN1SRC)) \ $(patsubst man/%.pod.5,html/man/%.5.html,$(DOC_MAN5SRC)) \ - $(patsubst %.txt,html/%.txt,$(wildcard misc/*.txt)) + $(patsubst %.txt,html/%.txt,$(wildcard misc/*.txt)) \ + html/hypercall/index.html DOC_TXT := $(patsubst %.txt,txt/%.txt,$(wildcard misc/*.txt)) \ $(patsubst %.markdown,txt/%.txt,$(DOC_MARKDOWN)) \ $(patsubst man/%.pod.1,txt/man/%.1.txt,$(DOC_MAN1SRC)) \ @@ -154,13 +155,15 @@ html/man/%.5.html: man/%.pod.5 Makefile $(POD2HTML) --infile=$< --outfile=$@.tmp $(call move-if-changed,$@.tmp,$@) -html/hypercall/stamp: +html/hypercall/index.html: ./xen-headers + rm -rf $(@D) @$(INSTALL_DIR) $(@D) ./xen-headers -O $(@D) \ -T 'arch-x86_64 - Xen public headers' \ -X arch-ia64 -X arch-x86_32 -X xen-x86_32 \ ../xen include/public include/xen/errno.h - touch $@ + +-include html/hypercall/.deps txt/%.txt: %.txt $(INSTALL_DIR) $(@D) diff --git a/docs/xen-headers b/docs/xen-headers index 5a62622a23..08fd7f3462 100755 --- a/docs/xen-headers +++ b/docs/xen-headers @@ -325,6 +325,12 @@ END } foreach $pass (qw(1 2)) { + my $depspath = "$outdir/.deps"; + my $depsout; + if ($pass==2) { + $depsout = new IO::File "$depspath.new", 'w' or die $!; + } + find({ wanted => sub { return unless m/\.h$/; @@ -341,11 +347,19 @@ foreach $pass (qw(1 2)) { $leaf_opath = $leaf; $leaf_opath =~ s#/#,#g; $leaf_opath .= ".html"; + print $depsout "$outdir/index.html: $File::Find::name\n" + or die $! + if $pass==2; process_file($File::Find::name, $outdir.'/'.$leaf_opath); }, no_chdir => 1, }, map { "$basedir/$_" } @indirs); + + if ($pass==2) { + close $depsout or die $!; + rename "$depspath.new", "$depspath" or die $!; + } } output_index(); -- cgit v1.2.3