1. # Makefile for Sphinx documentation
    
  2. #
    
  3. 
    
  4. # You can set these variables from the command line.
    
  5. PYTHON        ?= python
    
  6. SPHINXOPTS    ?=
    
  7. SPHINXBUILD   ?= sphinx-build
    
  8. PAPER         ?=
    
  9. BUILDDIR      ?= _build
    
  10. LANGUAGE      ?=
    
  11. 
    
  12. # Set the default language.
    
  13. ifndef LANGUAGE
    
  14. override LANGUAGE = en
    
  15. endif
    
  16. 
    
  17. # Convert something like "en_US" to "en", because Sphinx does not recognize
    
  18. # underscores. Country codes should be passed using a dash, e.g. "pt-BR".
    
  19. LANGUAGEOPT = $(firstword $(subst _, ,$(LANGUAGE)))
    
  20. 
    
  21. # Internal variables.
    
  22. PAPEROPT_a4     = -D latex_paper_size=a4
    
  23. PAPEROPT_letter = -D latex_paper_size=letter
    
  24. ALLSPHINXOPTS   = -n -d $(BUILDDIR)/doctrees -D language=$(LANGUAGEOPT) $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
    
  25. # the i18n builder cannot share the environment and doctrees with the others
    
  26. I18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
    
  27. 
    
  28. .PHONY: help clean html htmlview dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
    
  29. 
    
  30. help:
    
  31. 	@echo "Please use \`make <target>' where <target> is one of"
    
  32. 	@echo "  html       to make standalone HTML files"
    
  33. 	@echo "  htmlview   to open the index page built by the html target in your browser"
    
  34. 	@echo "  dirhtml    to make HTML files named index.html in directories"
    
  35. 	@echo "  singlehtml to make a single large HTML file"
    
  36. 	@echo "  pickle     to make pickle files"
    
  37. 	@echo "  json       to make JSON files"
    
  38. 	@echo "  htmlhelp   to make HTML files and a HTML help project"
    
  39. 	@echo "  qthelp     to make HTML files and a qthelp project"
    
  40. 	@echo "  devhelp    to make HTML files and a Devhelp project"
    
  41. 	@echo "  epub       to make an epub"
    
  42. 	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
    
  43. 	@echo "  latexpdf   to make LaTeX files and run them through pdflatex"
    
  44. 	@echo "  text       to make text files"
    
  45. 	@echo "  man        to make manual pages"
    
  46. 	@echo "  texinfo    to make a Texinfo source file"
    
  47. 	@echo "  gettext    to make PO message catalogs"
    
  48. 	@echo "  changes    to make an overview of all changed/added/deprecated items"
    
  49. 	@echo "  linkcheck  to check all external links for integrity"
    
  50. 	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)"
    
  51. 	@echo "  spelling   to check for typos in documentation"
    
  52. 
    
  53. 
    
  54. clean:
    
  55. 	-rm -rf $(BUILDDIR)/*
    
  56. 
    
  57. html:
    
  58. 	$(SPHINXBUILD) -b djangohtml $(ALLSPHINXOPTS) $(BUILDDIR)/html
    
  59. 	@echo
    
  60. 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
    
  61. 
    
  62. htmlview: html
    
  63. 	$(PYTHON) -c "import webbrowser; webbrowser.open('_build/html/index.html')"
    
  64. 
    
  65. dirhtml:
    
  66. 	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
    
  67. 	@echo
    
  68. 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
    
  69. 
    
  70. singlehtml:
    
  71. 	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
    
  72. 	@echo
    
  73. 	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
    
  74. 
    
  75. pickle:
    
  76. 	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
    
  77. 	@echo
    
  78. 	@echo "Build finished; now you can process the pickle files."
    
  79. 
    
  80. json:
    
  81. 	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
    
  82. 	@echo
    
  83. 	@echo "Build finished; now you can process the JSON files."
    
  84. 
    
  85. htmlhelp:
    
  86. 	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
    
  87. 	@echo
    
  88. 	@echo "Build finished; now you can run HTML Help Workshop with the" \
    
  89. 	      ".hhp project file in $(BUILDDIR)/htmlhelp."
    
  90. 
    
  91. qthelp:
    
  92. 	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
    
  93. 	@echo
    
  94. 	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
    
  95. 	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
    
  96. 	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/django.qhcp"
    
  97. 	@echo "To view the help file:"
    
  98. 	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/django.qhc"
    
  99. 
    
  100. devhelp:
    
  101. 	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
    
  102. 	@echo
    
  103. 	@echo "Build finished."
    
  104. 	@echo "To view the help file:"
    
  105. 	@echo "# mkdir -p $$HOME/.local/share/devhelp/django"
    
  106. 	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/django"
    
  107. 	@echo "# devhelp"
    
  108. 
    
  109. epub:
    
  110. 	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
    
  111. 	@echo
    
  112. 	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
    
  113. 
    
  114. latex:
    
  115. 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
    
  116. 	@echo
    
  117. 	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
    
  118. 	@echo "Run \`make' in that directory to run these through (pdf)latex" \
    
  119. 	      "(use \`make latexpdf' here to do that automatically)."
    
  120. 
    
  121. latexpdf:
    
  122. 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
    
  123. 	@echo "Running LaTeX files through pdflatex..."
    
  124. 	make -C $(BUILDDIR)/latex all-pdf
    
  125. 	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
    
  126. 
    
  127. text:
    
  128. 	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
    
  129. 	@echo
    
  130. 	@echo "Build finished. The text files are in $(BUILDDIR)/text."
    
  131. 
    
  132. man:
    
  133. 	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
    
  134. 	@echo
    
  135. 	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
    
  136. 
    
  137. texinfo:
    
  138. 	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
    
  139. 	@echo
    
  140. 	@echo "Build finished; the Texinfo files are in $(BUILDDIR)/texinfo."
    
  141. 
    
  142. gettext:
    
  143. 	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
    
  144. 	@echo
    
  145. 	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
    
  146. 
    
  147. changes:
    
  148. 	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
    
  149. 	@echo
    
  150. 	@echo "The overview file is in $(BUILDDIR)/changes."
    
  151. 
    
  152. linkcheck:
    
  153. 	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
    
  154. 	@echo
    
  155. 	@echo "Link check complete; look for any errors in the above output " \
    
  156. 	      "or in $(BUILDDIR)/linkcheck/output.txt."
    
  157. 
    
  158. doctest:
    
  159. 	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
    
  160. 	@echo "Testing of doctests in the sources finished, look at the " \
    
  161. 	      "results in $(BUILDDIR)/doctest/output.txt."
    
  162. 
    
  163. spelling:
    
  164. 	$(SPHINXBUILD) -b spelling $(ALLSPHINXOPTS) $(BUILDDIR)/spelling
    
  165. 	@echo
    
  166. 	@echo "Check finished. Wrong words can be found in " \
    
  167. 		"$(BUILDDIR)/spelling/output.txt."