blob: de4ce32170cd2065f55978d775f4c75049044068 [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
.PHONY: help dirhtml singlehtml epub latex man changes linkcheck doxygen
# You can set these variables from the command line.
PAPER = letter
BUILDDIR = docbuild
if BUILD_DOCS
SUBDIRS = uml
if BUILD_MANPAGES
man1_MANS = $(TS_MAN1_MANPAGES)
man3_MANS = $(TS_MAN3_MANPAGES)
man5_MANS = $(TS_MAN5_MANPAGES)
man8_MANS = $(TS_MAN8_MANPAGES)
$(man1_MANS) $(man3_MANS) $(man5_MANS) $(man8_MANS): man
# Hook the 'all' target so that the man pages get generated in the "all" target, prior
# to "make install". If we leave it to "make install" time, then the man pages are likely
# to me generated as root.
all-am: $(man1_MANS) $(man3_MANS) $(man5_MANS) $(man8_MANS)
endif # BUILD_MANPAGES
# [amc] LaTex apparently doesn't work as of Sphinx 1.6.1
# see https://media.readthedocs.org/pdf/sphinx/1.6.3/sphinx.pdf
# section 24.3.2 around page 247, third item for 'NotImplementedError', so this is kind of useless.
ALLSPHINXOPTS = $(SPHINXOPTS)
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(SPHINXOPTS)
# The PAPER setting variables requires recursive make variable expansion, which automake
# detects as non-portable. We bounce this through a shell script and do the expansion there.
SBUILD = PAPEROPT_a4="$(PAPEROPT_a4)" PAPEROPT_letter="$(PAPEROPT_letter)" PAPER="$(PAPER)" \
PLANTUML_JAR="$(shell $(srcdir)/ext/plantuml_fetch.sh | tail -1)" \
$(srcdir)/sbuild "$(SPHINXBUILD)" \
-c $(srcdir) \
$(ALLSPHINXOPTS)
html-local:
$(SBUILD) -d $(BUILDDIR)/doctrees -b html $(srcdir) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
dirhtml:
$(SBUILD) -d $(BUILDDIR)/doctrees -b dirhtml $(srcdir) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
singlehtml:
$(SBUILD) -d $(BUILDDIR)/doctrees -b singlehtml $(srcdir) $(BUILDDIR)/singlehtml
@echo
@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
epub:
$(SBUILD) -d $(BUILDDIR)/doctrees -b epub $(srcdir) $(BUILDDIR)/epub
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
latex:
$(SBUILD) -d $(BUILDDIR)/doctrees -b latex $(srcdir) $(BUILDDIR)/latex
@echo
@echo "Build finished. The epub file is in $(BUILDDIR)/latex."
man:
$(SBUILD) -d $(BUILDDIR)/doctrees -b man $(srcdir) $(BUILDDIR)/man
@echo
@echo "Build finished. The man pages are in $(BUILDDIR)/man."
changes:
@echo FIXME
linkcheck:
@echo FIXME
else # NOT BUILD_DOCS
html-local:
@echo "Documentation not enabled. See configure --enable-docs."
dirhtml:
@echo "Documentation not enabled. See configure --enable-docs."
singlehtml:
@echo "Documentation not enabled. See configure --enable-docs."
epub:
@echo "Documentation not enabled. See configure --enable-docs."
latex:
@echo "Documentation not enabled. See configure --enable-docs."
man:
@echo "Documentation not enabled. See configure --enable-docs."
changes:
@echo "Documentation not enabled. See configure --enable-docs."
linkcheck:
@echo "Documentation not enabled. See configure --enable-docs."
endif # BUILD_DOCS
clean-local:
-rm -rf $(BUILDDIR)/* _build/html/* xml
doxygen: Doxyfile
$(DOXYGEN)
help:
@echo "Please use \`make <target>' where <target> is one of"
@echo " html to make standalone HTML files"
@echo " dirhtml to make HTML files named index.html in directories"
@echo " singlehtml to make a single large HTML file"
@echo " epub to make an epub"
@echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
@echo " latexpdf to make LaTeX files and run them through pdflatex"
@echo " man to make manual pages"
@echo " changes to make an overview of all changed/added/deprecated items"
@echo " linkcheck to check all external links for integrity"