From 6ae8b935d98bea24433474749a26da7c8d879d91 Mon Sep 17 00:00:00 2001 From: Patrick Totzke Date: Tue, 24 Jul 2012 22:51:14 +0100 Subject: docs: pimp Makefile This makes `make html` and friends autogenerate the command/option tables included in the docs on demand --- docs/Makefile | 44 +++++++++++++++++++++++++++----------------- 1 file changed, 27 insertions(+), 17 deletions(-) (limited to 'docs/Makefile') diff --git a/docs/Makefile b/docs/Makefile index 877037c1..fdb4b9ea 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -12,9 +12,17 @@ PAPEROPT_a4 = -D latex_paper_size=a4 PAPEROPT_letter = -D latex_paper_size=letter ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) source +CONFIG_OPTION_TABLES = source/configuration/alotrc_table source/configuration/accounts_table +COMMAND_OPTION_TABLES = source/usage/modes/bufferlist.rst \ + source/usage/modes/envelope.rst \ + source/usage/modes/global.rst \ + source/usage/modes/search.rst \ + source/usage/modes/taglist.rst \ + source/usage/modes/thread.rst + + .PHONY: html help clean dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest -all: clean generate_meta html help: @echo "Please use \`make ' where is one of" @echo " html to make standalone HTML files" @@ -34,45 +42,47 @@ help: @echo " linkcheck to check all external links for integrity" @echo " doctest to run all doctests embedded in the documentation (if enabled)" -generate_meta: +$(COMMAND_OPTION_TABLES): python source/generate_commands.py + +$(CONFIG_OPTION_TABLES): python source/generate_configs.py clean: -rm -rf $(BUILDDIR)/* -html: +html: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." -dirhtml: +dirhtml: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." -singlehtml: +singlehtml: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml @echo @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." -pickle: +pickle: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle @echo @echo "Build finished; now you can process the pickle files." -json: +json: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json @echo @echo "Build finished; now you can process the JSON files." -htmlhelp: +htmlhelp: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp @echo @echo "Build finished; now you can run HTML Help Workshop with the" \ ".hhp project file in $(BUILDDIR)/htmlhelp." -devhelp: +devhelp: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp @echo @echo "Build finished." @@ -81,46 +91,46 @@ devhelp: @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/alot" @echo "# devhelp" -epub: +epub: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub @echo @echo "Build finished. The epub file is in $(BUILDDIR)/epub." -latex: +latex: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." @echo "Run \`make' in that directory to run these through (pdf)latex" \ "(use \`make latexpdf' here to do that automatically)." -latexpdf: +latexpdf: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex @echo "Running LaTeX files through pdflatex..." make -C $(BUILDDIR)/latex all-pdf @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." -text: +text: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text @echo @echo "Build finished. The text files are in $(BUILDDIR)/text." -man: +man: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man @echo @echo "Build finished. The manual pages are in $(BUILDDIR)/man." -changes: +changes: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes @echo @echo "The overview file is in $(BUILDDIR)/changes." -linkcheck: +linkcheck: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck @echo @echo "Link check complete; look for any errors in the above output " \ "or in $(BUILDDIR)/linkcheck/output.txt." -doctest: +doctest: $(CONFIG_OPTION_TABLES) $(COMMAND_OPTION_TABLES) $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest @echo "Testing of doctests in the sources finished, look at the " \ "results in $(BUILDDIR)/doctest/output.txt." -- cgit v1.2.3