mirror of
https://github.com/projectacrn/acrn-hypervisor.git
synced 2025-05-30 10:55:27 +00:00
The genrest.py script (used to generate config documentation from the Kconfig files) broke when upgrading to the latest kconfiglib (10.9.1). Copied the latest genrest.py script from the Zephyr project (where this script and processing was developed) and things work again. Update Makefile's call to genrest.py (toplevel Kconfig path is now found relative to the srctree. Update requirements.txt to match the kconfiglib version family verified to work. fixes: #1387 Signed-off-by: David B. Kinder <david.b.kinder@intel.com> Documentation scripts: enhance 'show-versions.py' Modify the doc/scripts/show-versions.py script by making it gather the list of Python modules to check the version for from the "requirements.txt" file. It should help keep this in sync if/when our requirements evolve. Signed-off-by: Geoffroy Van Cutsem <geoffroy.vancutsem@intel.com>
84 lines
2.4 KiB
Makefile
84 lines
2.4 KiB
Makefile
# Minimal makefile for Sphinx documentation
|
|
#
|
|
|
|
ifeq ($(VERBOSE),1)
|
|
Q =
|
|
else
|
|
Q = @
|
|
endif
|
|
|
|
# You can set these variables from the command line.
|
|
SPHINXOPTS ?= -q
|
|
SPHINXBUILD = sphinx-build
|
|
SPHINXPROJ = "Project ACRN"
|
|
SOURCEDIR = .
|
|
BUILDDIR ?= _build
|
|
|
|
# document publication assumes the folder structure is setup
|
|
# with the acrn-hypervisor and projectacrn.github.io repos as
|
|
# sibling folders and make is run inside the acrn-hypervisor/docs
|
|
# folder.
|
|
|
|
ACRN_BASE = "$(CURDIR)/../.."
|
|
DOC_TAG ?= development
|
|
RELEASE ?= latest
|
|
PUBLISHDIR = $(ACRN_BASE)/projectacrn.github.io/$(RELEASE)
|
|
|
|
# Put it first so that "make" without argument is like "make help".
|
|
help:
|
|
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(OPTS)
|
|
@echo ""
|
|
@echo "make publish"
|
|
@echo " publish generated html to projectacrn.github.io site:"
|
|
@echo " specify RELEASE=name to publish as a tagged release version"
|
|
@echo " and placed in a version subfolder. Requires repo merge permission."
|
|
|
|
.PHONY: help Makefile
|
|
|
|
# Generate the doxygen xml (for Sphinx) and copy the doxygen html to the
|
|
# api folder for publishing along with the Sphinx-generated API docs.
|
|
|
|
doxy:
|
|
$(Q)(cat acrn.doxyfile) | doxygen - > doc.log 2>&1
|
|
|
|
content:
|
|
$(Q)scripts/extract_content.py . tools
|
|
|
|
kconfig:
|
|
$(Q)srctree=../hypervisor \
|
|
python3 scripts/genrest.py Kconfig reference/kconfig/
|
|
|
|
pullsource:
|
|
$(Q)scripts/pullsource.sh
|
|
|
|
|
|
html: doxy content kconfig
|
|
-$(Q)$(SPHINXBUILD) -t $(DOC_TAG) -b html -d $(BUILDDIR)/doctrees $(SOURCEDIR) $(BUILDDIR)/html $(SPHINXOPTS) $(OPTS) >> doc.log 2>&1
|
|
$(Q)./scripts/filter-doc-log.sh doc.log
|
|
|
|
|
|
# Remove generated content (Sphinx and doxygen)
|
|
|
|
clean:
|
|
rm -fr $(BUILDDIR) doxygen
|
|
rm -fr tools
|
|
rm -fr reference/kconfig/*.rst
|
|
|
|
# Copy material over to the GitHub pages staging repo
|
|
# along with a README
|
|
|
|
publish:
|
|
mkdir -p $(PUBLISHDIR)
|
|
cd $(PUBLISHDIR)/..; git pull origin master
|
|
rm -fr $(PUBLISHDIR)/*
|
|
cp -r $(BUILDDIR)/html/* $(PUBLISHDIR)
|
|
cp scripts/publish-README.md $(PUBLISHDIR)/../README.md
|
|
cp scripts/publish-index.html $(PUBLISHDIR)/../index.html
|
|
cd $(PUBLISHDIR)/..; git add -A; git commit -s -m "publish $(RELEASE)"; git push origin master;
|
|
|
|
|
|
# Catch-all target: route all unknown targets to Sphinx using the new
|
|
# "make mode" option. $(OPTS) is meant as a shortcut for $(SPHINXOPTS).
|
|
%: Makefile doxy
|
|
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(OPTS)
|