1# Makefile for Sphinx documentation
2
3# You can set these variables from the command line.
4SPHINXOPTS    =
5SPHINXBUILD   = DOC_NAME=$* sphinx-build
6PAPER         =
7BUILDDIR      = build
8SOURCEDIR     = .
9
10# Internal variables.
11PAPEROPT_a4     = -D latex_paper_size=a4
12PAPEROPT_letter = -D latex_paper_size=letter
13ALLSPHINXOPTS   = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) \
14		  -c $(SOURCEDIR)/share \
15		  -d $(BUILDDIR)/$*/doctrees \
16		  $(SOURCEDIR)
17DOC_LIST=gnat_rm gnat_ugn
18FMT_LIST=html pdf txt info
19
20.PHONY: help clean
21
22help:
23	@echo "Please use \`make <target>' where <target> is one of"
24	@echo "  DOC_NAME.html       to make standalone HTML files"
25	@echo "  DOC_NAME.pdf        to make LaTeX files and run them through pdflatex"
26	@echo "  DOC_NAME.txt        to make text files"
27	@echo "  DOC_NAME.texinfo    to make Texinfo files"
28	@echo "  DOC_NAME.info       to make info files"
29	@echo "  DOC_NAME.all        to build DOC_NAME for all previous formats"
30	@echo "  all                 to build all documentations in all formats"
31	@echo "  html-all            same as previous rule but only for HTML format"
32	@echo "  pdf-all             same as previous rule but only for PDF format"
33	@echo "  txt-all             same as previous rule but only for text format"
34	@echo "  texinfo-all         same as previous rule but only for texinfo format"
35	@echo "  info-all            same as previous rule but only for info format"
36	@echo ""
37	@echo "DOC_NAME should be a documentation name in the following list:"
38	@echo "  $(DOC_LIST)"
39	@echo ""
40	@echo "source and location can be overriden using SOURCEDIR and BUILDDIR variables"
41
42clean:
43	-rm -rf $(BUILDDIR)/*/html \
44		$(BUILDDIR)/*/pdf \
45		$(BUILDDIR)/*/txt \
46		$(BUILDDIR)/*/info
47
48%.html:
49	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/$*/html
50
51%.pdf:
52	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/$*/pdf
53	cp $(SOURCEDIR)/share/sphinx.sty $(BUILDDIR)/$*/pdf
54	$(MAKE) -C $(BUILDDIR)/$*/pdf all-pdf LATEXOPTS="-interaction=nonstopmode"
55
56%.txt:
57	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/$*/txt
58	$(MAKE) -C $(BUILDDIR)/$*/txt plaintext
59
60%.info:
61	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/$*/info
62	$(MAKE) -C $(BUILDDIR)/$*/info info
63
64%.texinfo:
65	$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/$*/texinfo
66	sed -e 's/^@dircategory/@dircategory GNU Ada Tools/g' < $(BUILDDIR)/$*/texinfo/$*.texi > $(BUILDDIR)/../../$*.texi
67
68html-all: $(foreach doc, $(DOC_LIST), $(doc).html)
69
70pdf-all: $(foreach doc, $(DOC_LIST), $(doc).pdf)
71
72txt-all: $(foreach doc, $(DOC_LIST), $(doc).txt)
73
74texinfo-all: $(foreach doc, $(DOC_LIST), $(doc).texinfo)
75
76%.all:
77	$(MAKE) $(foreach fmt, $(FMT_LIST), $*.$(fmt))
78
79all: $(foreach fmt, $(FMT_LIST), $(fmt).all)
80
81