2 # Makefile modified by David Hilvert to generate ALE documentation.
8 # $Date: 2006-09-01 15:47:16 +0900 (Fri, 01 Sep 2006) $
12 # -----------------------------------------------------------------
13 # ** Makefile.DocBook -- generate output from DocBook sources **
14 # -----------------------------------------------------------------
16 # This file is part of the DocBook Project XSL Stylesheet
19 # See http://docbook.sourceforge.net/release/xsl/current/
20 # for copyright and other information.
22 # DOCBOOK_OUTPUT_FORMATS is the default set of targets (output
23 # formats) that get built when you type "make" without any targets
24 # explicitly specified. To generate a different set of output
25 # formats, change the value of DOCBOOK_OUTPUT_FORMATS here or set
26 # it in your environment; for example:
28 # set DOCBOOK_OUTPUT_FORMATS="html pdf"; export DOCBOOK_OUTPUT_FORMATS
30 # Of course by explicitly specifying particular targets when you
31 # invoke "make", you can always override generation of the default
32 # set of targets; for example:
36 # That would generate just HTML (unchunked) and plain-text output.
38 DOCBOOK_OUTPUT_FORMATS ?
= man chunk txt pdf
info
40 # If you want XHTML output instead of HTML, set HTML_OR_XHTML to
41 # 'xhtml' or just specify 'xhtml" in DOCBOOK_OUTPUT_FORMATS.
42 ifeq ($(findstring xhtml
,$(DOCBOOK_OUTPUT_FORMATS
)),)
45 HTML_OR_XHTML ?
= xhtml
48 # -----------------------------------------------------------------
49 # *** TOOLS and other DEPENDENCIES ***
50 # -----------------------------------------------------------------
51 # we use rmdir(1) to remove dirs we create for chunked HTML output
53 # "-p" causes empty parent dirs to be deleted as well
54 RMDIR_FLAGS
= --ignore-fail-on-non-empty
-p
56 # possible values for PDF_MAKER are:
57 # dblatex|fop|xep|xmlroff|passivetex
60 # possible values for TXT_MAKER are:
61 # links|lynx|w3m|w3mmee
63 # TXT_MAKER_FLAGS = -dump -no-numbering -no-references
64 TXT_MAKER_FLAGS
= -dump
68 XSLT_FLAGS
= --xinclude
$(XSLT_VERSION_INFO
)
70 # http://dblatex.sourceforge.net/
72 DBLATEX_FLAGS
= -b pdftex
-P page.margin.inner
=0.8 -P page.margin.outer
=0.5 -P double.sided
=1 -T db2latex
80 # http://xmlroff.sourceforge.net/
90 # http://docbook2x.sourceforge.net/
91 DB2X_XSLTPROC
= db2x_xsltproc
92 DB2X_XSLTPROC_FLAGS
= --xinclude
93 DB2X_TEXIXML
= db2x_texixml
--list-files
96 # we call the man(1) command to generate "foo.N.pdf" and
97 # "foo.N.txt" output (see "man-pdf" & "man-txt" targets)
101 # The "ps2pdf" command is part of GhostSript (gs) distro.
102 # It is just a wrapper script around gs that does this:
104 # gs -dCompatibilityLevel=1.2 -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \
105 # "-sOutputFile=$outfile" -dCompatibilityLevel=1.2 -c .setpdfwrite -f "$infile"
107 # Where, for example: $outfile = foo.pdf and $infile = foo.1
111 # The "col" command is needed for stripping backspaces and
112 # underscores from man(1) output to get pure plain-text
116 # The "expand" command is needed for expanding tabs from files
117 # generated from "man foo.1 | col -b" output
118 # output to get pure plain-text
122 # value of DOCBOOK_XSL should either be the canonical
123 # (docbook.sourceforge.net) URL for the DocBook Project XSL
124 # stylesheets OR it can be a local system path
125 DOCBOOK_XSL
= http
://docbook.sourceforge.net
/release
/xsl
/current
127 # -----------------------------------------------------------------
128 # names of some DIRECTORIES and FILES we need
129 # -----------------------------------------------------------------
130 # We create a tmp directory once per make invocation; it's needed
131 # for holding a temporary copy of the custom DBLaTeX stylesheet
132 # (because dblatex currently can't read a stylesheet from stdin)
134 TMPNUM
:= $(shell echo
$$$$)
135 DOCBOOK_TMP
:= $(TMP
)/docbook-make-
$(TMPNUM
)
137 # MAN_MANIFEST_EXT is file extension added to individual manifest
139 MAN_MANIFEST_EXT
= manifest_man
141 # HTML_MANIFEST_EXT is file extension added to HTML manifest files
142 HTML_MANIFEST_EXT
= manifest_html
144 # BASEDIR_SUFFIX is a what you need to set if you want a suffix
145 # added to the end of each "base.dir" we create while generating
146 # chunked HTML output
147 #BASEDIR_SUFFIX = -html
148 #BASEDIR_SUFFIX = _html
152 # Workaround the fact that we don't calculate dependencies.
155 BROKEN_DEPENDENCIES
= package
/changelog
/index.in
$(shell find .
-name
"*.xml") package
/changelog
/index.xml make-changelog Makefile
158 # -----------------------------------------------------------------
160 # -----------------------------------------------------------------
161 # HTML_STYLESHEET -> $html.stylesheet stylesheet param
162 # http://docbook.sourceforge.net/snapshots/xsl/doc/html/html.stylesheet.html
163 HTML_STYLESHEET
= style.css
164 # HTML_IMAGES -> $admon.graphics.path
165 # http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.path.html
166 HTML_IMAGES
= images
/
167 # HTML_IMAGES_EXT -> $admon.graphics.extension
168 # http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.extension.html
169 HTML_IMAGES_EXT
= .png
171 # use these to set params on the command-line
172 # format is, e.g., HTML_PARAMS="--stringparam variablelist.as.table 1..."
177 # DBX_PARAMS is for dblatex(1); format uses "-p":
178 # DBX_PARAMS="-p doc.publisher.show 1 -p term.breakline 1...
181 # What file extension do you use for DocBook source files?
182 DOCBOOK_FILE_EXTENSION
= .docbook
183 SOURCE_FILE_EXTENSION
= .xml
185 # -----------------------------------------------------------------
186 # make(1) functions for building file lists
187 # -----------------------------------------------------------------
189 # the values of the following are used for determing what needs
190 # to be built and/or cleaned up
192 SOURCE_FILES_DBK
= $(wildcard *$(SOURCE_FILE_EXTENSION
))
194 FILES_FO
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).fo
)
195 FILES_TXT
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).txt
)
196 FILES_PDF
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).pdf
)
197 FILES_LOG
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).log
)
198 FILES_OUT
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).out
)
199 FILES_AUX
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).aux
)
200 FILES_HTML
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).html
)
201 FILES_INFO
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).
info)
202 DIRS_CHUNK
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
)$(BASEDIR_SUFFIX
))
203 LISTS_HTML
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).
$(HTML_MANIFEST_EXT
))
204 LISTS_MAN
= $(foreach base
,$(basename $(SOURCE_FILES_DBK
)),$(base
).
$(MAN_MANIFEST_EXT
))
205 FILES_CHNK
= $(shell for manifest in
$(LISTS_HTML
); do if
[ -f
"$$manifest" ]; then cat
$$manifest; fi done
)
206 FILES_MAN
= $(shell for manifest in
$(LISTS_MAN
); do if
[ -f
"$$manifest" ]; then cat
$$manifest; fi done
)
207 FILES_MANP
= $(foreach base
,$(FILES_MAN
),$(base
).pdf
)
208 FILES_MANT
= $(foreach base
,$(FILES_MAN
),$(base
).txt
)
209 DIRS_MAN
= $(shell for file in
$(FILES_MAN
); do dirname
$$file; done | uniq
)
211 # -----------------------------------------------------------------
212 # ** stylesheet for testing whether a file has a refentry
213 # -----------------------------------------------------------------
214 REFENTRY_CHECK
:= <xsl
:stylesheet xmlns
:xsl
="http://www.w3.org/1999/XSL/Transform" \
216 xmlns
:db
="http://docbook.org/ns/docbook" \
218 <xsl
:output method
="text"/> \
219 <xsl
:template match
="/"> \
220 <xsl
:if
test="//refentry|//db:refentry"> \
221 <xsl
:text
>true
</xsl
:text
> \
226 # -----------------------------------------------------------------
227 # ** Stylesheet Customization Layers **
228 # -----------------------------------------------------------------
231 DBX_CUSTOM
:= <xsl
:stylesheet xmlns
:xsl
="http://www.w3.org/1999/XSL/Transform" \
233 <xsl
:param name
="co.linkends.show">0</xsl
:param
> \
234 <xsl
:param name
="callout.markup.circled">1</xsl
:param
> \
235 <xsl
:param name
="callout.linkends.hot">0</xsl
:param
> \
236 <xsl
:param name
="doc.publisher.show">1</xsl
:param
> \
237 <xsl
:param name
="term.breakline">1</xsl
:param
> \
238 <xsl
:param name
="doc.alignment">left
</xsl
:param
> \
239 <xsl
:param name
="newtbl.use">1</xsl
:param
> \
240 <xsl
:param name
="latex.hyperparam"/> \
241 <xsl
:param name
="latex.style">docbook
</xsl
:param
> \
242 <xsl
:param name
="latex.biblio.output">all</xsl
:param
> \
243 <xsl
:param name
="latex.bibfiles">""</xsl
:param
> \
244 <xsl
:param name
="latex.bibwidelabel">WIDELABEL
</xsl
:param
> \
245 <xsl
:param name
="latex.output.revhistory">0</xsl
:param
> \
246 <xsl
:param name
="latex.figure.position">[htbp
]</xsl
:param
> \
247 <xsl
:param name
="latex.figure.boxed">0</xsl
:param
> \
248 <xsl
:param name
="latex.babel.use">1</xsl
:param
> \
249 <xsl
:param name
="latex.babel.language"></xsl
:param
> \
250 <xsl
:param name
="latex.class.options">twoside
</xsl
:param
> \
251 <xsl
:param name
="biblioentry.item.separator">, </xsl
:param
> \
252 <xsl
:param name
="refentry.xref.manvolnum">1</xsl
:param
> \
253 <xsl
:param name
="refsynopsis.title">Synopsis
</xsl
:param
> \
254 <xsl
:param name
="refnamediv.title"></xsl
:param
> \
255 <xsl
:param name
="funcsynopsis.style">ansi
</xsl
:param
> \
256 <xsl
:param name
="funcsynopsis.decoration">1</xsl
:param
> \
257 <xsl
:param name
="function.parens">0</xsl
:param
> \
258 <xsl
:param name
="classsynopsis.default.language">java
</xsl
:param
> \
259 <xsl
:param name
="show.comments">0</xsl
:param
> \
265 # NOTE: The following changes may be required to the stock docbook stylesheets
266 # for double-sided output:
268 # In /usr/share/xml/docbook/stylesheet/nwalsh/fo:
270 # o Add '<xsl:attribute name="margin-left">0pc</xsl:attribute>'
271 # to the template 'footer.table'. This fixes number positioning in
272 # double-sided output.
273 # o In the test for generating 'section.head.marker', change
274 # the test '$double-sided != 0' to read '$double-sided > 1'.
275 # This disables section-name headings in favor of chapter-name
278 # --dhilvert@auricle.dyndns.org, 12-Oct-2006
280 FO_CUSTOM
:= <xsl
:stylesheet xmlns
:xsl
="http://www.w3.org/1999/XSL/Transform" \
281 xmlns
:fo
="http://www.w3.org/1999/XSL/Format" \
283 <xsl
:import href
="$(DOCBOOK_XSL)/fo/docbook.xsl"/> \
284 <xsl
:param name
="$(PDF_MAKER).extensions">1</xsl
:param
> \
285 <xsl
:param name
="paper.type">Custom
</xsl
:param
> \
286 <xsl
:param name
="commented.page.height">9.25in
</xsl
:param
> \
287 <xsl
:param name
="commented.page.width">7.5in
</xsl
:param
> \
288 <xsl
:param name
="page.height">PAPER_HEIGHT
</xsl
:param
> \
289 <xsl
:param name
="page.width">PAPER_WIDTH
</xsl
:param
> \
290 <xsl
:param name
="commented.page.margin.inner">3in
</xsl
:param
> \
291 <xsl
:param name
="commented.page.margin.outer">3in
</xsl
:param
> \
292 <xsl
:param name
="chapter.autolabel">1</xsl
:param
> \
293 <xsl
:param name
="section.autolabel">1</xsl
:param
> \
294 <xsl
:param name
="toc.section.depth">2</xsl
:param
> \
295 <xsl
:param name
="commented.toc.max.depth">2</xsl
:param
> \
296 <xsl
:param name
="double.sided">DOUBLE_SIDED
</xsl
:param
> \
297 <xsl
:param name
="draft.watermark.image"></xsl
:param
> \
298 <xsl
:param name
="hyphenation">false
</xsl
:param
> \
299 <xsl
:param name
="hyphenate.verbatim">1</xsl
:param
> \
300 <xsl
:param name
="alignment">left
</xsl
:param
> \
301 <xsl
:param name
="refentry.generate.name">1</xsl
:param
> \
302 <xsl
:param name
="refentry.generate.title">0</xsl
:param
> \
303 <xsl
:param name
="refentry.pagebreak">1</xsl
:param
> \
304 <xsl
:param name
="shade.verbatim">1</xsl
:param
> \
305 <xsl
:param name
="variablelist.as.blocks">1</xsl
:param
> \
306 <xsl
:param name
="ulink.show">1</xsl
:param
> \
307 <xsl
:param name
="ulink.footnotes">1</xsl
:param
> \
308 <xsl
:param name
="index.on.type">1</xsl
:param
> \
309 <xsl
:attribute-set name
="xref.properties"> \
310 <xsl
:attribute name
="color">XREF_COLOR
</xsl
:attribute
> \
311 </xsl
:attribute-set
> \
312 <xsl
:template match
="section[@tocexclude = 1]" mode
="toc" /> \
313 <xsl
:template name
="commented.page.number.format"> \
314 <xsl
:param name
="element" select
="local-name(.)"/> \
316 <xsl
:when
test="$element = 'toc'">i
</xsl
:when
> \
317 <xsl
:when
test="$element = 'preface'">i
</xsl
:when
> \
318 <xsl
:when
test="$element = 'dedication'">i
</xsl
:when
> \
319 <xsl
:when
test="$element = 'book'">i
</xsl
:when
> \
320 <xsl
:when
test="$element = 'set'">i
</xsl
:when
> \
321 <xsl
:otherwise
>1</xsl
:otherwise
> \
324 <xsl
:template match
="*" mode
="toc.for.set"> \
325 <xsl
:call-template name
="set.toc"/> \
327 <xsl
:attribute-set name
="shade.verbatim.style"> \
328 <xsl
:attribute name
="background-color">\
#E0E0E0</xsl:attribute> \
329 <xsl
:attribute name
="padding-left">4pt
</xsl
:attribute
> \
330 <xsl
:attribute name
="padding-right">4pt
</xsl
:attribute
> \
331 <xsl
:attribute name
="padding-top">4pt
</xsl
:attribute
> \
332 <xsl
:attribute name
="padding-bottom">4pt
</xsl
:attribute
> \
333 </xsl
:attribute-set
> \
334 <xsl
:attribute-set name
="section.title.level1.properties"> \
335 <xsl
:attribute name
="font-size"> \
336 <xsl
:value-of select
="$$body.font.master * 1.5"></xsl
:value-of
> \
337 <xsl
:text
>pt
</xsl
:text
> \
339 </xsl
:attribute-set
> \
340 <xsl
:attribute-set name
="section.title.level2.properties"> \
341 <xsl
:attribute name
="font-size"> \
342 <xsl
:value-of select
="$$body.font.master * 1.3"></xsl
:value-of
> \
343 <xsl
:text
>pt
</xsl
:text
> \
345 </xsl
:attribute-set
> \
346 <xsl
:attribute-set name
="section.title.level3.properties"> \
347 <xsl
:attribute name
="font-size"> \
348 <xsl
:value-of select
="$$body.font.master * 1.1"></xsl
:value-of
> \
349 <xsl
:text
>pt
</xsl
:text
> \
351 </xsl
:attribute-set
> \
352 <xsl
:attribute-set name
="section.title.level4.properties"> \
353 <xsl
:attribute name
="font-size"> \
354 <xsl
:value-of select
="$$body.font.master"></xsl
:value-of
> \
355 <xsl
:text
>pt
</xsl
:text
> \
357 </xsl
:attribute-set
> \
358 <xsl
:attribute-set name
="component.title.properties"> \
359 <xsl
:attribute name
="font-size"> \
360 <xsl
:value-of select
="$$body.font.master * 1.5"></xsl
:value-of
> \
361 <xsl
:text
>pt
</xsl
:text
> \
363 </xsl
:attribute-set
> \
364 <xsl
:attribute-set name
="monospace.verbatim.properties"> \
365 <xsl
:attribute name
="wrap-option">wrap
</xsl
:attribute
> \
366 <xsl
:attribute name
="hyphenation-character">\
</xsl
:attribute
> \
367 <xsl
:attribute name
="font-size"> \
368 <xsl
:value-of select
="$$body.font.master * 0.8"></xsl
:value-of
> \
369 <xsl
:text
>pt
</xsl
:text
> \
371 </xsl
:attribute-set
> \
374 FO_LETTER_COLOR
:= $(subst PAPER_WIDTH
, 8.5in
, \
375 $(subst PAPER_HEIGHT
, 11in
, \
376 $(subst XREF_COLOR
,blue
, \
377 $(subst DOUBLE_SIDED
, 0, \
380 FO_LETTER_MONO
:= $(subst PAPER_WIDTH
, 8.5in
, \
381 $(subst PAPER_HEIGHT
, 11in
, \
382 $(subst XREF_COLOR
,black
, \
383 $(subst DOUBLE_SIDED
, 0, \
386 FO_SMALL_COLOR
:= $(subst PAPER_WIDTH
, 7.5in
, \
387 $(subst PAPER_HEIGHT
, 9.25in
, \
388 $(subst XREF_COLOR
,blue
, \
389 $(subst DOUBLE_SIDED
, 1, \
392 FO_SMALL_MONO
:= $(subst PAPER_WIDTH
, 7.5in
, \
393 $(subst PAPER_HEIGHT
, 9.25in
, \
394 $(subst XREF_COLOR
,black
, \
395 $(subst DOUBLE_SIDED
, 1, \
398 # for single-file (X)HTML outpout
399 HTML_CUSTOM
:= <xsl
:stylesheet xmlns
:xsl
="http://www.w3.org/1999/XSL/Transform" \
401 <xsl
:import href
="$(DOCBOOK_XSL)/$(HTML_OR_XHTML)/docbook.xsl"/> \
402 <xsl
:param name
="gentext.custom">local.l10n.xml
</xsl
:param
> \
403 <xsl
:param name
="local.l10n.xml" select
="document($$gentext.custom)"/> \
404 <xsl
:param name
="refentry.generate.name">1</xsl
:param
> \
405 <xsl
:param name
="refentry.generate.title">0</xsl
:param
> \
406 <xsl
:param name
="root.filename"></xsl
:param
> \
407 <xsl
:param name
="variablelist.as.table">0</xsl
:param
> \
408 <xsl
:param name
="html.stylesheet">$(HTML_STYLESHEET
)</xsl
:param
> \
409 <xsl
:param name
="admon.graphics">0</xsl
:param
> \
410 <xsl
:param name
="index.on.type">1</xsl
:param
> \
411 <xsl
:param name
="chapter.autolabel">1</xsl
:param
> \
412 <xsl
:param name
="section.autolabel">1</xsl
:param
> \
413 <xsl
:param name
="toc.section.depth">2</xsl
:param
> \
414 <xsl
:param name
="commented.toc.max.depth">2</xsl
:param
> \
415 <xsl
:template match
="section[@tocexclude = 1]" mode
="toc" /> \
416 <xsl
:param name
="generate.toc"> \
418 article
/appendix nop \
420 book toc
,title
,figure
,table
,example
,equation \
426 reference toc
,title \
437 # for chunked (X)HTML output
438 CHNK_CUSTOM
:= <xsl
:stylesheet xmlns
:xsl
="http://www.w3.org/1999/XSL/Transform" \
440 <xsl
:import href
="$(DOCBOOK_XSL)/$(HTML_OR_XHTML)/chunk.xsl"/> \
441 <xsl
:param name
="refentry.generate.name">0</xsl
:param
> \
442 <xsl
:param name
="refentry.generate.title">1</xsl
:param
> \
443 <xsl
:param name
="variablelist.as.table">0</xsl
:param
> \
444 <xsl
:param name
="html.stylesheet">$(HTML_STYLESHEET
)</xsl
:param
> \
445 <xsl
:param name
="admon.graphics">1</xsl
:param
> \
446 <xsl
:param name
="admon.graphics.path">$(HTML_IMAGES
)</xsl
:param
> \
447 <xsl
:param name
="admon.graphics.extension">$(HTML_IMAGES_EXT
)</xsl
:param
> \
448 <xsl
:param name
="root.filename"></xsl
:param
> \
449 <xsl
:param name
="generate.manifest">1</xsl
:param
> \
450 <xsl
:param name
="use.id.as.filename">1</xsl
:param
> \
451 <xsl
:param name
="chunker.output.indent">yes
</xsl
:param
> \
452 <xsl
:param name
="index.on.type">1</xsl
:param
> \
453 <xsl
:param name
="chapter.autolabel">1</xsl
:param
> \
454 <xsl
:param name
="section.autolabel">1</xsl
:param
> \
455 <xsl
:param name
="toc.section.depth">2</xsl
:param
> \
456 <xsl
:param name
="commented.toc.max.depth">2</xsl
:param
> \
457 <xsl
:template match
="section[@tocexclude = 1]" mode
="toc" /> \
458 <xsl
:param name
="generate.toc"> \
460 article
/appendix nop \
462 book toc
,title
,figure
,table
,example
,equation \
468 reference toc
,title \
479 # for man-page output
480 MAN_CUSTOM
:= <xsl
:stylesheet xmlns
:xsl
="http://www.w3.org/1999/XSL/Transform" \
482 <xsl
:import href
="$(DOCBOOK_XSL)/manpages/docbook.xsl"/> \
483 <xsl
:param name
="man.output.manifest.enabled" select
="1"/> \
484 <xsl
:param name
="man.output.in.separate.dir" select
="1"/> \
485 <xsl
:param name
="man.output.base.dir">man
/</xsl
:param
> \
486 <xsl
:param name
="man.output.subdirs.enabled" select
="1"/> \
490 # ALE documentation targets
493 ALE_SUBDIRS
:= user technical
494 ALE_TYPES
:= letter.pdf txt
info
495 ALE_PACKAGE
:= TODO ChangeLog NEWS README REPORTING-BUGS
496 ALE_MANUALS
:= $(foreach subdir
, $(ALE_SUBDIRS
), $(subdir
)-manual
)
497 ALE_MANUAL_TARGETS
:= $(foreach manual
, $(ALE_MANUALS
), $(foreach type
, $(ALE_TYPES
), $(manual
).
$(type
)))
498 ALE_PACKAGE_TARGETS
:= $(foreach package
, $(ALE_PACKAGE
), ..
/$(package
))
499 ALE_TARGETS
:= $(ALE_MANUAL_TARGETS
) $(ALE_PACKAGE_TARGETS
)
502 # -----------------------------------------------------------------
503 # ** TARGETS START HERE **
504 # -----------------------------------------------------------------
505 # prevents make from deleting, e.g. foo.1, after making foo.1.pdf
506 # and foo.1.txt from it.
507 .PRECIOUS
: %.1 %.2 %.3 %.4 %.5 %.6 %.7 %.8 %.9
509 # docbook: index.docbook $(DOCBOOK_OUTPUT_FORMATS) ../TODO ../ChangeLog ../NEWS ../README ../REPORTING-BUGS
510 docbook
: $(ALE_TARGETS
) index.docbook chunk
513 mkdir
-p
info; mv
*.
info info
516 %-manual.docbook
: %/index.xml
517 $(XSLT
) $(XSLT_FLAGS
) ale-doc.xsl
$< > $@
519 manual-set.docbook
: index.xml
520 $(XSLT
) $(XSLT_FLAGS
) ale-doc.xsl
$< > $@
522 ..
/TODO
: package
/todo
/index.txt
523 mv package
/todo
/index.txt ..
/TODO
525 ..
/ChangeLog
: package
/changelog
/index.txt
526 mv package
/changelog
/index.txt ..
/ChangeLog
528 ..
/NEWS
: package
/news
/index.txt
529 mv package
/news
/index.txt ..
/NEWS
531 ..
/README
: package
/readme
/index.txt
532 mv package
/readme
/index.txt ..
/README
536 # we can generate PDFs from man pages
538 $(MAKE
) $(FILES_MANP
)
540 # we can generate plain text from man pages
542 $(MAKE
) $(FILES_MANT
)
554 # use the "debug" target to echo variables, etc., to
555 # test/troubleshoot changes you make to this makefile
559 # -----------------------------------------------------------------
560 # preprocess xml to docbook.
561 # -----------------------------------------------------------------
562 %$(DOCBOOK_FILE_EXTENSION
): %.xml
$(BROKEN_DEPENDENCIES
) ale-doc.xsl
563 $(XSLT
) $(XSLT_FLAGS
) ale-doc.xsl
$< > $@
565 package
/changelog
/index.xml
: package
/changelog
/index.in .
/make-changelog
566 .
/make-changelog
< package
/changelog
/index.in
> package
/changelog
/index.xml
568 # -----------------------------------------------------------------
569 # pattern rule for making (X)HTML and plain-text output
570 # -----------------------------------------------------------------
571 %.html
: %$(DOCBOOK_FILE_EXTENSION
) $(BROKEN_DEPENDENCIES
)
572 @echo
'$(HTML_CUSTOM)' |
$(XSLT
) $(XSLT_FLAGS
) $(HTML_PARAMS
) - $< > $@
575 $(TXT_MAKER
) $(TXT_MAKER_FLAGS
) .
/$< \
576 | sed
"s/^\(\s\+[0-9]\+\. \)file:\/\/.\+$$/\\1(local)/g" \
577 | egrep
-v
'^ file:///.+$$' \
579 # if DOCBOOK_OUTPUT_FORMATS does not contain "html", then we need
580 # to remove the "intermediate" HTML files we used for generating
582 ifeq ($(findstring html
,$(DOCBOOK_OUTPUT_FORMATS
)),)
586 # -----------------------------------------------------------------
587 # pattern rule for making chunked (X)HTML pages
588 # -----------------------------------------------------------------
589 %.
$(HTML_MANIFEST_EXT
): %$(DOCBOOK_FILE_EXTENSION
) $(BROKEN_DEPENDENCIES
)
590 @echo
'$(CHNK_CUSTOM)' |
$(XSLT
) $(XSLT_FLAGS
) $(HTML_PARAMS
) \
591 --stringparam manifest
$@ \
592 --stringparam base.
dir $(basename $@
)$(BASEDIR_SUFFIX
)/ \
595 # -----------------------------------------------------------------
596 # pattern rules for making FO and PDF stuff
597 # -----------------------------------------------------------------
598 %.letter.fo
: %$(DOCBOOK_FILE_EXTENSION
) $(BROKEN_DEPENDENCIES
)
599 @echo
'$(FO_LETTER_COLOR)' \
600 |
$(XSLT
) $(XSLT_FLAGS
) $(FO_PARAMS
) - $< > $@
602 %.small.fo
: %$(DOCBOOK_FILE_EXTENSION
) $(BROKEN_DEPENDENCIES
)
603 @echo
'$(FO_SMALL_COLOR)' \
604 |
$(XSLT
) $(XSLT_FLAGS
) $(FO_PARAMS
) - $< > $@
606 %.letter-mono.fo
: %$(DOCBOOK_FILE_EXTENSION
) $(BROKEN_DEPENDENCIES
)
607 @echo
'$(FO_LETTER_MONO)' \
608 |
$(XSLT
) $(XSLT_FLAGS
) $(FO_PARAMS
) - $< > $@
610 %.small-mono.fo
: %$(DOCBOOK_FILE_EXTENSION
) $(BROKEN_DEPENDENCIES
)
611 @echo
'$(FO_SMALL_MONO)' \
612 |
$(XSLT
) $(XSLT_FLAGS
) $(FO_PARAMS
) - $< > $@
614 ifeq ($(PDF_MAKER
),dblatex
)
615 %.pdf
: %$(DOCBOOK_FILE_EXTENSION
)
616 mkdir
-p
$(DOCBOOK_TMP
)
617 echo
'$(DBX_CUSTOM)' > $(DOCBOOK_TMP
)/dblatex.xsl
618 -$(DBLATEX
) $(DBLATEX_FLAGS
)\
619 -p
$(DOCBOOK_TMP
)/dblatex.xsl \
622 $(RM
) -r
$(DOCBOOK_TMP
)
627 $(error No PDF_MAKER specified. Cannot make pdf
)
629 ifeq ($(PDF_MAKER
),xep
)
630 $(XEP
) $(XEP_FLAGS
) $< $@
632 ifeq ($(PDF_MAKER
),fop
)
633 $(FOP
) $(FOP_FLAGS
) $< $@
635 ifeq ($(PDF_MAKER
),xmlroff
)
636 $(XMLROFF
) $(XMLROFF_FLAGS
) $< -o
$@
638 ifeq ($(PDF_MAKER
),passivetex
)
639 $(PDFTEX
) $(PDFTEX_FLAGS
) &$(PDFXMLTEX
) $<
640 @if
[ `egrep Rerun $(basename $@).log | wc -l` -gt
0 ]; then \
641 $(PDFTEX
) $(PDFTEX_FLAGS
) &$(PDFXMLTEX
) $< ; \
643 @if
[ `egrep Rerun $(basename $@).log | wc -l` -gt
0 ]; then \
644 $(PDFTEX
) $(PDFTEX_FLAGS
) &$(PDFXMLTEX
) $< ; \
646 $(RM
) $(basename $@
).log
647 $(RM
) $(basename $@
).aux
648 $(RM
) $(basename $@
).out
650 $(error I do not know how to make a PDF using
"$(PDF_MAKER)")
657 # -----------------------------------------------------------------
658 # pattern rules for making TeXinfo stuff
659 # -----------------------------------------------------------------
660 %.txml
: %$(DOCBOOK_FILE_EXTENSION
)
661 $(DB2X_XSLTPROC
) $(DB2X_XSLTPROC_FLAGS
) -s texi
-o
$@
$<
664 $(DB2X_TEXIXML
) $(DB2X_TEXIXML_FLAGS
) $< > $@
666 # the following is actually a built-in rule, but it's redefined
667 # here just for the sake of clarity
669 /usr
/bin
/perl
-w make-infos
$(MAKEINFO
) < $<
670 -@
# This doesn't work in general.
671 -@
# $(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@
673 # -----------------------------------------------------------------
674 # pattern rule for making man pages
675 # -----------------------------------------------------------------
676 %.
$(MAN_MANIFEST_EXT
): %$(DOCBOOK_FILE_EXTENSION
)
677 @if
[ "$(strip $(shell echo '$(REFENTRY_CHECK)' | $(XSLT) $(XSLT_FLAGS) - $<))" != "true" ]; then \
680 echo
'$(MAN_CUSTOM)' \
681 |
$(XSLT
) $(XSLT_FLAGS
) $(MAN_PARAMS
) \
682 --stringparam man.output.manifest.filename
$@ \
686 # -----------------------------------------------------------------
687 # pattern rule for enabling direct "make foo.1" to work
688 # -----------------------------------------------------------------
690 %.1 %.2 %.3 %.4 %.5 %.6 %.7: %.xml
691 $(MAKE
) $(basename $<).
$(MAN_MANIFEST_EXT
)
693 # -----------------------------------------------------------------
694 # pattern rules for making Postscript/PDF output from man pages
695 # -----------------------------------------------------------------
697 $(MAN
) -l
$(MAN_FLAGS
) -Tps
$< > $@
700 $(MAN
) -l
$(MAN_FLAGS
) -Tps
$< > $@
703 $(MAN
) -l
$(MAN_FLAGS
) -Tps
$< > $@
706 $(MAN
) -l
$(MAN_FLAGS
) -Tps
$< > $@
709 $(MAN
) -l
$(MAN_FLAGS
) -Tps
$< > $@
712 $(MAN
) -l
$(MAN_FLAGS
) -Tps
$< > $@
715 $(MAN
) -l
$(MAN_FLAGS
) -Tps
$< > $@
718 $(MAN
) -l
$(MAN_FLAGS
) -Tps
$< > $@
721 $(MAN
) -l
$(MAN_FLAGS
) -Tps
$< > $@
723 # -----------------------------------------------------------------
724 # pattern rule for converting Postscript to PDF
725 # -----------------------------------------------------------------
727 $(PS2PDF
) $(PS2PDF_FLAGS
) $<
729 # -----------------------------------------------------------------
730 # pattern rules for making plain-text output from man pages
731 # -----------------------------------------------------------------
733 $(MAN
) -l
$(MAN_FLAGS
) -Tascii
$< |
$(COL
) -b
$(COL_FLAGS
) |
$(EXPAND
) $(EXPAND_FLAGS
) > $@
736 $(MAN
) -l
$(MAN_FLAGS
) -Tascii
$< |
$(COL
) -b
$(COL_FLAGS
) |
$(EXPAND
) $(EXPAND_FLAGS
) > $@
739 $(MAN
) -l
$(MAN_FLAGS
) -Tascii
$< |
$(COL
) -b
$(COL_FLAGS
) |
$(EXPAND
) $(EXPAND_FLAGS
) > $@
742 $(MAN
) -l
$(MAN_FLAGS
) -Tascii
$< |
$(COL
) -b
$(COL_FLAGS
) |
$(EXPAND
) $(EXPAND_FLAGS
) > $@
745 $(MAN
) -l
$(MAN_FLAGS
) -Tascii
$< |
$(COL
) -b
$(COL_FLAGS
) |
$(EXPAND
) $(EXPAND_FLAGS
) > $@
748 $(MAN
) -l
$(MAN_FLAGS
) -Tascii
$< |
$(COL
) -b
$(COL_FLAGS
) |
$(EXPAND
) $(EXPAND_FLAGS
) > $@
751 $(MAN
) -l
$(MAN_FLAGS
) -Tascii
$< |
$(COL
) -b
$(COL_FLAGS
) |
$(EXPAND
) $(EXPAND_FLAGS
) > $@
754 $(MAN
) -l
$(MAN_FLAGS
) -Tascii
$< |
$(COL
) -b
$(COL_FLAGS
) |
$(EXPAND
) $(EXPAND_FLAGS
) > $@
757 $(MAN
) -l
$(MAN_FLAGS
) -Tascii
$< |
$(COL
) -b
$(COL_FLAGS
) |
$(EXPAND
) $(EXPAND_FLAGS
) > $@
759 # -----------------------------------------------------------------
760 # target(s) for cleaning up the mess
761 # -----------------------------------------------------------------
763 find .
-name
"*.info" | xargs
rm -f
764 find .
-name
"*.texi" | xargs
rm -f
765 find .
-name
"*.texi-list" | xargs
rm -f
766 find .
-name
"*.pdf" | xargs
rm -f
767 find .
-name
"*.fo" | xargs
rm -f
768 find .
-name
"*.docbook" | xargs
rm -f
769 find .
-name
"*.txt" | xargs
rm -f
770 rm -f package
/changelog
/index.xml
773 ifneq ($(FILES_TXT
),)
776 ifneq ($(FILES_PDF
),)
782 ifneq ($(FILES_LOG
),)
785 ifneq ($(FILES_OUT
),)
788 ifneq ($(FILES_AUX
),)
791 ifneq ($(FILES_HTML
),)
794 ifneq ($(FILES_CHNK
),)
797 ifneq ($(FILES_MAN
),)
800 ifneq ($(FILES_MANT
),)
803 ifneq ($(FILES_MANP
),)
806 ifneq ($(FILES_INFO
),)
809 ifneq ($(DIRS_CHUNK
),)
810 for
dir in
$(DIRS_CHUNK
); do \
811 if
[ -d
"$$dir" ]; then \
812 $(RMDIR
) $(RMDIR_FLAGS
) $$dir; \
817 ifneq ($(DIRS_MAN
),.
)
818 for
dir in
$(DIRS_MAN
); do \
819 if
[ -d
"$$dir" ]; then \
820 $(RMDIR
) $(RMDIR_FLAGS
) $$dir; \
825 ifneq ($(LISTS_MAN
),)
828 ifneq ($(LISTS_HTML
),)