91 lines
2.4 KiB
ReStructuredText
91 lines
2.4 KiB
ReStructuredText
|
.. SPDX-License-Identifier: GPL-2.0+:
|
||
|
|
||
|
Building documentation
|
||
|
======================
|
||
|
|
||
|
The U-Boot documentation is based on the Sphinx documentation generator.
|
||
|
|
||
|
HTML documentation
|
||
|
------------------
|
||
|
|
||
|
The *htmldocs* target is used to build the HTML documentation. It uses the
|
||
|
`Read the Docs Sphinx theme <https://sphinx-rtd-theme.readthedocs.io/en/stable/>`_.
|
||
|
|
||
|
.. code-block:: bash
|
||
|
|
||
|
# Create Python environment 'myenv'
|
||
|
python3 -m venv myenv
|
||
|
# Activate the Python environment
|
||
|
. myenv/bin/activate
|
||
|
# Install build requirements
|
||
|
python3 -m pip install -r doc/sphinx/requirements.txt
|
||
|
# Build the documentation
|
||
|
make htmldocs
|
||
|
# Deactivate the Python environment
|
||
|
deactivate
|
||
|
# Display the documentation in a graphical web browser
|
||
|
x-www-browser doc/output/index.html
|
||
|
|
||
|
Infodoc documentation
|
||
|
---------------------
|
||
|
|
||
|
The *infodocs* target builds both a texinfo and an info file:
|
||
|
|
||
|
.. code-block:: bash
|
||
|
|
||
|
# Create Python environment 'myenv'
|
||
|
python3 -m venv myenv
|
||
|
# Activate the Python environment
|
||
|
. myenv/bin/activate
|
||
|
# Install build requirements
|
||
|
python3 -m pip install -r doc/sphinx/requirements.txt
|
||
|
# Build the documentation
|
||
|
make infodocs
|
||
|
# Deactivate the Python environment
|
||
|
deactivate
|
||
|
# Display the documentation
|
||
|
info doc/output/texinfo/u-boot.info
|
||
|
|
||
|
PDF documentation
|
||
|
-----------------
|
||
|
|
||
|
The *pdfdocs* target is meant to be used to build PDF documenation.
|
||
|
As v2023.01 it fails with 'LaTeX Error: Too deeply nested'.
|
||
|
|
||
|
We can use texi2pdf instead:
|
||
|
|
||
|
.. code-block:: bash
|
||
|
|
||
|
# Create Python environment 'myenv'
|
||
|
python3 -m venv myenv
|
||
|
# Activate the Python environment
|
||
|
. myenv/bin/activate
|
||
|
# Install build requirements
|
||
|
python3 -m pip install -r doc/sphinx/requirements.txt
|
||
|
# Build the documentation
|
||
|
make texinfodocs
|
||
|
# Deactivate the Python environment
|
||
|
deactivate
|
||
|
# Convert to PDF
|
||
|
texi2pdf doc/output/texinfo/u-boot.texi
|
||
|
|
||
|
Texinfo documentation
|
||
|
---------------------
|
||
|
|
||
|
To build only the texinfo documentation the *texinfodocs* target is used:
|
||
|
|
||
|
.. code-block:: bash
|
||
|
|
||
|
# Create Python environment 'myenv'
|
||
|
python3 -m venv myenv
|
||
|
# Activate the Python environment
|
||
|
. myenv/bin/activate
|
||
|
# Install build requirements
|
||
|
python3 -m pip install -r doc/sphinx/requirements.txt
|
||
|
# Build the documentation
|
||
|
make texinfodocs
|
||
|
# Deactivate the Python environment
|
||
|
deactivate
|
||
|
|
||
|
The output is in file *doc/output/texinfo/u-boot.texi*.
|