Skip to content
  • Jani Nikula's avatar
    Documentation/sphinx: add basic working Sphinx configuration and build · 22cba31b
    Jani Nikula authored
    
    
    Add basic configuration and makefile to build documentation from any
    .rst files under Documentation using Sphinx. For starters, there's just
    the placeholder index.rst.
    
    At the top level Makefile, hook Sphinx documentation targets alongside
    (but independent of) the DocBook toolchain, having both be run on the
    various 'make *docs' targets.
    
    All Sphinx processing is placed into Documentation/Makefile.sphinx. Both
    that and the Documentation/DocBook/Makefile are now expected to handle
    all the documentation targets, explicitly ignoring them if they're not
    relevant for that particular toolchain. The changes to the existing
    DocBook Makefile are kept minimal.
    
    There is graceful handling of missing Sphinx and rst2pdf (which is
    needed for pdf output) by checking for the tool and python module,
    respectively, with informative messages to the user.
    
    If the Read the Docs theme (sphinx_rtd_theme) is available, use it, but
    otherwise gracefully fall back to the Sphinx default theme, with an
    informative message to the user, and slightly less pretty HTML output.
    
    Sphinx can now handle htmldocs, pdfdocs (if rst2pdf is available),
    epubdocs and xmldocs targets. The output documents are written into per
    output type subdirectories under Documentation/output.
    
    Finally, you can pass options to sphinx-build using the SPHINXBUILD make
    variable. For example, 'make SPHINXOPTS=-v htmldocs' for more verbose
    output from Sphinx.
    
    This is based on the original work by Jonathan Corbet, but he probably
    wouldn't recognize this as his own anymore.
    
    Signed-off-by: default avatarJani Nikula <jani.nikula@intel.com>
    22cba31b