Makefile 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. # Makefile for Sphinx documentation
  2. #
  3. MODULE_TOPDIR=../../..
  4. include $(MODULE_TOPDIR)/include/Make/Vars.make
  5. include $(MODULE_TOPDIR)/include/Make/Rules.make
  6. PAPER =
  7. BUILDDIR = _build
  8. BUILDDIR_HTML = $(HTMLDIR)/libpython
  9. MYGISBASE = $(GISBASE)
  10. # Internal variables.
  11. PAPEROPT_a4 = -D latex_paper_size=a4
  12. PAPEROPT_letter = -D latex_paper_size=letter
  13. ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) -c . src/
  14. # the i18n builder cannot share the environment and doctrees with the others
  15. I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
  16. SPHINXBUILD = sphinx-build
  17. SPHINXAPIDOC = sphinx-apidoc
  18. # some distros come with a different name
  19. BUILD := $(type $(SPHINXBUILD) >/dev/null) || (SPHINXBUILD = sphinx-build2)
  20. APIDOC := $(type $(SPHINXAPIDOC) >/dev/null) || (SPHINXAPIDOC = sphinx-apidoc2)
  21. checksphinx:
  22. @echo "SPHINXBUILD: Found <$(SPHINXBUILD)>"
  23. @echo "SPHINXAPIDOC: Found <$(SPHINXAPIDOC)>"
  24. @(type $(SPHINXBUILD) > /dev/null || (echo "ERROR: Install 'sphinx-build' software first (get from http://sphinx-doc.org)" && exit 1))
  25. @(type $(SPHINXAPIDOC) > /dev/null || (echo "ERROR: Install 'sphinx-apidoc' software first (get from http://sphinx-doc.org)" && exit 1))
  26. .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp checksphinx libpythonapidoc libpythonclean libpythondirhtml libpythondoctest libpythonepub libpythonhelp libpythonhtml libpythonlatex libpythonlatexpdf libpythonman libpythonsinglehtml
  27. .DEFAULT_GOAL := libpythonhelp
  28. libpythonhelp:
  29. @echo "Please use \`make <target>' where <target> is one of"
  30. @echo " libpythonhtml to make standalone HTML files"
  31. @echo " libpythondirhtml to make HTML files named index.html in directories"
  32. @echo " libpythonsinglehtml to make a single large HTML file"
  33. @echo " libpythonepub to make an epub"
  34. @echo " libpythonlatex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
  35. @echo " libpythonlatexpdf to make LaTeX files and run them through pdflatex"
  36. @echo " libpythonman to make manual pages"
  37. @echo " libpythondoctest to run all doctests embedded in the documentation (if enabled)"
  38. libpythonclean:
  39. -rm -rf $(BUILDDIR)/*
  40. -rm -f _templates/layout.html
  41. -rm -f src/ctypes*.rst
  42. -rm -f src/exceptions.rst
  43. -rm -f src/gunittest.*rst
  44. -rm -f src/imaging.rst
  45. -rm -f src/pydispatch.rst
  46. -rm -f src/pygrass.*rst
  47. -rm -f src/script.rst
  48. -rm -f src/temporal.rst
  49. libpythonapidoc:
  50. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  51. $(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../imaging/)
  52. $(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../exceptions/)
  53. $(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../gunittest/)
  54. $(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../pydispatch/)
  55. $(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../pygrass/)
  56. $(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../script/)
  57. $(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../temporal/)
  58. libpythonhtml: checksphinx
  59. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  60. $(call run_grass,$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR_HTML))
  61. @echo
  62. @echo "Build finished. The HTML pages are in $(BUILDDIR_HTML)"
  63. libpythondirhtml:
  64. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  65. $(call run_grass,$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR_HTML))
  66. @echo
  67. @echo "Build finished. The HTML pages are in $(BUILDDIR_HTML)"
  68. libpythonsinglehtml:
  69. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  70. $(call run_grass,$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR_HTML))
  71. @echo
  72. @echo "Build finished. The HTML page is in $(BUILDDIR_HTML)"
  73. libpythonepub:
  74. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  75. $(call run_grass,$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub)
  76. @echo
  77. @echo "Build finished. The epub file is in $(BUILDDIR)/epub/"
  78. libpythonlatex:
  79. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  80. $(call run_grass,$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex)
  81. @echo
  82. @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
  83. @echo "Run \`make' in that directory to run these through (pdf)latex" \
  84. "(use \`make latexpdf' here to do that automatically)."
  85. libpythonlatexpdf:
  86. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  87. $(call run_grass,$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex)
  88. @echo "Running LaTeX files through pdflatex..."
  89. $(MAKE) -C $(BUILDDIR)/latex all-pdf
  90. @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex/"
  91. libpythonman:
  92. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  93. $(call run_grass,$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(MANDIR))
  94. @echo
  95. @echo "Build finished. The manual pages are in $(MANDIR)/"
  96. libpythondoctest:
  97. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  98. $(call run_grass,$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest)
  99. @echo "Testing of doctests in the sources finished, look at the " \
  100. "results in $(BUILDDIR)/doctest/output.txt."