###----- Licensing notice ---------------------------------------------------
###
-### This file is part of the Sensble Object Design, an object system for C.
+### This file is part of the Sensible Object Design, an object system for C.
###
### SOD is free software; you can redistribute it and/or modify
### it under the terms of the GNU General Public License as published by
doc_DATA =
TEX_FILES =
+BIB_FILES =
-CLEANFILES += *.aux *.out *.log *.toc
-EXTRA_DIST += $(TEX_FILES)
+CLEANFILES += *.aux *.out *.log *.toc *.ind *.idx *.ilg
+EXTRA_DIST += $(TEX_FILES) $(BIB_FILES)
+
+TEXFLAGS = --interaction=batchmode \
+ --output-directory=$(abs_builddir)
+BIBTEXFLAGS = --terse
+MAKEINDEXFLAGS = -q
+
+V_LATEX = $(V_LATEX_@AM_V@)
+V_LATEX_ = $(V_LATEX_@AM_DEFAULT_V@)
+V_LATEX_0 = @echo " LATEX $@";
+
+V_BIBTEX = $(V_BIBTEX_@AM_V@)
+V_BIBTEX_ = $(V_BIBTEX_@AM_DEFAULT_V@)
+V_BIBTEX_0 = @echo " BIBTEX $@";
+
+V_MAKEINDEX = $(V_MAKEINDEX_@AM_V@)
+V_MAKEINDEX_ = $(V_MAKEINDEX_@AM_DEFAULT_V@)
+V_MAKEINDEX_0 = @echo " MAKEIDX $@";
+
+run_pdflatex = $(V_LATEX)cd $(srcdir) && \
+ version=$$(echo '$(VERSION)' | sed 's/~/\\textasciitilde /g') && \
+ $(PDFLATEX) $(TEXFLAGS) \
+ --jobname=$(basename $1) \
+ "\def\pkgversion{$$version}\input{$1}"
###--------------------------------------------------------------------------
### The manual.
## Main document styling and definitions.
TEX_FILES += sod.sty
+## The introduction.
+TEX_FILES += intro.tex
+
## Tutorial.
TEX_FILES += tutorial.tex
## Reference.
+TEX_FILES += refintro.tex
TEX_FILES += concepts.tex
##TEX_FILES += cmdline.tex
TEX_FILES += syntax.tex
TEX_FILES += clang.tex
TEX_FILES += meta.tex
TEX_FILES += layout.tex
-##TEX_FILES += module.tex
+TEX_FILES += module.tex
TEX_FILES += output.tex
## Other hacks.
TEX_FILES += cutting-room-floor.tex
+## Bibliography database.
+BIB_FILES += sod.bib
+
+## Building the bibliography style.
+EXTRA_DIST += mdwalpha.dbj
+
## Building the output documents.
-MAINTAINERCLEANFILES += sod.pdf
-EXTRA_DIST += sod.pdf
+MAINTAINERCLEANFILES += sod.pdf sod.bst babelbst.tex
+
+if HAVE_LATEX
doc_DATA += sod.pdf
-sod.pdf: $(TEX_FILES)
- cd $(srcdir) && pdflatex --output-directory=$(abs_builddir) sod.tex
- cd $(srcdir) && pdflatex --output-directory=$(abs_builddir) sod.tex
+EXTRA_DIST += sod.pdf
+sod.pdf: $(TEX_FILES) $(BIB_FILES)
+ $(call run_pdflatex,sod.tex)
+ $(V_BIBTEX)env \
+ BIBINPUTS=$(srcdir):$$BIBINPUTS \
+ BSTINPUTS=$(srcdir):$$BSTINPUTS \
+ $(BIBTEX) $(BIBTEXFLAGS) sod.aux
+ $(call run_pdflatex,sod.tex)
+ $(V_MAKEINDEX)$(MAKEINDEX) $(MAKEINDEXFLAGS) sod.idx
+ $(call run_pdflatex,sod.tex)
+
+if HAVE_CUSTOM_BIB
+BIB_FILES += mdwalpha.bst babelbst.tex
+babelbst.tex: mdwalpha.bst
+mdwalpha.bst: mdwalpha.dbj
+ (cd $(srcdir) && $(TEX) \
+ --jobname=mdwalpha \
+ --interaction=batchmode \
+ --output-directory=$(abs_builddir) \
+ '\let\ifbatching\iftrue \input mdwalpha.dbj')
+endif
+endif
###----- That's all, folks --------------------------------------------------