doc/: Switch to a manually maintained bibliography database.
[sod] / doc / Makefile.am
... / ...
CommitLineData
1### -*-makefile-*-
2###
3### Build script for the manual
4###
5### (c) 2015 Straylight/Edgeware
6###
7
8###----- Licensing notice ---------------------------------------------------
9###
10### This file is part of the Sensible Object Design, an object system for C.
11###
12### SOD is free software; you can redistribute it and/or modify
13### it under the terms of the GNU General Public License as published by
14### the Free Software Foundation; either version 2 of the License, or
15### (at your option) any later version.
16###
17### SOD is distributed in the hope that it will be useful,
18### but WITHOUT ANY WARRANTY; without even the implied warranty of
19### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20### GNU General Public License for more details.
21###
22### You should have received a copy of the GNU General Public License
23### along with SOD; if not, write to the Free Software Foundation,
24### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25
26include $(top_srcdir)/vars.am
27
28doc_DATA =
29TEX_FILES =
30BIB_FILES =
31
32CLEANFILES += *.aux *.out *.log *.toc *.ind *.idx *.ilg
33EXTRA_DIST += $(TEX_FILES) $(BIB_FILES)
34
35TEXFLAGS = --interaction=batchmode \
36 --output-directory=$(abs_builddir)
37BIBTEXFLAGS = --terse
38MAKEINDEXFLAGS = -q
39
40V_LATEX = $(V_LATEX_@AM_V@)
41V_LATEX_ = $(V_LATEX_@AM_DEFAULT_V@)
42V_LATEX_0 = @echo " LATEX $@";
43
44V_BIBTEX = $(V_BIBTEX_@AM_V@)
45V_BIBTEX_ = $(V_BIBTEX_@AM_DEFAULT_V@)
46V_BIBTEX_0 = @echo " BIBTEX $@";
47
48V_MAKEINDEX = $(V_MAKEINDEX_@AM_V@)
49V_MAKEINDEX_ = $(V_MAKEINDEX_@AM_DEFAULT_V@)
50V_MAKEINDEX_0 = @echo " MAKEIDX $@";
51
52run_pdflatex = $(V_LATEX)cd $(srcdir) && \
53 $(PDFLATEX) $(TEXFLAGS) \
54 --jobname=$(basename $1) \
55 '\def\pkgversion{$(VERSION)}\input{$1}'
56
57###--------------------------------------------------------------------------
58### The manual.
59
60## The master file.
61TEX_FILES += sod.tex
62
63## Main document styling and definitions.
64TEX_FILES += sod.sty
65
66## The introduction.
67TEX_FILES += intro.tex
68
69## Tutorial.
70TEX_FILES += tutorial.tex
71
72## Reference.
73TEX_FILES += refintro.tex
74TEX_FILES += concepts.tex
75##TEX_FILES += cmdline.tex
76TEX_FILES += syntax.tex
77TEX_FILES += runtime.tex
78TEX_FILES += structures.tex
79
80## Lisp interface.
81TEX_FILES += lispintro.tex
82TEX_FILES += misc.tex
83TEX_FILES += parsing.tex
84TEX_FILES += clang.tex
85TEX_FILES += meta.tex
86TEX_FILES += layout.tex
87TEX_FILES += module.tex
88TEX_FILES += output.tex
89
90## Other hacks.
91TEX_FILES += cutting-room-floor.tex
92
93## Bibliography database.
94BIB_FILES += sod.bib
95
96## Building the bibliography style.
97EXTRA_DIST += mdwalpha.dbj
98
99## Building the output documents.
100MAINTAINERCLEANFILES += sod.pdf sod.bst babelbst.tex
101
102if HAVE_LATEX
103doc_DATA += sod.pdf
104EXTRA_DIST += sod.pdf
105sod.pdf: $(TEX_FILES) $(BIB_FILES)
106 $(call run_pdflatex,sod.tex)
107 $(V_BIBTEX)env \
108 BIBINPUTS=$(srcdir):$$BIBINPUTS \
109 BSTINPUTS=$(srcdir):$$BSTINPUTS \
110 $(BIBTEX) $(BIBTEXFLAGS) sod.aux
111 $(call run_pdflatex,sod.tex)
112 $(V_MAKEINDEX)$(MAKEINDEX) $(MAKEINDEXFLAGS) sod.idx
113 $(call run_pdflatex,sod.tex)
114
115if HAVE_CUSTOM_BIB
116BIB_FILES += mdwalpha.bst babelbst.tex
117babelbst.tex: mdwalpha.bst
118mdwalpha.bst: mdwalpha.dbj
119 (cd $(srcdir) && $(TEX) \
120 --jobname=mdwalpha \
121 --interaction=batchmode \
122 --output-directory=$(abs_builddir) \
123 '\let\ifbatching\iftrue \input mdwalpha.dbj')
124endif
125endif
126
127###----- That's all, folks --------------------------------------------------