adding docbook definitions for NodeManager. Currently, 'DocBook.py' is a copy
[nodemanager.git] / doc / Makefile
diff --git a/doc/Makefile b/doc/Makefile
new file mode 100644 (file)
index 0000000..4308fac
--- /dev/null
@@ -0,0 +1,45 @@
+#
+# (Re)builds API documentation
+#
+# Mark Huang <mlhuang@cs.princeton.edu>
+# Copyright (C) 2006 The Trustees of Princeton University
+#
+# $Id: Makefile,v 1.2 2006/11/03 20:36:05 thierry Exp $
+#
+
+all: NMAPI.html
+
+.NMAPI.xml.valid: Methods.xml
+
+Methods.xml: DocBook.py ../api_calls.py
+       PYTHONPATH=..:../../PLCAPI python $< > $@
+
+#
+# Documentation
+#
+
+# Validate the XML
+.%.xml.valid: %.xml
+       xmllint --valid --output $@ $<
+
+# Remove the temporary output file after compilation
+.SECONDARY: .%.xml.valid
+
+# Compile it into other formats
+FORMATS := dvi html man ps pdf rtf tex texi txt
+
+DOCBOOK2FLAGS := -V biblio-number=1
+
+define docbook2
+%.$(1): %.xml .%.xml.valid
+       docbook2$(1) --nochunks $$(DOCBOOK2FLAGS) $$<
+endef
+
+$(foreach format,$(FORMATS),$(eval $(call docbook2,$(format))))
+
+clean:
+       rm -f $(patsubst %,*.%,$(FORMATS)) .*.xml.valid Methods.xml
+
+force:
+
+.PHONY: force clean docclean