38e6ebff3fc6653306ecad4409f7b4a57dbf3d48
[exim.git] / doc / doc-docbook / Makefile
1 # $Cambridge: exim/doc/doc-docbook/Makefile,v 1.6 2005/12/20 15:45:02 ph10 Exp $
2
3 # Make file for Exim documentation from Asciidoc source.
4
5 notarget:;    @echo "** You must specify a target, in the form x.y, where x is 'filter', 'spec',"
6               @echo "** or 'test', and y is 'xml', 'fo', 'ps', 'pdf', 'html', 'txt', or 'info'."
7               @echo "** One other possible target is 'exim.8'".
8               exit 1
9
10
11 ############################## MAN PAGE ################################
12
13 exim.8: spec.xml
14               ./x2man
15
16 ########################################################################
17
18
19 ############################### FILTER #################################
20
21 filter.xml:   filter.ascd MyAsciidoc.conf
22               asciidoc -d book -b docbook -f MyAsciidoc.conf filter.ascd
23
24 filter-fo.xml: filter.xml Pre-xml
25               ./Pre-xml -bookinfo <filter.xml >filter-fo.xml
26
27 filter-html.xml: filter.xml Pre-xml
28               ./Pre-xml -html <filter.xml >filter-html.xml
29
30 filter-txt.xml: filter.xml Pre-xml
31               ./Pre-xml -ascii -html <filter.xml >filter-txt.xml
32
33 filter.fo:    filter-fo.xml MyStyle-filter-fo.xsl MyStyle-fo.xsl MyStyle.xsl
34               /bin/rm -rf filter.fo filter-fo.fo
35               xmlto -x MyStyle-filter-fo.xsl fo filter-fo.xml
36               /bin/mv -f filter-fo.fo filter.fo
37
38 # Do not use pdf2ps from the PDF version; better PS is generated directly.
39
40 filter.ps:    filter.fo
41               fop filter.fo -ps filter-tmp.ps
42               mv filter-tmp.ps filter.ps
43
44 # Do not use ps2pdf from the PS version; better PDF is generated directly. It
45 # contains cross links etc.
46
47 filter.pdf:   filter.fo
48               fop filter.fo -pdf filter-tmp.pdf
49               mv filter-tmp.pdf filter.pdf
50
51 filter.html:  filter-html.xml TidyHTML-filter MyStyle-nochunk-html.xsl MyStyle-html.xsl MyStyle.xsl
52               /bin/rm -rf filter.html filter-html.html
53               xmlto -x MyStyle-nochunk-html.xsl html-nochunks filter-html.xml
54               /bin/mv -f filter-html.html filter.html
55               ./TidyHTML-filter
56
57 filter.txt:   filter-txt.xml Tidytxt MyStyle-txt-html.xsl MyStyle-html.xsl MyStyle.xsl
58               /bin/rm -rf filter-txt.html
59               xmlto -x MyStyle-txt-html.xsl html-nochunks filter-txt.xml
60               w3m -dump filter-txt.html >filter.txt
61
62 # I have not found a way of making docbook2texi write its output anywhere
63 # other than the file name that it makes up. The --to-stdout option does not
64 # work.
65
66 filter.info:  filter-txt.xml
67               docbook2texi filter-txt.xml
68               perl -ne 's/conceptindex/cindex/;s/optionindex/findex/;print;' \
69                 <exim_filtering.texi | Tidytxt >filter.texinfo
70               /bin/rm -rf exim_filtering.texi
71               makeinfo -o filter.info filter.texinfo
72
73 ########################################################################
74
75
76 ################################ SPEC ##################################
77
78 spec.xml:     spec.ascd MyAsciidoc.conf
79               asciidoc -d book -b docbook -f MyAsciidoc.conf spec.ascd
80
81 spec-fo.xml:  spec.xml Pre-xml
82               ./Pre-xml <spec.xml >spec-fo.xml
83
84 spec-html.xml: spec.xml Pre-xml
85               ./Pre-xml -abstract -html -oneindex <spec.xml >spec-html.xml
86
87 spec-txt.xml: spec.xml Pre-xml
88               ./Pre-xml -abstract -ascii -html -noindex <spec.xml >spec-txt.xml
89
90 spec.fo:      spec-fo.xml MyStyle-spec-fo.xsl MyStyle-fo.xsl MyStyle.xsl MyTitleStyle.xsl
91               /bin/rm -rf spec.fo spec-fo.fo
92               xmlto -x MyStyle-spec-fo.xsl fo spec-fo.xml
93               /bin/mv -f spec-fo.fo spec.fo
94
95 # Do not use pdf2ps from the PDF version; better PS is generated directly.
96
97 spec.ps:      spec.fo
98               FOP_OPTS=-Xmx512m fop spec.fo -ps spec-tmp.ps
99               mv spec-tmp.ps spec.ps
100
101 # Do not use ps2pdf from the PS version; better PDF is generated directly. It
102 # contains cross links etc.
103
104 spec.pdf:     spec.fo
105               FOP_OPTS=-Xmx512m fop spec.fo -pdf spec-tmp.pdf
106               mv spec-tmp.pdf spec.pdf
107
108 spec.html:    spec-html.xml TidyHTML-spec MyStyle-chunk-html.xsl MyStyle-html.xsl MyStyle.xsl
109               /bin/rm -rf spec.html
110               xmlto -x MyStyle-chunk-html.xsl -o spec.html html spec-html.xml
111               ./TidyHTML-spec
112
113 spec.txt:     spec-txt.xml Tidytxt MyStyle-txt-html.xsl MyStyle-html.xsl MyStyle.xsl
114               /bin/rm -rf spec-txt.html
115               xmlto -x MyStyle-txt-html.xsl html-nochunks spec-txt.xml
116               w3m -dump spec-txt.html | Tidytxt >spec.txt
117
118 # I have not found a way of making docbook2texi write its output anywhere
119 # other than the file name that it makes up. The --to-stdout option does not
120 # work.
121
122 spec.info:    spec-txt.xml
123               docbook2texi spec-txt.xml
124               perl -ne 's/conceptindex/cindex/;s/optionindex/findex/;print;' \
125                 <the_exim_mta.texi >spec.texinfo
126               /bin/rm -rf the_exim_mta.texi
127               makeinfo -o spec.info spec.texinfo
128
129 ########################################################################
130
131
132 ################################ TEST ##################################
133
134 # These targets (similar to the above)  are for running little tests.
135
136 test.xml:     test.ascd MyAsciidoc.conf
137               asciidoc -d book -b docbook -f MyAsciidoc.conf test.ascd
138
139 test-fo.xml:  test.xml Pre-xml
140               ./Pre-xml <test.xml >test-fo.xml
141
142 test-html.xml: test.xml Pre-xml
143               ./Pre-xml -abstract -html -oneindex <test.xml >test-html.xml
144
145 test-txt.xml: test.xml Pre-xml
146               ./Pre-xml -abstract -ascii -html -noindex <test.xml >test-txt.xml
147
148 test.fo:      test-fo.xml MyStyle-spec-fo.xsl MyStyle-fo.xsl MyStyle.xsl MyTitleStyle.xsl
149               /bin/rm -rf test.fo test-fo.fo
150               xmlto -x MyStyle-spec-fo.xsl fo test-fo.xml
151               /bin/mv -f test-fo.fo test.fo
152
153 # Do not use pdf2ps from the PDF version; better PS is generated directly.
154
155 test.ps:      test.fo
156               fop test.fo -ps test-tmp.ps
157               mv test-tmp.ps test.ps
158
159 # Do not use ps2pdf from the PS version; better PDF is generated directly. It
160 # contains cross links etc.
161
162 test.pdf:     test.fo
163               fop test.fo -pdf test-tmp.pdf
164               mv test-tmp.pdf test.pdf
165
166 test.html:    test-html.xml MyStyle-nochunk-html.xsl MyStyle-html.xsl MyStyle.xsl
167               /bin/rm -rf test.html test-html.html
168               xmlto -x MyStyle-nochunk-html.xsl html-nochunks test-html.xml
169               /bin/mv -f test-html.html test.html
170
171 test.txt:     test-txt.xml Tidytxt MyStyle-txt-html.xsl MyStyle-html.xsl MyStyle.xsl
172               /bin/rm -rf test-txt.html
173               xmlto -x MyStyle-txt-html.xsl html-nochunks test-txt.xml
174               w3m -dump test-txt.html | Tidytxt >test.txt
175
176 # I have not found a way of making docbook2texi write its output anywhere
177 # other than the file name that it makes up. The --to-stdout option does not
178 # work.
179
180 test.info:    test-txt.xml
181               docbook2texi test-txt.xml
182               perl -ne 's/conceptindex/cindex/;s/optionindex/findex/;print;' \
183                 <short_title.texi >test.texinfo
184               /bin/rm -rf short_title.texi
185               makeinfo -o test.info test.texinfo
186
187 ########################################################################
188
189
190 ################################ CLEAN #################################
191
192 clean:; /bin/rm -rf exim.8 \
193               filter*.xml spec*.xml test*.xml \
194               *.fo *.html *.pdf *.ps \
195               filter*.txt spec*.txt test*.txt \
196               *.info* *.texinfo *.texi
197
198 ########################################################################