mirror of
https://git.yoctoproject.org/poky
synced 2026-05-08 05:09:24 +00:00
a6fdddf8c4
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: a735549a764f7cfebdc7534761b4d75dc523371a) Signed-off-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Steve Sakoman <steve@sakoman.com>
72 lines
2.3 KiB
Makefile
72 lines
2.3 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
|
|
|
|
stylecheck:
|
|
vale sync
|
|
vale $(VALEOPTS) $(VALEDOCS)
|
|
|
|
sphinx-lint:
|
|
sphinx-lint $(SOURCEDIR)
|
|
|
|
epub: $(PNGs)
|
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
|
|
|
|
latexpdf: $(PDFs)
|
|
@$(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)
|