# Makefile for Sphinx documentation # # You can set these variables from the command line. SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = $(CURDIR)/build GRAPHVIZ ?= /usr/bin/dot JAVA = /usr/bin/java XSLTPROC = /usr/bin/xsltproc PYTHON = /usr/bin/python PLANTUMLCONF = $(CURDIR)/tools/docutils/plantuml.conf PLANTUML = $(JAVA) -jar "$(CURDIR)/tools/docutils/plantuml.jar" DOCGENERATOR = $(PYTHON) "$(CURDIR)/tools/ihwd/ihwd.py" METHODXLS = MethodCrossReference.xls ZIPHTML = architecture.zip SCHEMADIR = source/D1_SCHEMA_DEV SCHEMAFILE1 = $(SCHEMADIR)/dataoneTypes.xsd SCHEMAFILE11 = $(SCHEMADIR)/dataoneTypes_v1.1.xsd SCHEMAFILE2 = $(SCHEMADIR)/dataoneTypes_v2.0.xsd XSD2RST = tools/xsd2rst #SCHEMADIR = /Users/vieglais/Workspaces/DataONE_trunk/d1_schemas # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d "$(BUILDDIR)/doctrees" $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source .PHONY: help clean html dirhtml pickle json htmlhelp qthelp latex changes linkcheck doctest pdf help: @echo "Please use \`make ' where is one of" @echo " generate to generate doc files from spreadsheet and schema" @echo " plantuml to make PlantUML diagrams" @echo " html to make standalone HTML files" @echo " all Run generate, plantuml, and html to make standalone HTML files" @echo " epub to make ePub document" @echo " dirhtml to make HTML files named index.html in directories" @echo " pickle to make pickle files" @echo " json to make JSON files" @echo " htmlhelp to make HTML files and a HTML help project" @echo " qthelp to make HTML files and a qthelp project" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " changes to make an overview of all changed/added/deprecated items" @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" @echo " pdf to make PDF files" clean: -rm -rf "$(BUILDDIR)" livehtml: sphinx-autobuild -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html all: generate plantuml html generate: generate_types generate_methods generate_methods: $(METHODXLS) $(DOCGENERATOR) -s "$(CURDIR)/$(METHODXLS)" -d "$(CURDIR)/source/apis/generated" generate_types: $(XSLTPROC) --path ".:$(SCHEMADIR):$(XSD2RST)" dataoneTypes2rst.xsl $(SCHEMAFILE1) > "$(CURDIR)/source/apis/Types.txt" $(XSLTPROC) --path ".:$(SCHEMADIR):$(XSD2RST)" dataoneTypes2rst.xsl $(SCHEMAFILE11) > "$(CURDIR)/source/apis/Types11.txt" $(XSLTPROC) --path ".:$(SCHEMADIR):$(XSD2RST)" dataoneTypes2rst.xsl $(SCHEMAFILE2) > "$(CURDIR)/source/apis/Types2.txt" plantuml: plantuml_source plantuml_usecase plantuml_types plantuml_morpho plantuml_source: GRAPHVIZ_DOT=$(GRAPHVIZ) $(PLANTUML) "$(CURDIR)/source" "$(CURDIR)/source/design" plantuml_usecase: GRAPHVIZ_DOT=$(GRAPHVIZ) $(PLANTUML) "$(CURDIR)/source/design/UseCases/uml/*.uml" plantuml_types: GRAPHVIZ_DOT=$(GRAPHVIZ) $(PLANTUML) "$(CURDIR)/source/apis" plantuml_morpho: GRAPHVIZ_DOT=$(GRAPHVIZ) $(PLANTUML) "$(CURDIR)/source/design/morpho" html: $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) "$(BUILDDIR)/html" #zip -r $(BUILDDIR)/$(ZIPHTML) $(BUILDDIR)/html #mv $(BUILDDIR)/$(ZIPHTML) $(BUILDDIR)/html/ @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." dirhtml: $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) "$(BUILDDIR)/dirhtml" @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." pickle: $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) "$(BUILDDIR)/pickle" @echo @echo "Build finished; now you can process the pickle files." json: $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) "$(BUILDDIR)/json" @echo @echo "Build finished; now you can process the JSON files." pdf: $(SPHINXBUILD) -b pdf $(ALLSPHINXOPTS) "$(BUILDDIR)/pdf" @echo @echo "Build finished. The PDF files are in $(BUILDDIR)/pdf." htmlhelp: $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) "$(BUILDDIR)/htmlhelp" @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." qthelp: $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) "$(BUILDDIR)/qthelp" @echo @echo "Build finished; now you can run "qcollectiongenerator" with the" \ ".qhcp project file in $(BUILDDIR)/qthelp, like this:" @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/DataONEArchitecture.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/DataONEArchitecture.qhc" latex: $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) "$(BUILDDIR)/latex" @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make all-pdf' or \`make all-ps' in that directory to" \ "run these through (pdf)latex." changes: $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) "$(BUILDDIR)/changes" @echo @echo "The overview file is in $(BUILDDIR)/changes." linkcheck: $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) "$(BUILDDIR)/linkcheck" @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." doctest: $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) "$(BUILDDIR)/doctest" @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) "$(BUILDDIR)/epub" @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub."