diff --git a/book/Makefile b/book/Makefile index 8e84021..af41109 100644 --- a/book/Makefile +++ b/book/Makefile @@ -7,17 +7,24 @@ # You can set these variables from the command line, and also # from the environment for the first two. CODESPELL ?= codespell +EBOOK_VIEWER ?= ebook-viewer EPUBCHECK ?= epubcheck SPHINXOPTS ?= -W SPHINXBUILD ?= sphinx-build LYCHEE ?= lychee PRINTF ?= printf +WATCHEXEC ?= watchexec SOURCEDIR = source BUILDDIR = build epub-check: clean epub @$(EPUBCHECK) "$(BUILDDIR)/epub/"*.epub +# use watchexec to rebuild the EPUB whenever a markdown file changes +# this target kills *any* open instance of calibre's ebook-viewer, that is currently showing OpenPGPforapplicationdevelopers.epub +epub-watch: + @$(WATCHEXEC) --shell bash -e css,md 'make clean epub && ev_pid="$$(pgrep -af "^python3.*ebook-viewer.*OpenPGPforapplicationdevelopers" | cut -f1 -d " ")" && if [[ -n "$$ev_pid" ]]; then kill -9 "$$ev_pid"; fi && $(EBOOK_VIEWER) $(BUILDDIR)/epub/OpenPGPforapplicationdevelopers.epub &' + # Put it first so that "make" without argument is like "make help". help: @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)