esphome-docs/Makefile
2018-09-25 13:42:59 +02:00

50 lines
1.5 KiB
Makefile

# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = esphomelib
SOURCEDIR = .
BUILDDIR = _build
ESPHOMELIB_PATH = ../esphomelib
ESPHOMELIB_TAG = v1.8.0
.PHONY: html cleanhtml doxyg cleandoxyg deploy help webserver Makefile $(ESPHOMELIB_PATH)
html: _doxyxml
$(SPHINXBUILD) -M html "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
cleanhtml: cleandoxyg
rm -rf "$(BUILDDIR)/html/*"
doxyg: cleandoxyg _doxyxml
cleandoxyg:
rm -rf _doxyxml
_doxyxml: $(ESPHOMELIB_PATH)
ESPHOMELIB_PATH=$(ESPHOMELIB_PATH) doxygen Doxygen
$(ESPHOMELIB_PATH):
@if [ ! -d "$(ESPHOMELIB_PATH)" ]; then \
git clone --branch $(ESPHOMELIB_TAG) https://github.com/OttoWinter/esphomelib.git $(ESPHOMELIB_PATH); \
fi
deploy: cleanhtml doxyg html $(ESPHOMELIB_PATH)
touch "$(BUILDDIR)/html/.nojekyll"
echo "esphomelib.com" >"$(BUILDDIR)/html/CNAME"
git -C "$(BUILDDIR)/html" add --all && git -C "$(BUILDDIR)/html" commit -m "Deploy to gh-pages"
@printf "Run \033[0;36mcd $(BUILDDIR)/html && git push origin gh-pages\033[0m to deploy\n"
help:
$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
webserver: html
cd "$(BUILDDIR)/html" && python3 -m http.server
# 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)