X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=doc%2FMakefile;h=508d3acc0bd682eac4b90a5fec61cdd768379fbe;hb=HEAD;hp=5a77386a5d359d13a7276c46b5e531935da1dfbc;hpb=ce636cdbf294ff68e3e0c6a539e8c6688936b6e5;p=plcapi.git diff --git a/doc/Makefile b/doc/Makefile index 5a77386..508d3ac 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -1,80 +1,59 @@ - -### USER EDITABLE VARS ### - -WEB=/var/www/xmlrpc/doc - -MKDIR=mkdir - -PHP=php - -FOP=fop - -PHPDOC=phpdoc - - -#### DO NOT TOUCH FROM HERE ONWARDS ### - -install: - ${MKDIR} -p ${WEB} - cp *.html ${WEB} - cp *.css ${WEB} - cp *.gif ${WEB} - @echo HTML version of the manual has been installed to ${WEB} - - -### the following targets are to be used for library development ### - -doc: out/index.html xmlrpc_php.pdf javadoc-out/index.html - -# tools currently used in building docs: php 5 with xsl extension, apache fop, phpdocumentor -# alternatives include doxygen, jade, saxon, xsltproc etc... - -out/index.html xmlrpc_php.pdf: xmlrpc_php.xml - -${MKDIR} out -# Jade cmd yet to be rebuilt, starting from xml file and putting output in ./out dir, e.g. -# jade -t xml -d custom.dsl xmlrpc_php.xml -# -# convertdoc command for xmlmind xxe editor -# convertdoc docb.toHTML xmlrpc_php.xml -u out -# -# saxon + xerces xml parser + saxon extensions + xslthl: adds a little syntax highligting -# (bold and italics only, no color) for php source examples... -# java \ -# -classpath c:\programmi\saxon\saxon.jar\;c:\programmi\saxon\xslthl.jar\;c:\programmi\xerces\xercesImpl.jar\;C:\htdocs\xmlrpc_cvs\docbook-xsl\extensions\saxon65.jar \ -# -Djavax.xml.parsers.DocumentBuilderFactory=org.apache.xerces.jaxp.DocumentBuilderFactoryImpl \ -# -Djavax.xml.parsers.SAXParserFactory=org.apache.xerces.jaxp.SAXParserFactoryImpl \ -# -Dxslthl.config=file:///c:/htdocs/xmlrpc_cvs/docbook-xsl/highlighting/xslthl-config.xml \ -# com.icl.saxon.StyleSheet -o xmlrpc_php.fo.xml xmlrpc_php.xml custom.fo.xsl use.extensions=1 -# -# custom php script that does the xslt magic - ${PHP} convert.php xmlrpc_php.xml custom.xsl out/ -# post process html files to highlight php code samples - ${PHP} highlight.php out -# convert to fo and then to pdf using apache fop - ${PHP} convert.php xmlrpc_php.xml custom.fo.xsl xmlrpc_php.fo.xml - ${FOP} xmlrpc_php.fo.xml xmlrpc_php.pdf -# -rm xmlrpc_php.fo.xml - -javadoc-out/index.html: ../lib/xmlrpc.inc ../lib/xmlrpcs.inc ../lib/xmlrpc_wrappers.inc -# generate docs out of javadoc via doxygen -# doxygen phpxmlrpc.dox -# -# generate docs out of javadoc via phpdocumentor - ${PHP} ${PHPDOC} -f ../lib/xmlrpc.inc,../lib/xmlrpcs.inc,../lib/xmlrpc_wrappers.inc -t javadoc-out --title PHP-XMLRPC - -rm -rf javadoc-out/phpdoc-cache-* - -dist: doc - ${MKDIR} -p ../xmlrpc-${VERSION}/doc - -cp out/*.html ../xmlrpc-${VERSION}/doc - -cp out/*.css ../xmlrpc-${VERSION}/doc - -cp out/*.gif ../xmlrpc-${VERSION}/doc - -cp out/*.pdf ../xmlrpc-${VERSION}/doc - cp xmlrpc_php.xml ../xmlrpc-${VERSION}/doc - cp xmlrpc_php.pdf ../xmlrpc-${VERSION}/doc - cp Makefile ../xmlrpc-${VERSION}/doc - -clean: - -rm -f out/*.html - -rm -rf javadoc-out - -rm xmlrpc_php.fo.xml - -rm xmlrpc_php.pdf +# +# (Re)builds API documentation +# +# Mark Huang +# Copyright (C) 2006 The Trustees of Princeton University +# + +all: PLCAPI.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)) + +PLCAPI.xml: PLCAPI.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)," $< > $@ + +.PLCAPI.xml.valid: Methods.xml + +API_SOURCES = ../PLC/__init__.py ../PLC/Methods/__init__.py + +Methods.xml: DocBook.py DocBookLocal.py $(API_SOURCES) + PYTHONPATH=.. ./DocBookLocal.py > $@ + +# +# 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 + +.PHONY: clean all