the-bastion/doc/sphinx/Makefile
2021-01-11 17:58:59 +01:00

40 lines
1.3 KiB
Makefile

# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SOURCEDIR = .
BUILDDIR = _build
VERSION_FILES = conf.py installation/basic.rst
VERSION := $(shell perl -e 'require "../../lib/perl/OVH/Bastion.pm"; print $$OVH::Bastion::VERSION')
all: autogenerated default
autogenerated: plugins bastion_conf
default: Makefile
@for i in $(VERSION_FILES); do cp $$i $$i.bak; done
@sed -i -e "s/__VERSION__/$(VERSION)/g" $(VERSION_FILES)
@$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
@for i in $(VERSION_FILES); do test -e $$i.bak && mv $$i.bak $$i; done
@rsync -a --delete _build/html/ ../../docs/
@echo "HTML documentation copied to ../../docs/"
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
plugins:
@bash build-plugins-help.sh
bastion_conf:
@perl build-bastion-conf-help.pl < ../../etc/bastion/bastion.conf.dist > administration/bastion_conf.rst
.PHONY: help Makefile plugins all autogenerated default bastion_conf
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)