|  | 
| 1 |  | -# Makefile for Sphinx documentation | 
|  | 1 | +# Minimal makefile for Sphinx documentation | 
| 2 | 2 | # | 
| 3 | 3 | 
 | 
| 4 |  | -# You can set these variables from the command line. | 
| 5 |  | -SPHINXOPTS    = | 
| 6 |  | -SPHINXBUILD   = sphinx-build | 
| 7 |  | -PAPER         = | 
|  | 4 | +# You can set these variables from the command line, and also | 
|  | 5 | +# from the environment for the first two. | 
|  | 6 | +SPHINXOPTS    ?= | 
|  | 7 | +SPHINXBUILD   ?= sphinx-build | 
|  | 8 | +SOURCEDIR     = source | 
| 8 | 9 | BUILDDIR      = build | 
|  | 10 | +AUTOSUMMARYDIR = source/api/_autosummary | 
| 9 | 11 | 
 | 
| 10 |  | -# User-friendly check for sphinx-build | 
| 11 |  | -ifeq ($(shell which $(SPHINXBUILD) >/dev/null 2>&1; echo $$?), 1) | 
| 12 |  | -$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/) | 
| 13 |  | -endif | 
| 14 |  | - | 
| 15 |  | -# Internal variables. | 
| 16 |  | -PAPEROPT_a4     = -D latex_paper_size=a4 | 
| 17 |  | -PAPEROPT_letter = -D latex_paper_size=letter | 
| 18 |  | -ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source | 
| 19 |  | -# the i18n builder cannot share the environment and doctrees with the others | 
| 20 |  | -I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source | 
| 21 |  | - | 
| 22 |  | -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest coverage gettext | 
| 23 |  | - | 
|  | 12 | +# Put it first so that "make" without argument is like "make help". | 
| 24 | 13 | help: | 
| 25 |  | -	@echo "Please use \`make <target>' where <target> is one of" | 
| 26 |  | -	@echo "  html       to make standalone HTML files" | 
| 27 |  | -	@echo "  dirhtml    to make HTML files named index.html in directories" | 
| 28 |  | -	@echo "  singlehtml to make a single large HTML file" | 
| 29 |  | -	@echo "  pickle     to make pickle files" | 
| 30 |  | -	@echo "  json       to make JSON files" | 
| 31 |  | -	@echo "  htmlhelp   to make HTML files and a HTML help project" | 
| 32 |  | -	@echo "  qthelp     to make HTML files and a qthelp project" | 
| 33 |  | -	@echo "  devhelp    to make HTML files and a Devhelp project" | 
| 34 |  | -	@echo "  epub       to make an epub" | 
| 35 |  | -	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter" | 
| 36 |  | -	@echo "  latexpdf   to make LaTeX files and run them through pdflatex" | 
| 37 |  | -	@echo "  latexpdfja to make LaTeX files and run them through platex/dvipdfmx" | 
| 38 |  | -	@echo "  text       to make text files" | 
| 39 |  | -	@echo "  man        to make manual pages" | 
| 40 |  | -	@echo "  texinfo    to make Texinfo files" | 
| 41 |  | -	@echo "  info       to make Texinfo files and run them through makeinfo" | 
| 42 |  | -	@echo "  gettext    to make PO message catalogs" | 
| 43 |  | -	@echo "  changes    to make an overview of all changed/added/deprecated items" | 
| 44 |  | -	@echo "  xml        to make Docutils-native XML files" | 
| 45 |  | -	@echo "  pseudoxml  to make pseudoxml-XML files for display purposes" | 
| 46 |  | -	@echo "  linkcheck  to check all external links for integrity" | 
| 47 |  | -	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)" | 
| 48 |  | -	@echo "  coverage   to run coverage check of the documentation (if enabled)" | 
|  | 14 | +	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | 
| 49 | 15 | 
 | 
| 50 | 16 | clean: | 
| 51 |  | -	rm -rf $(BUILDDIR)/* | 
| 52 |  | - | 
| 53 |  | -html: | 
| 54 |  | -	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html | 
| 55 |  | -	@echo | 
| 56 |  | -	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html." | 
| 57 |  | - | 
| 58 |  | -dirhtml: | 
| 59 |  | -	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml | 
| 60 |  | -	@echo | 
| 61 |  | -	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." | 
| 62 |  | - | 
| 63 |  | -singlehtml: | 
| 64 |  | -	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml | 
| 65 |  | -	@echo | 
| 66 |  | -	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." | 
| 67 |  | - | 
| 68 |  | -pickle: | 
| 69 |  | -	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle | 
| 70 |  | -	@echo | 
| 71 |  | -	@echo "Build finished; now you can process the pickle files." | 
| 72 |  | - | 
| 73 |  | -json: | 
| 74 |  | -	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json | 
| 75 |  | -	@echo | 
| 76 |  | -	@echo "Build finished; now you can process the JSON files." | 
| 77 |  | - | 
| 78 |  | -htmlhelp: | 
| 79 |  | -	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp | 
| 80 |  | -	@echo | 
| 81 |  | -	@echo "Build finished; now you can run HTML Help Workshop with the" \ | 
| 82 |  | -	      ".hhp project file in $(BUILDDIR)/htmlhelp." | 
| 83 |  | - | 
| 84 |  | -qthelp: | 
| 85 |  | -	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp | 
| 86 |  | -	@echo | 
| 87 |  | -	@echo "Build finished; now you can run "qcollectiongenerator" with the" \ | 
| 88 |  | -	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:" | 
| 89 |  | -	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/labscript.qhcp" | 
| 90 |  | -	@echo "To view the help file:" | 
| 91 |  | -	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/labscript.qhc" | 
| 92 |  | - | 
| 93 |  | -devhelp: | 
| 94 |  | -	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp | 
| 95 |  | -	@echo | 
| 96 |  | -	@echo "Build finished." | 
| 97 |  | -	@echo "To view the help file:" | 
| 98 |  | -	@echo "# mkdir -p $$HOME/.local/share/devhelp/labscript" | 
| 99 |  | -	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/labscript" | 
| 100 |  | -	@echo "# devhelp" | 
| 101 |  | - | 
| 102 |  | -epub: | 
| 103 |  | -	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub | 
| 104 |  | -	@echo | 
| 105 |  | -	@echo "Build finished. The epub file is in $(BUILDDIR)/epub." | 
| 106 |  | - | 
| 107 |  | -latex: | 
| 108 |  | -	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex | 
| 109 |  | -	@echo | 
| 110 |  | -	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." | 
| 111 |  | -	@echo "Run \`make' in that directory to run these through (pdf)latex" \ | 
| 112 |  | -	      "(use \`make latexpdf' here to do that automatically)." | 
| 113 |  | - | 
| 114 |  | -latexpdf: | 
| 115 |  | -	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex | 
| 116 |  | -	@echo "Running LaTeX files through pdflatex..." | 
| 117 |  | -	$(MAKE) -C $(BUILDDIR)/latex all-pdf | 
| 118 |  | -	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." | 
| 119 |  | - | 
| 120 |  | -latexpdfja: | 
| 121 |  | -	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex | 
| 122 |  | -	@echo "Running LaTeX files through platex and dvipdfmx..." | 
| 123 |  | -	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja | 
| 124 |  | -	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." | 
| 125 |  | - | 
| 126 |  | -text: | 
| 127 |  | -	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text | 
| 128 |  | -	@echo | 
| 129 |  | -	@echo "Build finished. The text files are in $(BUILDDIR)/text." | 
| 130 |  | - | 
| 131 |  | -man: | 
| 132 |  | -	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man | 
| 133 |  | -	@echo | 
| 134 |  | -	@echo "Build finished. The manual pages are in $(BUILDDIR)/man." | 
| 135 |  | - | 
| 136 |  | -texinfo: | 
| 137 |  | -	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo | 
| 138 |  | -	@echo | 
| 139 |  | -	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." | 
| 140 |  | -	@echo "Run \`make' in that directory to run these through makeinfo" \ | 
| 141 |  | -	      "(use \`make info' here to do that automatically)." | 
| 142 |  | - | 
| 143 |  | -info: | 
| 144 |  | -	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo | 
| 145 |  | -	@echo "Running Texinfo files through makeinfo..." | 
| 146 |  | -	make -C $(BUILDDIR)/texinfo info | 
| 147 |  | -	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." | 
| 148 |  | - | 
| 149 |  | -gettext: | 
| 150 |  | -	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale | 
| 151 |  | -	@echo | 
| 152 |  | -	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." | 
| 153 |  | - | 
| 154 |  | -changes: | 
| 155 |  | -	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes | 
| 156 |  | -	@echo | 
| 157 |  | -	@echo "The overview file is in $(BUILDDIR)/changes." | 
| 158 |  | - | 
| 159 |  | -linkcheck: | 
| 160 |  | -	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck | 
| 161 |  | -	@echo | 
| 162 |  | -	@echo "Link check complete; look for any errors in the above output " \ | 
| 163 |  | -	      "or in $(BUILDDIR)/linkcheck/output.txt." | 
| 164 |  | - | 
| 165 |  | -doctest: | 
| 166 |  | -	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest | 
| 167 |  | -	@echo "Testing of doctests in the sources finished, look at the " \ | 
| 168 |  | -	      "results in $(BUILDDIR)/doctest/output.txt." | 
| 169 |  | - | 
| 170 |  | -coverage: | 
| 171 |  | -	$(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage | 
| 172 |  | -	@echo "Testing of coverage in the sources finished, look at the " \ | 
| 173 |  | -	      "results in $(BUILDDIR)/coverage/python.txt." | 
|  | 17 | +	@echo "Removing autosummary directory" | 
|  | 18 | +	@rm -rf $(AUTOSUMMARYDIR) | 
|  | 19 | +	@$(SPHINXBUILD) -M clean "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | 
| 174 | 20 | 
 | 
| 175 |  | -xml: | 
| 176 |  | -	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml | 
| 177 |  | -	@echo | 
| 178 |  | -	@echo "Build finished. The XML files are in $(BUILDDIR)/xml." | 
|  | 21 | +.PHONY: help clean Makefile | 
| 179 | 22 | 
 | 
| 180 |  | -pseudoxml: | 
| 181 |  | -	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml | 
| 182 |  | -	@echo | 
| 183 |  | -	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml." | 
|  | 23 | +# Catch-all target: route all unknown targets to Sphinx using the new | 
|  | 24 | +# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS). | 
|  | 25 | +%: Makefile | 
|  | 26 | +	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | 
0 commit comments