|
| 1 | +# -*- makefile -*- |
| 2 | +# Makefile for Sphinx documentation |
| 3 | +# |
| 4 | + |
| 5 | +# You can set these variables from the command line. |
| 6 | +SPHINXBUILD = sphinx-build |
| 7 | +SPHINXOPTS = |
| 8 | +PAPER = |
| 9 | +BUILDDIR = $(obj)/output |
| 10 | + |
| 11 | +# User-friendly check for sphinx-build |
| 12 | +HAVE_SPHINX := $(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi) |
| 13 | + |
| 14 | +ifeq ($(HAVE_SPHINX),0) |
| 15 | + |
| 16 | +.DEFAULT: |
| 17 | + $(warning The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed and in PATH, or set the SPHINXBUILD make variable to point to the full path of the '$(SPHINXBUILD)' executable.) |
| 18 | + @echo " SKIP Sphinx $@ target." |
| 19 | + |
| 20 | +else # HAVE_SPHINX |
| 21 | + |
| 22 | +# User-friendly check for rst2pdf |
| 23 | +HAVE_RST2PDF := $(shell if python -c "import rst2pdf" >/dev/null 2>&1; then echo 1; else echo 0; fi) |
| 24 | + |
| 25 | +# Internal variables. |
| 26 | +PAPEROPT_a4 = -D latex_paper_size=a4 |
| 27 | +PAPEROPT_letter = -D latex_paper_size=letter |
| 28 | +ALLSPHINXOPTS = -d $(BUILDDIR)/.doctrees $(PAPEROPT_$(PAPER)) -c $(srctree)/$(src) $(SPHINXOPTS) $(srctree)/$(src) |
| 29 | +# the i18n builder cannot share the environment and doctrees with the others |
| 30 | +I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . |
| 31 | + |
| 32 | +quiet_cmd_sphinx = SPHINX $@ |
| 33 | + cmd_sphinx = $(SPHINXBUILD) -b $2 $(ALLSPHINXOPTS) $(BUILDDIR)/$2 |
| 34 | + |
| 35 | +htmldocs: |
| 36 | + $(call cmd,sphinx,html) |
| 37 | + |
| 38 | +pdfdocs: |
| 39 | +ifeq ($(HAVE_RST2PDF),0) |
| 40 | + $(warning The Python 'rst2pdf' module was not found. Make sure you have the module installed to produce PDF output.) |
| 41 | + @echo " SKIP Sphinx $@ target." |
| 42 | +else # HAVE_RST2PDF |
| 43 | + $(call cmd,sphinx,pdf) |
| 44 | +endif # HAVE_RST2PDF |
| 45 | + |
| 46 | +epubdocs: |
| 47 | + $(call cmd,sphinx,epub) |
| 48 | + |
| 49 | +xmldocs: |
| 50 | + $(call cmd,sphinx,xml) |
| 51 | + |
| 52 | +# no-ops for the Sphinx toolchain |
| 53 | +sgmldocs: |
| 54 | +psdocs: |
| 55 | +mandocs: |
| 56 | +installmandocs: |
| 57 | + |
| 58 | +cleandocs: |
| 59 | + $(Q)rm -rf $(BUILDDIR) |
| 60 | + |
| 61 | +endif # HAVE_SPHINX |
0 commit comments