1 # $Cambridge: exim/doc/doc-docbook/Makefile,v 1.8 2006/04/04 14:03:49 ph10 Exp $
3 # Make file for Exim documentation from xfpt source.
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'".
11 ############################## MAN PAGE ################################
13 exim.8: spec.xml x2man
16 ########################################################################
19 ############################### FILTER #################################
21 filter.xml: filter.xfpt
24 filter-fo.xml: filter.xml Pre-xml
25 ./Pre-xml -bookinfo <filter.xml >filter-fo.xml
27 filter-html.xml: filter.xml Pre-xml
28 ./Pre-xml -html <filter.xml >filter-html.xml
30 filter-txt.xml: filter.xml Pre-xml
31 ./Pre-xml -ascii -html -quoteliteral <filter.xml >filter-txt.xml
33 filter-info.xml: filter.xml Pre-xml
34 ./Pre-xml -ascii -html <filter.xml >filter-info.xml
36 filter.fo: filter-fo.xml MyStyle-filter-fo.xsl MyStyle-fo.xsl MyStyle.xsl
37 /bin/rm -rf filter.fo filter-fo.fo
38 xmlto -x MyStyle-filter-fo.xsl fo filter-fo.xml
39 /bin/mv -f filter-fo.fo filter.fo
41 # Do not use pdf2ps from the PDF version; better PS is generated directly.
44 fop filter.fo -ps filter-tmp.ps
45 mv filter-tmp.ps filter.ps
47 # Do not use ps2pdf from the PS version; better PDF is generated directly. It
48 # contains cross links etc.
50 filter.pdf: filter.fo PageLabelPDF
51 fop filter.fo -pdf filter-tmp.pdf
52 ./PageLabelPDF 2 <filter-tmp.pdf >filter.pdf
54 filter.html: filter-html.xml TidyHTML-filter MyStyle-nochunk-html.xsl \
55 MyStyle-html.xsl MyStyle.xsl
56 /bin/rm -rf filter.html filter-html.html
57 xmlto -x MyStyle-nochunk-html.xsl html-nochunks filter-html.xml
58 /bin/mv -f filter-html.html filter.html
61 filter.txt: filter-txt.xml Tidytxt MyStyle-txt-html.xsl MyStyle-html.xsl \
63 /bin/rm -rf filter-txt.html
64 xmlto -x MyStyle-txt-html.xsl html-nochunks filter-txt.xml
65 w3m -dump filter-txt.html | ./Tidytxt >filter.txt
67 # I have not found a way of making docbook2texi write its output anywhere
68 # other than the file name that it makes up. The --to-stdout option does not
71 filter.info: filter-info.xml
72 docbook2texi filter-info.xml
73 perl -ne 's/conceptindex/cindex/;s/optionindex/findex/;print;' \
74 <exim_filtering.texi | Tidytxt >filter.texinfo
75 /bin/rm -rf exim_filtering.texi
76 makeinfo -o filter.info filter.texinfo
78 ########################################################################
81 ################################ SPEC ##################################
86 spec-fo.xml: spec.xml Pre-xml
87 ./Pre-xml -optbreak <spec.xml >spec-fo.xml
89 spec-html.xml: spec.xml Pre-xml
90 ./Pre-xml -html -oneindex \
91 <spec.xml >spec-html.xml
93 spec-txt.xml: spec.xml Pre-xml
94 ./Pre-xml -ascii -html -noindex -quoteliteral \
95 <spec.xml >spec-txt.xml
97 spec-info.xml: spec.xml Pre-xml
98 ./Pre-xml -ascii -html -noindex <spec.xml >spec-info.xml
100 spec.fo: spec-fo.xml MyStyle-spec-fo.xsl MyStyle-fo.xsl MyStyle.xsl \
102 /bin/rm -rf spec.fo spec-fo.fo
103 xmlto -x MyStyle-spec-fo.xsl fo spec-fo.xml
104 /bin/mv -f spec-fo.fo spec.fo
106 # Do not use pdf2ps from the PDF version; better PS is generated directly.
109 FOP_OPTS=-Xmx512m fop spec.fo -ps spec-tmp.ps
110 mv spec-tmp.ps spec.ps
112 # Do not use ps2pdf from the PS version; better PDF is generated directly. It
113 # contains cross links etc. We post-process it to add page label information
114 # so that the page identifiers shown by acroread are the correct page numbers.
116 spec.pdf: spec.fo PageLabelPDF
117 FOP_OPTS=-Xmx512m fop spec.fo -pdf spec-tmp.pdf
118 ./PageLabelPDF 12 <spec-tmp.pdf >spec.pdf
120 spec.html: spec-html.xml TidyHTML-spec MyStyle-chunk-html.xsl \
121 MyStyle-html.xsl MyStyle.xsl
122 /bin/rm -rf spec_html
123 xmlto -x MyStyle-chunk-html.xsl -o spec_html html spec-html.xml
126 spec.txt: spec-txt.xml Tidytxt MyStyle-txt-html.xsl MyStyle-html.xsl \
128 /bin/rm -rf spec-txt.html
129 xmlto -x MyStyle-txt-html.xsl html-nochunks spec-txt.xml
130 w3m -dump spec-txt.html | ./Tidytxt >spec.txt
132 # I have not found a way of making docbook2texi write its output anywhere
133 # other than the file name that it makes up. The --to-stdout option does not
136 spec.info: spec-info.xml
137 docbook2texi spec-info.xml
138 ./TidyInfo <the_exim_mta.texi >spec.texinfo
139 /bin/rm -rf the_exim_mta.texi
140 makeinfo -o spec.info spec.texinfo
142 ########################################################################
145 ################################ TEST ##################################
147 # These targets (similar to the above) are for running little tests.
152 test-fo.xml: test.xml Pre-xml
153 ./Pre-xml <test.xml >test-fo.xml
155 test-html.xml: test.xml Pre-xml
156 ./Pre-xml -html -oneindex <test.xml >test-html.xml
158 test-txt.xml: test.xml Pre-xml
159 ./Pre-xml -ascii -html -noindex -quoteinfo \
160 <test.xml >test-txt.xml
162 test-info.xml: test.xml Pre-xml
163 ./Pre-xml -ascii -html -noindex <test.xml >test-info.xml
165 test.fo: test-fo.xml MyStyle-spec-fo.xsl MyStyle-fo.xsl MyStyle.xsl \
167 /bin/rm -rf test.fo test-fo.fo
168 xmlto -x MyStyle-spec-fo.xsl fo test-fo.xml
169 /bin/mv -f test-fo.fo test.fo
171 # Do not use pdf2ps from the PDF version; better PS is generated directly.
174 fop test.fo -ps test-tmp.ps
175 mv test-tmp.ps test.ps
177 # Do not use ps2pdf from the PS version; better PDF is generated directly. It
178 # contains cross links etc.
181 fop test.fo -pdf test-tmp.pdf
182 mv test-tmp.pdf test.pdf
184 test.html: test-html.xml MyStyle-nochunk-html.xsl MyStyle-html.xsl \
186 /bin/rm -rf test.html test-html.html
187 xmlto -x MyStyle-nochunk-html.xsl html-nochunks test-html.xml
188 /bin/mv -f test-html.html test.html
190 test.txt: test-txt.xml Tidytxt MyStyle-txt-html.xsl MyStyle-html.xsl \
192 /bin/rm -rf test-txt.html
193 xmlto -x MyStyle-txt-html.xsl html-nochunks test-txt.xml
194 w3m -dump test-txt.html | Tidytxt >test.txt
196 # I have not found a way of making docbook2texi write its output anywhere
197 # other than the file name that it makes up. The --to-stdout option does not
200 test.info: test-info.xml
201 docbook2texi test-info.xml
202 ./TidyInfo <short_title.texi >test.texinfo
203 /bin/rm -rf short_title.texi
204 makeinfo -o test.info test.texinfo
206 ########################################################################
209 ################################ CLEAN #################################
211 clean:; /bin/rm -rf exim.8 \
212 filter*.xml spec*.xml test*.xml \
213 *.fo *.html *.pdf *.ps \
214 filter*.txt spec*.txt test*.txt \
215 *.info* *.texinfo *.texi
217 ########################################################################