source: doc/Makefile @ 240:3a201c5b385f

Last change on this file since 240:3a201c5b385f was 170:bb143a4ae70d, checked in by Ralph Meijer <ralphm@…>, 10 years ago

Add documentation using Sphinx and pydoctor, automate doc generation.

File size: 5.6 KB
Line 
1# Makefile for Sphinx documentation
2#
3
4# You can set these variables from the command line.
5SPHINXOPTS    =
6SPHINXBUILD   = sphinx-build
7PAPER         =
8BUILDDIR      = _build
9
10# Internal variables.
11PAPEROPT_a4     = -D latex_paper_size=a4
12PAPEROPT_letter = -D latex_paper_size=letter
13ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
14# the i18n builder cannot share the environment and doctrees with the others
15I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
16
17.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
18
19help:
20        @echo "Please use \`make <target>' where <target> is one of"
21        @echo "  html       to make standalone HTML files"
22        @echo "  dirhtml    to make HTML files named index.html in directories"
23        @echo "  singlehtml to make a single large HTML file"
24        @echo "  pickle     to make pickle files"
25        @echo "  json       to make JSON files"
26        @echo "  htmlhelp   to make HTML files and a HTML help project"
27        @echo "  qthelp     to make HTML files and a qthelp project"
28        @echo "  devhelp    to make HTML files and a Devhelp project"
29        @echo "  epub       to make an epub"
30        @echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
31        @echo "  latexpdf   to make LaTeX files and run them through pdflatex"
32        @echo "  text       to make text files"
33        @echo "  man        to make manual pages"
34        @echo "  texinfo    to make Texinfo files"
35        @echo "  info       to make Texinfo files and run them through makeinfo"
36        @echo "  gettext    to make PO message catalogs"
37        @echo "  changes    to make an overview of all changed/added/deprecated items"
38        @echo "  linkcheck  to check all external links for integrity"
39        @echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
40
41clean:
42        -rm -rf $(BUILDDIR)/*
43
44html:
45        $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
46        @echo
47        @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
48        # Copy examples into generated documentation for download.
49        -cp -p examples/*.tac examples/*.py $(BUILDDIR)/html/examples/
50        # Generate API documentation.
51        pydoctor -c wokkel.cfg
52
53dirhtml:
54        $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
55        @echo
56        @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
57
58singlehtml:
59        $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
60        @echo
61        @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
62
63pickle:
64        $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
65        @echo
66        @echo "Build finished; now you can process the pickle files."
67
68json:
69        $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
70        @echo
71        @echo "Build finished; now you can process the JSON files."
72
73htmlhelp:
74        $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
75        @echo
76        @echo "Build finished; now you can run HTML Help Workshop with the" \
77              ".hhp project file in $(BUILDDIR)/htmlhelp."
78
79qthelp:
80        $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
81        @echo
82        @echo "Build finished; now you can run "qcollectiongenerator" with the" \
83              ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
84        @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Wokkel.qhcp"
85        @echo "To view the help file:"
86        @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Wokkel.qhc"
87
88devhelp:
89        $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
90        @echo
91        @echo "Build finished."
92        @echo "To view the help file:"
93        @echo "# mkdir -p $$HOME/.local/share/devhelp/Wokkel"
94        @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Wokkel"
95        @echo "# devhelp"
96
97epub:
98        $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
99        @echo
100        @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
101
102latex:
103        $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
104        @echo
105        @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
106        @echo "Run \`make' in that directory to run these through (pdf)latex" \
107              "(use \`make latexpdf' here to do that automatically)."
108
109latexpdf:
110        $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
111        @echo "Running LaTeX files through pdflatex..."
112        $(MAKE) -C $(BUILDDIR)/latex all-pdf
113        @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
114
115text:
116        $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
117        @echo
118        @echo "Build finished. The text files are in $(BUILDDIR)/text."
119
120man:
121        $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
122        @echo
123        @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
124
125texinfo:
126        $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
127        @echo
128        @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
129        @echo "Run \`make' in that directory to run these through makeinfo" \
130              "(use \`make info' here to do that automatically)."
131
132info:
133        $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
134        @echo "Running Texinfo files through makeinfo..."
135        make -C $(BUILDDIR)/texinfo info
136        @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
137
138gettext:
139        $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
140        @echo
141        @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
142
143changes:
144        $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
145        @echo
146        @echo "The overview file is in $(BUILDDIR)/changes."
147
148linkcheck:
149        $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
150        @echo
151        @echo "Link check complete; look for any errors in the above output " \
152              "or in $(BUILDDIR)/linkcheck/output.txt."
153
154doctest:
155        $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
156        @echo "Testing of doctests in the sources finished, look at the " \
157              "results in $(BUILDDIR)/doctest/output.txt."
Note: See TracBrowser for help on using the repository browser.