xref: /OK3568_Linux_fs/yocto/poky/documentation/Makefile (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun# Minimal makefile for Sphinx documentation
2*4882a593Smuzhiyun#
3*4882a593Smuzhiyun
4*4882a593Smuzhiyun# You can set these variables from the command line, and also
5*4882a593Smuzhiyun# from the environment for the first two.
6*4882a593SmuzhiyunSPHINXOPTS    ?= -W --keep-going -j auto
7*4882a593SmuzhiyunSPHINXBUILD   ?= sphinx-build
8*4882a593SmuzhiyunSOURCEDIR     = .
9*4882a593SmuzhiyunIMAGEDIRS     = */svg
10*4882a593SmuzhiyunBUILDDIR      = _build
11*4882a593SmuzhiyunDESTDIR       = final
12*4882a593SmuzhiyunSVG2PNG       = inkscape
13*4882a593SmuzhiyunSVG2PDF       = inkscape
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunifeq ($(shell if which $(SPHINXBUILD) >/dev/null 2>&1; then echo 1; else echo 0; fi),0)
16*4882a593Smuzhiyun$(error "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed")
17*4882a593Smuzhiyunendif
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun# Put it first so that "make" without argument is like "make help".
20*4882a593Smuzhiyunhelp:
21*4882a593Smuzhiyun	@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun.PHONY: all help Makefile clean publish epub latexpdf
24*4882a593Smuzhiyun
25*4882a593Smuzhiyunpublish: Makefile html singlehtml
26*4882a593Smuzhiyun	rm -rf $(BUILDDIR)/$(DESTDIR)/
27*4882a593Smuzhiyun	mkdir -p $(BUILDDIR)/$(DESTDIR)/
28*4882a593Smuzhiyun	cp -r $(BUILDDIR)/html/* $(BUILDDIR)/$(DESTDIR)/
29*4882a593Smuzhiyun	cp $(BUILDDIR)/singlehtml/index.html $(BUILDDIR)/$(DESTDIR)/singleindex.html
30*4882a593Smuzhiyun	sed -i -e 's@index.html#@singleindex.html#@g' $(BUILDDIR)/$(DESTDIR)/singleindex.html
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun# Build a list of SVG files to convert to PDFs
33*4882a593SmuzhiyunPDFs := $(foreach dir, $(IMAGEDIRS), $(patsubst %.svg,%.pdf,$(wildcard $(SOURCEDIR)/$(dir)/*.svg)))
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun# Build a list of SVG files to convert to PNGs
36*4882a593SmuzhiyunPNGs := $(foreach dir, $(IMAGEDIRS), $(patsubst %.svg,%.png,$(wildcard $(SOURCEDIR)/$(dir)/*.svg)))
37*4882a593Smuzhiyun
38*4882a593Smuzhiyun# Pattern rule for converting SVG to PDF
39*4882a593Smuzhiyun%.pdf : %.svg
40*4882a593Smuzhiyun	$(SVG2PDF) --export-filename=$@ $<
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun# Pattern rule for converting SVG to PNG
43*4882a593Smuzhiyun%.png : %.svg
44*4882a593Smuzhiyun	$(SVG2PNG) --export-filename=$@ $<
45*4882a593Smuzhiyun
46*4882a593Smuzhiyunclean:
47*4882a593Smuzhiyun	@rm -rf $(BUILDDIR) $(PNGs) $(PDFs) poky.yaml sphinx-static/switchers.js
48*4882a593Smuzhiyun
49*4882a593Smuzhiyunepub: $(PNGs)
50*4882a593Smuzhiyun	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
51*4882a593Smuzhiyun
52*4882a593Smuzhiyunlatexpdf: $(PDFs)
53*4882a593Smuzhiyun	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
54*4882a593Smuzhiyun
55*4882a593Smuzhiyunall: html epub latexpdf
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun# Catch-all target: route all unknown targets to Sphinx using the new
58*4882a593Smuzhiyun# "make mode" option.  $(O) is meant as a shortcut for $(SPHINXOPTS).
59*4882a593Smuzhiyun%:
60*4882a593Smuzhiyun	$(SOURCEDIR)/set_versions.py
61*4882a593Smuzhiyun	@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
62