mirror of
https://git.yoctoproject.org/poky
synced 2026-02-05 16:28:43 +01:00
Makes it possible to catch errors not reported by sphinx, such as idle spaces. After customization, this should be used to enforce our syntax conventions, such as two spaces after a "-" character to introduce a list item. Just run "make sphinx-lint". (From yocto-docs rev: 9e1aeeddca06cb7d65631010ba0eebdcd8ecf9ee) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
74 lines
2.4 KiB
Makefile
74 lines
2.4 KiB
Makefile
# Minimal makefile for Sphinx documentation
|
|
#
|
|
|
|
# You can set these variables from the command line, and also
|
|
# from the environment for the first two.
|
|
SPHINXOPTS ?= -W --keep-going -j auto
|
|
SPHINXBUILD ?= sphinx-build
|
|
# Release notes are excluded because they contain contributor names and commit messages which can't be modified
|
|
VALEOPTS ?= --no-wrap --glob '!migration-guides/release-notes-*.rst'
|
|
VALEDOCS ?= .
|
|
SOURCEDIR = .
|
|
IMAGEDIRS = */svg
|
|
BUILDDIR = _build
|
|
DESTDIR = final
|
|
SVG2PNG = inkscape
|
|
SVG2PDF = inkscape
|
|
|
|
ifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0)
|
|
$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed")
|
|
endif
|
|
|
|
# Put it first so that "make" without argument is like "make help".
|
|
help:
|
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
|
|
.PHONY: all help Makefile clean stylecheck publish epub latexpdf
|
|
|
|
publish: Makefile html singlehtml
|
|
rm -rf $(BUILDDIR)/$(DESTDIR)/
|
|
mkdir -p $(BUILDDIR)/$(DESTDIR)/
|
|
cp -r $(BUILDDIR)/html/* $(BUILDDIR)/$(DESTDIR)/
|
|
cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html
|
|
sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html
|
|
|
|
# Build a list of SVG files to convert to PDFs
|
|
PDFs := $(foreach dir, $(IMAGEDIRS), $(patsubst %.svg,%.pdf,$(wildcard $(SOURCEDIR)/$(dir)/*.svg)))
|
|
|
|
# Build a list of SVG files to convert to PNGs
|
|
PNGs := $(foreach dir, $(IMAGEDIRS), $(patsubst %.svg,%.png,$(wildcard $(SOURCEDIR)/$(dir)/*.svg)))
|
|
|
|
# Pattern rule for converting SVG to PDF
|
|
%.pdf : %.svg
|
|
$(SVG2PDF) --export-filename=$@ $<
|
|
|
|
# Pattern rule for converting SVG to PNG
|
|
%.png : %.svg
|
|
$(SVG2PNG) --export-filename=$@ $<
|
|
|
|
clean:
|
|
@rm -rf $(BUILDDIR) $(PNGs) $(PDFs) poky.yaml sphinx-static/switchers.js releases.rst
|
|
|
|
stylecheck:
|
|
vale sync
|
|
vale $(VALEOPTS) $(VALEDOCS)
|
|
|
|
sphinx-lint:
|
|
sphinx-lint $(SOURCEDIR)
|
|
|
|
epub: $(PNGs)
|
|
$(SOURCEDIR)/set_versions.py
|
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
|
|
latexpdf: $(PDFs)
|
|
$(SOURCEDIR)/set_versions.py
|
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
|
|
all: html epub latexpdf
|
|
|
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
|
|
%:
|
|
$(SOURCEDIR)/set_versions.py
|
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|