Makefile 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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)/wxgui_toolboxes
  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 := toolboxeshelp
  28. toolboxeshelp:
  29. @echo "Please use \`make <target>' where <target> is one of"
  30. @echo " toolboxeshtml to make standalone HTML files"
  31. @echo " toolboxesdirhtml to make HTML files named index.html in directories"
  32. @echo " toolboxessinglehtml to make a single large HTML file"
  33. @echo " toolboxesepub to make an epub"
  34. @echo " toolboxeslatex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
  35. @echo " toolboxeslatexpdf to make LaTeX files and run them through pdflatex"
  36. @echo " toolboxesman to make manual pages"
  37. @echo " toolboxesdoctest to run all doctests embedded in the documentation (if enabled)"
  38. toolboxesclean:
  39. -rm -rf $(BUILDDIR)
  40. -rm -f _templates/layout.html
  41. toolboxesapidoc:
  42. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  43. $(call run_grass,$(SPHINXAPIDOC) -T -f -o src/ ../../core/)
  44. toolboxeshtml:
  45. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  46. $(call run_grass,$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR_HTML))
  47. @echo
  48. @echo "Build finished. The HTML pages are in $(BUILDDIR_HTML)"
  49. toolboxesdirhtml:
  50. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  51. $(call run_grass,$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR_HTML))
  52. @echo
  53. @echo "Build finished. The HTML pages are in $(BUILDDIR_HTML)"
  54. toolboxessinglehtml:
  55. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  56. $(call run_grass,$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR_HTML))
  57. @echo
  58. @echo "Build finished. The HTML page is in $(BUILDDIR_HTML)"
  59. toolboxesepub:
  60. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  61. $(call run_grass,$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub)
  62. @echo
  63. @echo "Build finished. The epub file is in $(BUILDDIR)/epub/"
  64. toolboxeslatex:
  65. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  66. $(call run_grass,$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex)
  67. @echo
  68. @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
  69. @echo "Run \`make' in that directory to run these through (pdf)latex" \
  70. "(use \`make latexpdf' here to do that automatically)."
  71. toolboxeslatexpdf:
  72. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  73. $(call run_grass,$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex)
  74. @echo "Running LaTeX files through pdflatex..."
  75. $(MAKE) -C $(BUILDDIR)/latex all-pdf
  76. @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex/"
  77. toolboxesman:
  78. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  79. $(call run_grass,$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(MANDIR))
  80. @echo
  81. @echo "Build finished. The manual pages are in $(MANDIR)/"
  82. toolboxesdoctest:
  83. @echo "SPHINXBUILD: Using <$(SPHINXBUILD)>"
  84. $(call run_grass,$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest)
  85. @echo "Testing of doctests in the sources finished, look at the " \
  86. "results in $(BUILDDIR)/doctest/output.txt."
  87. clean: toolboxesclean