patch by Thomas Dreibholz - ovs-vsctl and not ovs-ovsctl
[nodemanager.git] / doc / Makefile
index 0a90055..1c4a309 100644 (file)
@@ -4,24 +4,37 @@
 # 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 end
+all: NMAPI.html
+
+# XML - as opposed to SGML - requires an identifier - see 
+# http://www.docbook.org/tdg/en/html/appb.html
+# and, openjade opens http connections when using the official URL 
+# as an identifier; this is slow, and sometimes fails and breaks the build
+
+# locating locally installed docbook43 dtd - fedora-specific
+remote-docbook-43 = http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd
+local-docbook-43 = $(wildcard /usr/share/sgml/docbook/xml-dtd-4.3-*/docbookx.dtd)
+docbook-43=$(if $(local-docbook-43),$(local-docbook-43),$(remote-docbook-43))
+
+NMAPI.xml: NMAPI.xml.in
+       $(if $(local-docbook-43), \
+       echo Using locally installed DTD $(local-docbook-43), \
+       echo WARNING - could not locate local DTD - using remote $(remote-docbook-43))
+       sed -e s,@DOCBOOK-43@,$(docbook-43), $< > $@
 
 .NMAPI.xml.valid: Methods.xml
 
-Methods.xml: DocBook.py ../api_calls.py
-       PYTHONPATH=..:../../../PLCAPI python $< > $@
+NM_SOURCES = ../api_calls.py
+
+# path needs to mention PLCAPI/doc (for DocBook) and PLCAPI/ (for PLC.Parameter)
+Methods.xml: DocBookLocal.py $(NM_SOURCES)
+       PYTHONPATH=..:../../plcapi:../../plcapi/doc ./DocBookLocal.py > $@
 
 #
 # Documentation
 #
 
-# TODO: figure out where to put this command to strip out the unnecessary bits for PlanetLab Drupal page:
-end:
-       awk 'BEGIN { print "</DIV" } {n++; if ( n > 29 && $$0 != "></BODY" && $$0 != "></HTML" ) { print $$0 } }' NMAPI.html > out.html
-
 # Validate the XML
 .%.xml.valid: %.xml
        xmllint --valid --output $@ $<
@@ -44,6 +57,4 @@ $(foreach format,$(FORMATS),$(eval $(call docbook2,$(format))))
 clean:
        rm -f $(patsubst %,*.%,$(FORMATS)) .*.xml.valid Methods.xml
 
-force:
-
-.PHONY: force clean docclean
+.PHONY: clean all