[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH 4/4] 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 <ian.jackson@xxxxxxxxxxxxx>
---
 docs/Makefile    |    9 ++++++---
 docs/xen-headers |   14 ++++++++++++++
 2 files changed, 20 insertions(+), 3 deletions(-)

diff --git a/docs/Makefile b/docs/Makefile
index a2bbf2d..413c1a2 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -15,7 +15,8 @@ DOC_MARKDOWN  := $(wildcard misc/*.markdown)
 DOC_PS         := $(patsubst src/%.tex,ps/%.ps,$(DOC_TEX))
 DOC_PDF                := $(patsubst src/%.tex,pdf/%.pdf,$(DOC_TEX))
 DOC_HTML       := $(patsubst src/%.tex,html/%/index.html,$(DOC_TEX)) \
-                  $(patsubst %.markdown,html/%.html,$(DOC_MARKDOWN))
+                  $(patsubst %.markdown,html/%.html,$(DOC_MARKDOWN)) \
+                  html/hypercall/index.html
 DOC_TXT         := $(patsubst %.txt,txt/%.txt,$(wildcard misc/*.txt)) \
                   $(patsubst %.markdown,txt/%.txt,$(DOC_MARKDOWN))
 
@@ -129,13 +130,15 @@ html/%.html: %.markdown
        $(MARKDOWN) $< > $@.tmp ; \
        $(call move-if-changed,$@.tmp,$@) ; fi
 
-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 dcf673e..8226d73 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();
-- 
1.7.2.5


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.