blob: 2d06cedd0be53447f0435c5cdfb651d8711d309c [file] [log] [blame]
# Makefile for VPP Test documentation
#
SPHINXOPTS =
SRC_DOC_DIR = $(TEST_DIR)/doc
SPHINXBUILD = sphinx-build
HTML_DOC_GEN_DIR = $(TEST_DOC_BR)/html
API_DOC_GEN_DIR = $(TEST_DOC_BR)/api
# Internal variables.
ALLSPHINXOPTS = -d $(TEST_DOC_BR)/.sphinx-cache $(SPHINXOPTS) $(API_DOC_GEN_DIR) -c $(SRC_DOC_DIR)
IN_VENV:=$(shell if pip -V | grep "venv" 2>&1 > /dev/null; then echo 1; else echo 0; fi)
.PHONY: verify-virtualenv
verify-virtualenv:
ifndef TEST_DIR
$(error TEST_DIR is not set)
endif
ifndef TEST_DOC_BR
$(error TEST_DOC_BR is not set)
endif
ifeq ($(IN_VENV),0)
$(error "Not running inside virtualenv (are you running 'make test-doc' from root?)")
endif
.PHONY: regen-api-doc
regen-api-doc: verify-virtualenv
@mkdir -p $(API_DOC_GEN_DIR)
@cp $(SRC_DOC_DIR)/index.rst $(API_DOC_GEN_DIR)
@cp $(SRC_DOC_DIR)/indices.rst $(API_DOC_GEN_DIR)
@cp $(SRC_DOC_DIR)/overview.rst $(API_DOC_GEN_DIR)
sphinx-apidoc -o $(API_DOC_GEN_DIR) -H "Module documentation" $(TEST_DIR)
.PHONY: html
html: regen-api-doc verify-virtualenv
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(HTML_DOC_GEN_DIR)