# Makefile for Sphinx documentation
#
# You can set these variables from the command line.
LOGFILE = sphinx.log
FULL_TRACEBACKS = -T
CPUS ?= 4
VERBOSITY ?= -v
FORCE_REBUILD = -a -E
NITPICK ?=
SPHINXOPTS = -j $( CPUS) -w $( LOGFILE) $( FULL_TRACEBACKS) $( FORCE_REBUILD) $( NITPICK) $( VERBOSITY)
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
RSTDIR = rst
MODULES_PATH = ../../lib
EXCLUDE_PATHS = ../../lib/ansible/modules ../../lib/ansible/utils/module_docs_fragments ../../lib/ansible/compat/six ../../lib/ansible/module_utils/six.py
DOC_PROJECTS = "Ansible API"
# User-friendly check for sphinx-build
i f e q ( $( shell which $ ( SPHINXBUILD ) >/dev /null 2>&1; echo $ $ ?) , 1 )
$(error The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http : //sphinx -doc .org /)
e n d i f
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size = a4
PAPEROPT_letter = -D latex_paper_size = letter
ALLSPHINXOPTS = -d $( BUILDDIR) /doctrees $( PAPEROPT_$( PAPER) ) $( SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $( PAPEROPT_$( PAPER) ) $( SPHINXOPTS) .
.PHONY : help
help :
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " pickle to make pickle files"
@echo " json to make JSON files"
@echo " htmlhelp to make HTML files and a HTML help project"
@echo " qthelp to make HTML files and a qthelp project"
@echo " applehelp to make an Apple Help Book"
@echo " devhelp to make HTML files and a Devhelp project"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
@echo " text to make text files"
@echo " man to make manual pages"
@echo " texinfo to make Texinfo files"
@echo " info to make Texinfo files and run them through makeinfo"
@echo " gettext to make PO message catalogs"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " xml to make Docutils-native XML files"
@echo " pseudoxml to make pseudoxml-XML files for display purposes"
@echo " linkcheck to check all external links for integrity"
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
@echo " coverage to run coverage check of the documentation (if enabled)"
.PHONY : clean
clean :
rm -rf $( BUILDDIR) /*
rm -rf $( RSTDIR) /*.rst
.PHONY : apidoc
apidoc :
sphinx-apidoc --module-first --doc-project $( DOC_PROJECT) --force --maxdepth 7 -o $( RSTDIR) $( MODULES_PATH) $( EXCLUDE_PATHS)
.PHONY : html
html :
$( SPHINXBUILD) -b html $( ALLSPHINXOPTS) $( BUILDDIR) /html
@echo
@echo " Build finished. The HTML pages are in $( BUILDDIR) /html. "
.PHONY : docs
docs : clean apidoc html
.PHONY : webdocs
webdocs : clean apidoc html
.PHONY : dirhtml
dirhtml :
$( SPHINXBUILD) -b dirhtml $( ALLSPHINXOPTS) $( BUILDDIR) /dirhtml
@echo
@echo " Build finished. The HTML pages are in $( BUILDDIR) /dirhtml. "
.PHONY : singlehtml
singlehtml :
$( SPHINXBUILD) -b singlehtml $( ALLSPHINXOPTS) $( BUILDDIR) /singlehtml
@echo
@echo " Build finished. The HTML page is in $( BUILDDIR) /singlehtml. "
.PHONY : pickle
pickle :
$( SPHINXBUILD) -b pickle $( ALLSPHINXOPTS) $( BUILDDIR) /pickle
@echo
@echo "Build finished; now you can process the pickle files."
.PHONY : json
json :
$( SPHINXBUILD) -b json $( ALLSPHINXOPTS) $( BUILDDIR) /json
@echo
@echo "Build finished; now you can process the JSON files."
.PHONY : htmlhelp
htmlhelp :
$( SPHINXBUILD) -b htmlhelp $( ALLSPHINXOPTS) $( BUILDDIR) /htmlhelp
@echo
@echo "Build finished; now you can run HTML Help Workshop with the" \
" .hhp project file in $( BUILDDIR) /htmlhelp. "
.PHONY : qthelp
qthelp :
$( SPHINXBUILD) -b qthelp $( ALLSPHINXOPTS) $( BUILDDIR) /qthelp
@echo
@echo "Build finished; now you can run " qcollectiongenerator" with the" \
" .qhcp project file in $( BUILDDIR) /qthelp, like this: "
@echo " # qcollectiongenerator $( BUILDDIR) /qthelp/Ansible.qhcp "
@echo "To view the help file:"
@echo " # assistant -collectionFile $( BUILDDIR) /qthelp/Ansible.qhc "
.PHONY : applehelp
applehelp :
$( SPHINXBUILD) -b applehelp $( ALLSPHINXOPTS) $( BUILDDIR) /applehelp
@echo
@echo " Build finished. The help book is in $( BUILDDIR) /applehelp. "
@echo "N.B. You won't be able to view it unless you put it in" \
"~/Library/Documentation/Help or install it in your application" \
"bundle."
.PHONY : devhelp
devhelp :
$( SPHINXBUILD) -b devhelp $( ALLSPHINXOPTS) $( BUILDDIR) /devhelp
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo " # mkdir -p $$ HOME/.local/share/devhelp/Ansible "
@echo " # ln -s $( BUILDDIR) /devhelp $$ HOME/.local/share/devhelp/Ansible "
@echo "# devhelp"
.PHONY : epub
epub :
$( SPHINXBUILD) -b epub $( ALLSPHINXOPTS) $( BUILDDIR) /epub
@echo
@echo " Build finished. The epub file is in $( BUILDDIR) /epub. "
.PHONY : latex
latex :
$( SPHINXBUILD) -b latex $( ALLSPHINXOPTS) $( BUILDDIR) /latex
@echo
@echo " Build finished; the LaTeX files are in $( BUILDDIR) /latex. "
@echo "Run \`make' in that directory to run these through (pdf)latex" \
"(use \`make latexpdf' here to do that automatically)."
.PHONY : latexpdf
latexpdf :
$( SPHINXBUILD) -b latex $( ALLSPHINXOPTS) $( BUILDDIR) /latex
@echo "Running LaTeX files through pdflatex..."
$( MAKE) -C $( BUILDDIR) /latex all-pdf
@echo " pdflatex finished; the PDF files are in $( BUILDDIR) /latex. "
.PHONY : latexpdfja
latexpdfja :
$( SPHINXBUILD) -b latex $( ALLSPHINXOPTS) $( BUILDDIR) /latex
@echo "Running LaTeX files through platex and dvipdfmx..."
$( MAKE) -C $( BUILDDIR) /latex all-pdf-ja
@echo " pdflatex finished; the PDF files are in $( BUILDDIR) /latex. "
.PHONY : text
text :
$( SPHINXBUILD) -b text $( ALLSPHINXOPTS) $( BUILDDIR) /text
@echo
@echo " Build finished. The text files are in $( BUILDDIR) /text. "
.PHONY : man
man :
$( SPHINXBUILD) -b man $( ALLSPHINXOPTS) $( BUILDDIR) /man
@echo
@echo " Build finished. The manual pages are in $( BUILDDIR) /man. "
.PHONY : texinfo
texinfo :
$( SPHINXBUILD) -b texinfo $( ALLSPHINXOPTS) $( BUILDDIR) /texinfo
@echo
@echo " Build finished. The Texinfo files are in $( BUILDDIR) /texinfo. "
@echo "Run \`make' in that directory to run these through makeinfo" \
"(use \`make info' here to do that automatically)."
.PHONY : info
info :
$( SPHINXBUILD) -b texinfo $( ALLSPHINXOPTS) $( BUILDDIR) /texinfo
@echo "Running Texinfo files through makeinfo..."
make -C $( BUILDDIR) /texinfo info
@echo " makeinfo finished; the Info files are in $( BUILDDIR) /texinfo. "
.PHONY : gettext
gettext :
$( SPHINXBUILD) -b gettext $( I18NSPHINXOPTS) $( BUILDDIR) /locale
@echo
@echo " Build finished. The message catalogs are in $( BUILDDIR) /locale. "
.PHONY : changes
changes :
$( SPHINXBUILD) -b changes $( ALLSPHINXOPTS) $( BUILDDIR) /changes
@echo
@echo " The overview file is in $( BUILDDIR) /changes. "
.PHONY : linkcheck
linkcheck :
$( SPHINXBUILD) -b linkcheck $( ALLSPHINXOPTS) $( BUILDDIR) /linkcheck
@echo
@echo "Link check complete; look for any errors in the above output " \
" or in $( BUILDDIR) /linkcheck/output.txt. "
.PHONY : doctest
doctest :
$( SPHINXBUILD) -b doctest $( ALLSPHINXOPTS) $( BUILDDIR) /doctest
@echo "Testing of doctests in the sources finished, look at the " \
" results in $( BUILDDIR) /doctest/output.txt. "
.PHONY : coverage
coverage :
$( SPHINXBUILD) -b coverage $( ALLSPHINXOPTS) $( BUILDDIR) /coverage
@echo "Testing of coverage in the sources finished, look at the " \
" results in $( BUILDDIR) /coverage/python.txt. "
.PHONY : xml
xml :
$( SPHINXBUILD) -b xml $( ALLSPHINXOPTS) $( BUILDDIR) /xml
@echo
@echo " Build finished. The XML files are in $( BUILDDIR) /xml. "
.PHONY : pseudoxml
pseudoxml :
$( SPHINXBUILD) -b pseudoxml $( ALLSPHINXOPTS) $( BUILDDIR) /pseudoxml
@echo
@echo " Build finished. The pseudo-XML files are in $( BUILDDIR) /pseudoxml. "