xref: /Universal-ctags/docs/Makefile (revision 33d0cc3d8ec9644cde43ef4520809ea85780d70d)
120ea5985SFrank Fesevur# Makefile for Sphinx documentation
220ea5985SFrank Fesevur#
3ec17d97dSMasatake YAMATO
420ea5985SFrank Fesevur# You can set these variables from the command line.
520ea5985SFrank FesevurSPHINXOPTS    =
620ea5985SFrank FesevurSPHINXBUILD   = sphinx-build
720ea5985SFrank FesevurPAPER         =
820ea5985SFrank FesevurBUILDDIR      = _build
95d6f69f4SHiroo HAYASHIEXTDIR        = _ext
1020ea5985SFrank Fesevur
1120ea5985SFrank Fesevur# Internal variables.
1220ea5985SFrank FesevurPAPEROPT_a4     = -D latex_paper_size=a4
1320ea5985SFrank FesevurPAPEROPT_letter = -D latex_paper_size=letter
1420ea5985SFrank FesevurALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
1520ea5985SFrank Fesevur# the i18n builder cannot share the environment and doctrees with the others
1620ea5985SFrank FesevurI18NSPHINXOPTS  = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
1720ea5985SFrank Fesevur
18*33d0cc3dSleleliu008.PHONY: help clean check-if-sphinx-build-is-installed html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext
1920ea5985SFrank Fesevur
2020ea5985SFrank Fesevurhelp:
21*33d0cc3dSleleliu008	@echo "\
22*33d0cc3dSleleliu008	Usage: make <TARGET>\n\n\
23*33d0cc3dSleleliu008	<TARGET> is one of following:\n\
24*33d0cc3dSleleliu008	help       show help infomation\n\
25*33d0cc3dSleleliu008	clean      detele cached files\n\
26*33d0cc3dSleleliu008	html       to make standalone HTML files\n\
27*33d0cc3dSleleliu008	dirhtml    to make HTML files named index.html in directories\n\
28*33d0cc3dSleleliu008	singlehtml to make a single large HTML file\n\
29*33d0cc3dSleleliu008	pickle     to make pickle files\n\
30*33d0cc3dSleleliu008	json       to make JSON files\n\
31*33d0cc3dSleleliu008	htmlhelp   to make HTML files and a HTML help project\n\
32*33d0cc3dSleleliu008	qthelp     to make HTML files and a qthelp project\n\
33*33d0cc3dSleleliu008	devhelp    to make HTML files and a Devhelp project\n\
34*33d0cc3dSleleliu008	epub       to make an epub\n\
35*33d0cc3dSleleliu008	latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter\n\
36*33d0cc3dSleleliu008	latexpdf   to make LaTeX files and run them through pdflatex\n\
37*33d0cc3dSleleliu008	latexpdfja to make LaTeX files and run them through platex/dvipdfmx\n\
38*33d0cc3dSleleliu008	text       to make text files\n\
39*33d0cc3dSleleliu008	man        to make manual pages\n\
40*33d0cc3dSleleliu008	texinfo    to make Texinfo files\n\
41*33d0cc3dSleleliu008	info       to make Texinfo files and run them through makeinfo\n\
42*33d0cc3dSleleliu008	gettext    to make PO message catalogs\n\
43*33d0cc3dSleleliu008	changes    to make an overview of all changed/added/deprecated items\n\
44*33d0cc3dSleleliu008	xml        to make Docutils-native XML files\n\
45*33d0cc3dSleleliu008	pseudoxml  to make pseudoxml-XML files for display purposes\n\
46*33d0cc3dSleleliu008	linkcheck  to check all external links for integrity\n\
47*33d0cc3dSleleliu008	doctest    to run all doctests embedded in the documentation (if enabled)"
4820ea5985SFrank Fesevur
4920ea5985SFrank Fesevurclean:
505d6f69f4SHiroo HAYASHI	rm -rf $(BUILDDIR) $(EXTDIR)/__pycache__
5120ea5985SFrank Fesevur
52*33d0cc3dSleleliu008check-if-sphinx-build-is-installed:
53*33d0cc3dSleleliu008	@if [ -z "$(SPHINXBUILD)" ] ; then \
54*33d0cc3dSleleliu008		echo "The SPHINXBUILD variable must not be empty." ;\
55*33d0cc3dSleleliu008		exit 1 ;\
56*33d0cc3dSleleliu008	fi ; \
57*33d0cc3dSleleliu008	if ! command -v "$(SPHINXBUILD)" > /dev/null ; then \
58*33d0cc3dSleleliu008		echo "The '$(SPHINXBUILD)' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the '$(SPHINXBUILD)' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/)" ;\
59*33d0cc3dSleleliu008		exit 1 ;\
60*33d0cc3dSleleliu008	fi
61*33d0cc3dSleleliu008
62*33d0cc3dSleleliu008html: check-if-sphinx-build-is-installed
6320ea5985SFrank Fesevur	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
6420ea5985SFrank Fesevur	@echo
6520ea5985SFrank Fesevur	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
6620ea5985SFrank Fesevur
67*33d0cc3dSleleliu008dirhtml: check-if-sphinx-build-is-installed
6820ea5985SFrank Fesevur	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
6920ea5985SFrank Fesevur	@echo
7020ea5985SFrank Fesevur	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
7120ea5985SFrank Fesevur
72*33d0cc3dSleleliu008singlehtml: check-if-sphinx-build-is-installed
7320ea5985SFrank Fesevur	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
7420ea5985SFrank Fesevur	@echo
7520ea5985SFrank Fesevur	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
7620ea5985SFrank Fesevur
77*33d0cc3dSleleliu008pickle: check-if-sphinx-build-is-installed
7820ea5985SFrank Fesevur	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
7920ea5985SFrank Fesevur	@echo
8020ea5985SFrank Fesevur	@echo "Build finished; now you can process the pickle files."
8120ea5985SFrank Fesevur
82*33d0cc3dSleleliu008json: check-if-sphinx-build-is-installed
8320ea5985SFrank Fesevur	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
8420ea5985SFrank Fesevur	@echo
8520ea5985SFrank Fesevur	@echo "Build finished; now you can process the JSON files."
8620ea5985SFrank Fesevur
87*33d0cc3dSleleliu008htmlhelp: check-if-sphinx-build-is-installed
8820ea5985SFrank Fesevur	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
8920ea5985SFrank Fesevur	@echo
9020ea5985SFrank Fesevur	@echo "Build finished; now you can run HTML Help Workshop with the" \
9120ea5985SFrank Fesevur	      ".hhp project file in $(BUILDDIR)/htmlhelp."
9220ea5985SFrank Fesevur
93*33d0cc3dSleleliu008qthelp: check-if-sphinx-build-is-installed
9420ea5985SFrank Fesevur	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
9520ea5985SFrank Fesevur	@echo
9620ea5985SFrank Fesevur	@echo "Build finished; now you can run "qcollectiongenerator" with the" \
9720ea5985SFrank Fesevur	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
9820ea5985SFrank Fesevur	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/NppSnippets.qhcp"
9920ea5985SFrank Fesevur	@echo "To view the help file:"
10020ea5985SFrank Fesevur	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/NppSnippets.qhc"
10120ea5985SFrank Fesevur
102*33d0cc3dSleleliu008devhelp: check-if-sphinx-build-is-installed
10320ea5985SFrank Fesevur	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
10420ea5985SFrank Fesevur	@echo
10520ea5985SFrank Fesevur	@echo "Build finished."
10620ea5985SFrank Fesevur	@echo "To view the help file:"
10720ea5985SFrank Fesevur	@echo "# mkdir -p $$HOME/.local/share/devhelp/NppSnippets"
10820ea5985SFrank Fesevur	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/NppSnippets"
10920ea5985SFrank Fesevur	@echo "# devhelp"
11020ea5985SFrank Fesevur
111*33d0cc3dSleleliu008epub: check-if-sphinx-build-is-installed
11220ea5985SFrank Fesevur	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
11320ea5985SFrank Fesevur	@echo
11420ea5985SFrank Fesevur	@echo "Build finished. The epub file is in $(BUILDDIR)/epub."
11520ea5985SFrank Fesevur
116*33d0cc3dSleleliu008latex: check-if-sphinx-build-is-installed
11720ea5985SFrank Fesevur	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
11820ea5985SFrank Fesevur	@echo
11920ea5985SFrank Fesevur	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
12020ea5985SFrank Fesevur	@echo "Run \`make' in that directory to run these through (pdf)latex" \
12120ea5985SFrank Fesevur	      "(use \`make latexpdf' here to do that automatically)."
12220ea5985SFrank Fesevur
123*33d0cc3dSleleliu008latexpdf: check-if-sphinx-build-is-installed
12420ea5985SFrank Fesevur	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
12520ea5985SFrank Fesevur	@echo "Running LaTeX files through pdflatex..."
12620ea5985SFrank Fesevur	$(MAKE) -C $(BUILDDIR)/latex all-pdf
12720ea5985SFrank Fesevur	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
12820ea5985SFrank Fesevur
129*33d0cc3dSleleliu008latexpdfja: check-if-sphinx-build-is-installed
13020ea5985SFrank Fesevur	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
13120ea5985SFrank Fesevur	@echo "Running LaTeX files through platex and dvipdfmx..."
13220ea5985SFrank Fesevur	$(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
13320ea5985SFrank Fesevur	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
13420ea5985SFrank Fesevur
135*33d0cc3dSleleliu008text: check-if-sphinx-build-is-installed
13620ea5985SFrank Fesevur	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
13720ea5985SFrank Fesevur	@echo
13820ea5985SFrank Fesevur	@echo "Build finished. The text files are in $(BUILDDIR)/text."
13920ea5985SFrank Fesevur
140*33d0cc3dSleleliu008man: check-if-sphinx-build-is-installed
14120ea5985SFrank Fesevur	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
14220ea5985SFrank Fesevur	@echo
14320ea5985SFrank Fesevur	@echo "Build finished. The manual pages are in $(BUILDDIR)/man."
14420ea5985SFrank Fesevur
145*33d0cc3dSleleliu008texinfo: check-if-sphinx-build-is-installed
14620ea5985SFrank Fesevur	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
14720ea5985SFrank Fesevur	@echo
14820ea5985SFrank Fesevur	@echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
14920ea5985SFrank Fesevur	@echo "Run \`make' in that directory to run these through makeinfo" \
15020ea5985SFrank Fesevur	      "(use \`make info' here to do that automatically)."
15120ea5985SFrank Fesevur
152*33d0cc3dSleleliu008info: check-if-sphinx-build-is-installed
15320ea5985SFrank Fesevur	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
15420ea5985SFrank Fesevur	@echo "Running Texinfo files through makeinfo..."
15520ea5985SFrank Fesevur	make -C $(BUILDDIR)/texinfo info
15620ea5985SFrank Fesevur	@echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
15720ea5985SFrank Fesevur
158*33d0cc3dSleleliu008gettext: check-if-sphinx-build-is-installed
15920ea5985SFrank Fesevur	$(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
16020ea5985SFrank Fesevur	@echo
16120ea5985SFrank Fesevur	@echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
16220ea5985SFrank Fesevur
163*33d0cc3dSleleliu008changes: check-if-sphinx-build-is-installed
16420ea5985SFrank Fesevur	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
16520ea5985SFrank Fesevur	@echo
16620ea5985SFrank Fesevur	@echo "The overview file is in $(BUILDDIR)/changes."
16720ea5985SFrank Fesevur
168*33d0cc3dSleleliu008linkcheck: check-if-sphinx-build-is-installed
16920ea5985SFrank Fesevur	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
17020ea5985SFrank Fesevur	@echo
17120ea5985SFrank Fesevur	@echo "Link check complete; look for any errors in the above output " \
17220ea5985SFrank Fesevur	      "or in $(BUILDDIR)/linkcheck/output.txt."
17320ea5985SFrank Fesevur
174*33d0cc3dSleleliu008doctest: check-if-sphinx-build-is-installed
17520ea5985SFrank Fesevur	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
17620ea5985SFrank Fesevur	@echo "Testing of doctests in the sources finished, look at the " \
17720ea5985SFrank Fesevur	      "results in $(BUILDDIR)/doctest/output.txt."
17820ea5985SFrank Fesevur
179*33d0cc3dSleleliu008xml: check-if-sphinx-build-is-installed
18020ea5985SFrank Fesevur	$(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
18120ea5985SFrank Fesevur	@echo
18220ea5985SFrank Fesevur	@echo "Build finished. The XML files are in $(BUILDDIR)/xml."
18320ea5985SFrank Fesevur
184*33d0cc3dSleleliu008pseudoxml: check-if-sphinx-build-is-installed
18520ea5985SFrank Fesevur	$(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
18620ea5985SFrank Fesevur	@echo
18720ea5985SFrank Fesevur	@echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
188