2ed46e04f4
* fixed module generation added missing lookup page point to plugins when plugins made modules singular add display for verbose an debug messages nicer templating, changed generation order for ref corrected links moved most of lookup docs to plugin section * Copy edits * Fixed typos * Clarified wording
105 lines
3.3 KiB
Makefile
105 lines
3.3 KiB
Makefile
OS := $(shell uname -s)
|
|
SITELIB = $(shell python -c "from distutils.sysconfig import get_python_lib; print get_python_lib()"):
|
|
FORMATTER=../bin/plugin_formatter.py
|
|
TESTING_FORMATTER=../bin/testing_formatter.sh
|
|
DUMPER=../bin/dump_keywords.py
|
|
CONFIG_DUMPER=../bin/dump_config.py
|
|
GENERATE_CLI=../bin/generate_man.py
|
|
ifeq ($(shell echo $(OS) | egrep -ic 'Darwin|FreeBSD|OpenBSD|DragonFly'),1)
|
|
CPUS ?= $(shell sysctl hw.ncpu|awk '{print $$2}')
|
|
else
|
|
CPUS ?= $(shell nproc)
|
|
endif
|
|
|
|
MODULE_ARGS=
|
|
ifdef MODULES
|
|
MODULE_ARGS = -l $(MODULES)
|
|
endif
|
|
|
|
PLUGIN_ARGS=
|
|
ifdef PLUGINS
|
|
PLUGIN_ARGS = -l $(PLUGINS)
|
|
endif
|
|
|
|
DOC_PLUGINS ?= cache callback connection inventory lookup strategy vars
|
|
|
|
assertrst:
|
|
ifndef rst
|
|
$(error specify document or pattern with rst=somefile.rst)
|
|
endif
|
|
|
|
all: docs
|
|
|
|
docs: clean htmldocs
|
|
|
|
generate_rst: staticmin config cli keywords modules plugins testing
|
|
|
|
htmldocs: generate_rst
|
|
CPUS=$(CPUS) $(MAKE) -f Makefile.sphinx html
|
|
|
|
singlehtmldocs: generate_rst
|
|
CPUS=$(CPUS) $(MAKE) -f Makefile.sphinx singlehtml
|
|
|
|
webdocs: docs
|
|
|
|
#TODO: leaving htmlout removal for those having older versions, should eventually be removed also
|
|
clean:
|
|
-rm -rf htmlout
|
|
-rm -rf _build
|
|
-rm -f .buildinfo
|
|
-rm -f objects.inv
|
|
-rm -rf *.doctrees
|
|
@echo "Cleaning up minified css files"
|
|
find . -type f -name "*.min.css" -delete
|
|
@echo "Cleaning up byte compiled python stuff"
|
|
find . -regex ".*\.py[co]$$" -delete
|
|
@echo "Cleaning up editor backup files"
|
|
find . -type f \( -name "*~" -or -name "#*" \) -delete
|
|
find . -type f \( -name "*.swp" \) -delete
|
|
@echo "Cleaning up generated rst"
|
|
-rm rst/list_of_*.rst
|
|
-rm rst/*_by_category.rst
|
|
-rm rst/*_module.rst
|
|
-rm rst/*_plugin.rst
|
|
-rm rst/*_maintained.rst
|
|
-rm rst/playbooks_directives.rst
|
|
-rm rst/playbooks_keywords.rst
|
|
-rm rst/plugins/*/*.rst
|
|
-rm rst/config.rst
|
|
-rm rst/ansible-*.rst
|
|
-rm rst/ansible.rst
|
|
|
|
.PHONEY: docs clean
|
|
|
|
# TODO: make generate_man output dir cli option
|
|
cli: $(GENERATE_CLI)
|
|
PYTHONPATH=../../lib $(GENERATE_CLI) --template-file=../templates/cli_rst.j2 --output-dir=rst/ --output-format rst ../../lib/ansible/cli/*.py
|
|
|
|
keywords: $(FORMATTER) ../templates/playbooks_keywords.rst.j2
|
|
PYTHONPATH=../../lib $(DUMPER) --template-dir=../templates --output-dir=rst/ -d ./keyword_desc.yml
|
|
|
|
config:
|
|
PYTHONPATH=../../lib $(CONFIG_DUMPER) --template-file=../templates/config.rst.j2 --output-dir=rst/ -d ../../lib/ansible/config/base.yml
|
|
|
|
modules: $(FORMATTER) ../templates/plugin.rst.j2
|
|
PYTHONPATH=../../lib $(FORMATTER) -t rst --template-dir=../templates --module-dir=../../lib/ansible/modules -o rst/ $(MODULE_ARGS)
|
|
|
|
plugins: $(FORMATTER) ../templates/plugin.rst.j2
|
|
@echo "looping over doc plugins"
|
|
for plugin in $(DOC_PLUGINS); \
|
|
do \
|
|
PYTHONPATH=../../lib $(FORMATTER) -t rst --plugin-type $$plugin --template-dir=../templates --module-dir=../../lib/ansible/plugins/$$plugin -o rst/ $(PLUGIN_ARGS); \
|
|
done
|
|
|
|
testing:
|
|
$(TESTING_FORMATTER)
|
|
|
|
staticmin:
|
|
cat _themes/srtd/static/css/theme.css | sed -e 's/^[ ]*//g; s/[ ]*$$//g; s/\([:{;,]\) /\1/g; s/ {/{/g; s/\/\*.*\*\///g; /^$$/d' | sed -e :a -e '$$!N; s/\n\(.\)/\1/; ta' > _themes/srtd/static/css/theme.min.css
|
|
|
|
epub:
|
|
(CPUS=$(CPUS) make -f Makefile.sphinx epub)
|
|
|
|
htmlsingle: assertrst
|
|
sphinx-build -j $(CPUS) -b html -d _build/doctrees ./rst _build/html rst/$(rst)
|
|
@echo "Output is in _build/html/$(rst:.rst=.html)"
|