1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
#!/bin/make
docbook_outdir = docbook
all: geis2-api.html
DBLATEX = dblatex
DBLATEX_FLAGS = --dump --verbose --pdf
LINT_FLAGS = --debug --xinclude --noent --noblanks --nonet --noout
SCHEMA_FLAGS = --dtdvalid /usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd
XMLLINT = xmllint
XMLLINT_FLAGS = $(LINT_FLAGS) $(SCHEMA_FLAGS)
XSLTPROC = xsltproc
XSLTPROC_FLAGS = --nonet --xinclude
XSL_HTML_STYLE = xsl/html-chunked.xsl
XSL_HTML_SINGLE_STYLE = xsl/html-single.xsl
%.html: %.txt
asciidoc -a toc $<
xml_base_sources = set.xml
xml_api_spec_sources = $(wildcard api-spec/*.xml)
xml_c_bindings_sources = $(wildcard c-bindings/*.xml)
xml_sources = \
$(xml_base_sources) \
$(xml_api_spec_sources) \
$(xml_c_bindings_sources)
doc-html: doc-html-single-docbook
doc-pdf: doc-pdf-docbook
cp ${docbook_outdir}/pdf/geis2.0-spec.pdf .
set.pdf: doc-fo-docbook
fop ${docbook_outdir}/fo/set.fo set.pdf
# Validate existing XML structure.
doc-xml-validate-docbook: $(xml_sources)
@echo "Generating XML validation log..."
$(XMLLINT) $(XMLLINT_FLAGS) set.xml
# HTML, index plus chapters
doc-html-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html files..."
$(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
$(XSL_HTML_STYLE) set.xml
# HTML, all one page
manual_html = ${docbook_outdir}/html/geis2.0-spec-single.html
doc-html-single-docbook: $(xml_sources) ${docbook_outdir}/html
@echo "Generating html single file..."
$(XSLTPROC) $(XSLTPROC_FLAGS) -o ${manual_html} \
$(XSL_HTML_SINGLE_STYLE) set.xml
# FO
doc-fo-docbook: $(xml_sources) ${docbook_outdir}/fo
@echo "Generating FO files..."
$(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/fo/set.fo \
xsl/fo.xsl set.xml
# PDF, via dblatex
c-bindings.pdf: $(xml_c_bindings_sources)
$(XSLTPROC) $(XSLTPROC_FLAGS) -o c-bindings.fo xsl/fo.xsl c-bindings/bindings.xml
fop c-bindings.fo $@
c-bindings.html: ${docbook_outdir}/html $(xml_c_bindings_sources)
$(XSLTPROC) $(XSLTPROC_FLAGS) -o ${docbook_outdir}/html/ \
$(XSL_HTML_STYLE) c-bindings/bindings.xml
# PDF, via dblatex
spec_pdf = ${docbook_outdir}/pdf/geis2.0-spec.pdf
doc-pdf-docbook: doc-pdf-dblatex-docbook
doc-pdf-dblatex-docbook: $(xml_sources) ${docbook_outdir}/pdf
@echo "Generating pdf dblatex files..."
$(DBLATEX) $(DBLATEX_FLAGS) -o ${spec_pdf} set.xml
${docbook_outdir}/fo:
mkdir -p ${docbook_outdir}/fo
${docbook_outdir}/html:
mkdir -p ${docbook_outdir}/html
${docbook_outdir}/pdf:
mkdir -p ${docbook_outdir}/pdf
clean:
-rm -rf docbook
-rm -rf *.fo
-rm -rf *.pdf
|