6647f4819c2a891f38a2dbd0dd661f5e4f73adbb
[sod] / doc / Makefile.am
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
26 include $(top_srcdir)/vars.am
27
28 doc_DATA =
29 TEX_FILES =
30
31 CLEANFILES += *.aux *.out *.log *.toc *.ind *.idx *.ilg
32 EXTRA_DIST += $(TEX_FILES)
33
34 TEXFLAGS = --interaction=batchmode \
35 --output-directory=$(abs_builddir)
36 BIBTEXFLAGS = --terse
37 MAKEINDEXFLAGS = -q
38
39 V_LATEX = $(V_LATEX_@AM_V@)
40 V_LATEX_ = $(V_LATEX_@AM_DEFAULT_V@)
41 V_LATEX_0 = @echo " LATEX $@";
42
43 V_BIBTEX = $(V_BIBTEX_@AM_V@)
44 V_BIBTEX_ = $(V_BIBTEX_@AM_DEFAULT_V@)
45 V_BIBTEX_0 = @echo " BIBTEX $@";
46
47 V_MAKEINDEX = $(V_MAKEINDEX_@AM_V@)
48 V_MAKEINDEX_ = $(V_MAKEINDEX_@AM_DEFAULT_V@)
49 V_MAKEINDEX_0 = @echo " MAKEIDX $@";
50
51 run_pdflatex = $(V_LATEX)cd $(srcdir) && \
52 $(PDFLATEX) $(TEXFLAGS) \
53 --jobname=$(basename $1) \
54 '\def\pkgversion{$(VERSION)}\input{$1}'
55
56 ###--------------------------------------------------------------------------
57 ### The manual.
58
59 ## The master file.
60 TEX_FILES += sod.tex
61
62 ## Main document styling and definitions.
63 TEX_FILES += sod.sty
64
65 ## The introduction.
66 TEX_FILES += intro.tex
67
68 ## Tutorial.
69 TEX_FILES += tutorial.tex
70
71 ## Reference.
72 TEX_FILES += refintro.tex
73 TEX_FILES += concepts.tex
74 ##TEX_FILES += cmdline.tex
75 TEX_FILES += syntax.tex
76 TEX_FILES += runtime.tex
77 TEX_FILES += structures.tex
78
79 ## Lisp interface.
80 TEX_FILES += lispintro.tex
81 TEX_FILES += misc.tex
82 TEX_FILES += parsing.tex
83 TEX_FILES += clang.tex
84 TEX_FILES += meta.tex
85 TEX_FILES += layout.tex
86 TEX_FILES += module.tex
87 TEX_FILES += output.tex
88
89 ## Other hacks.
90 TEX_FILES += cutting-room-floor.tex
91
92 ## Building the output documents.
93 MAINTAINERCLEANFILES += sod.pdf
94
95 if HAVE_LATEX
96 doc_DATA += sod.pdf
97 EXTRA_DIST += sod.pdf
98 sod.pdf: $(TEX_FILES)
99 $(call run_pdflatex,sod.tex)
100 $(V_BIBTEX)$(BIBTEX) $(BIBTEXFLAGS) sod.aux
101 $(call run_pdflatex,sod.tex)
102 $(V_MAKEINDEX)$(MAKEINDEX) $(MAKEINDEXFLAGS) sod.idx
103 $(call run_pdflatex,sod.tex)
104 endif
105
106 ###----- That's all, folks --------------------------------------------------