# Minimal makefile for Sphinx documentation
#
OPENPILOT_ROOT = ` git rev-parse --show-toplevel`
# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
DOCSDIR = " $( OPENPILOT_ROOT) /docs "
SOURCEDIR = " $( OPENPILOT_ROOT) /build/docs "
DOCSBUILDDIR = " $( OPENPILOT_ROOT) /build/docs "
BUILDDIR = " $( OPENPILOT_ROOT) /build "
# Put it first so that "make" without argument is like "make help".
help :
@$( SPHINXBUILD) -M help " $( SOURCEDIR) " " $( DOCSBUILDDIR) " $( SPHINXOPTS) $( O)
clean :
@echo "Cleaning build folder..."
rm -rf " $( BUILDDIR) "
.PHONY : help Makefile
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
% : Makefile
@echo "Cleaning build folder..."
rm -rf " $( BUILDDIR) "
mkdir -p " $( DOCSBUILDDIR) "
@echo "Copying docs & config to build folder..."
cp -a " $( DOCSDIR) " " $( BUILDDIR) "
cd " $( OPENPILOT_ROOT) " && \
find . -type f \( -name "*.md" -o -name "*.rst" -o -name "*.png" -o -name "*.jpg" -o -name "*.svg" \) \
-not -path "*/.*" \
-not -path "./build/*" \
-not -path "./docs/*" \
-not -path "./xx/*" \
-exec cp --parents "{}" ./build/docs/ \;
@echo "Building rst files..."
sphinx-apidoc -o " $( DOCSBUILDDIR) " ../ \
../xx ../laika_repo ../rednose_repo ../notebooks ../panda_jungle \
../third_party \
../panda/examples \
../scripts \
../selfdrive/modeld \
../selfdrive/debug \
$( shell find .. -type d -name "*test*" )
@echo "Building html files..."
@$( SPHINXBUILD) -M $@ " $( SOURCEDIR) " " $( DOCSBUILDDIR) " $( SPHINXOPTS) $( O)