# Makefile for documentation # This makefile is a modified version of the makefile generated by the sphinx-quickstart command # set environment for Diamond Light Source ifeq ($(CONTEXT),diamond) @echo "Environment variable CONTEXT=diamond, so setting build environment suitable for Diamond Light Source" # get the location of a Python that has Sphinx installed SPHINXBUILD?=$(shell module load python/2.7.2;which sphinx-build) # set http proxy export http_proxy?=http://wwwcache.rl.ac.uk:8080 export https_proxy?=https://wwwcache.rl.ac.uk:8080 endif # optionally use Sphinx's "-W" options, which converts warnings into errors ifeq ($(HALTONWARNING),y) SPHINXEXTRAOPT=-W else ifeq ($(HALTONWARNING),Y) SPHINXEXTRAOPT=-W else SPHINXEXTRAOPT= endif ### <-- start of Makefile contents generated by sphinx-quickstart --> ### # You can set these variables from the command line. SPHINXOPTS ?= SPHINXBUILD ?= sphinx-build PAPER ?= BUILDDIR ?= build # Internal variables. PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXEXTRAOPT) $(SPHINXOPTS) source .PHONY: help helpfull pwd clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest pdfa4 pdfletter pdf all help: @echo @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " pdf to create pdf files for both A4- and Letter-sized paper" @echo " pdfa4 to create pdf files for A4-sized paper" @echo " pdfletter to create pdf files for Letter-sized paper" @echo " all to build html and pdf" @echo " clean to wipe the build directory" @echo @echo "You can use \`make helpfull' to get a full list of targets (not all have been tested)" helpfull: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @echo " dirhtml to make HTML files named index.html in directories" @echo " singlehtml to make a single large HTML file" @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 " devhelp to make HTML files and a Devhelp project" @echo " epub to make an epub" @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" @echo " latexpdf to make LaTeX files and run them through pdflatex" @echo " text to make text files" @echo " man to make manual pages" @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)" pwd: @echo @echo "*******************************************************************************************************" @echo "Current directory = "`pwd` @echo "*******************************************************************************************************" clean: pwd -rm -rf $(BUILDDIR)/* html: pwd $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(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." singlehtml: $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." 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." 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/GDA.qhcp" @echo "To view the help file:" @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/GDA.qhc" devhelp: $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @echo "To view the help file:" @echo "# mkdir -p $$HOME/.local/share/devhelp/GDA" @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/GDA" @echo "# devhelp" epub: $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." latex: pwd $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." latexpdf: pwd $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." make -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." text: $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." man: $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." 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." ### <-- end of Makefile contents generated by sphinx-quickstart --> ### pdfa4: pwd rm -rf $(BUILDDIR)/latex rm -rf $(BUILDDIR)/pdf-a4 make latexpdf PAPER=a4 mkdir $(BUILDDIR)/pdf-a4/ cp $(BUILDDIR)/latex/*.pdf $(BUILDDIR)/pdf-a4/. @echo @echo "Build finished for A4-sized PDFs. The PDF files are in $(BUILDDIR)/pdf-a4." pdfletter: pwd rm -rf $(BUILDDIR)/latex rm -rf $(BUILDDIR)/pdf-letter make latexpdf PAPER=letter mkdir $(BUILDDIR)/pdf-letter/ cp $(BUILDDIR)/latex/*.pdf $(BUILDDIR)/pdf-letter/. @echo @echo "Build finished for Letter-sized PDFs. The PDF files are in $(BUILDDIR)/pdf-letter." pdf: pwd pdfa4 pdfletter all: pwd html pdf