mirror of
https://git.rtems.org/rtems-source-builder
synced 2024-10-09 07:15:10 +08:00
234 lines
8.1 KiB
Plaintext
234 lines
8.1 KiB
Plaintext
#####################################################################
|
|
#
|
|
# A-A-P file for making AsciiDoc distribution documentation.
|
|
# (you can obtain A-A-P from http://www.a-a-p.org)
|
|
#
|
|
# Stuart Rackham <srackham@gmail.com>
|
|
#####################################################################
|
|
|
|
:execute ../common.aap
|
|
|
|
ASCIIDOC = python ../asciidoc.py -a revnumber=$(VERS)@ -a revdate="$(DATE)@"
|
|
A2X = python ../a2x.py
|
|
|
|
:syseval which fop | :assign FOP
|
|
@if not _no.FOP:
|
|
:syseval which fop.sh | :assign FOP
|
|
:syseval which lynx | :assign LYNX # Converts HTML to text.
|
|
:syseval which xmllint | :assign XMLLINT # Validates XML.
|
|
:syseval which dblatex | :assign DBLATEX # Converts DocBook XML to PDF.
|
|
:syseval which aspell | :assign ASPELL
|
|
:syseval which xsltproc | :assign XSLTPROC
|
|
|
|
ROOT = asciidoc asciidoc.1
|
|
INFILES = $*(ROOT).txt
|
|
CHUNK_DIR = ./asciidoc.chunked
|
|
HTMLHELP_DIR = ./asciidoc.htmlhelp
|
|
HTMLHELP_FILE = asciidoc
|
|
|
|
OUTFILES = $*(ROOT).html $*(ROOT).css.html $*(ROOT).css-embedded.html \
|
|
asciidoc.pdf asciidoc.1.man a2x.1.man \
|
|
article.html book.html book-multi.html asciidoc.xml asciidoc.1.xml \
|
|
../BUGS ../CHANGELOG ../README ../INSTALL \
|
|
latex-backend.html \
|
|
$HTMLHELP_DIR/index.html \
|
|
$CHUNK_DIR/index.html \
|
|
article.pdf \
|
|
latexmath.pdf \
|
|
latex-filter.pdf \
|
|
source-highlight-filter.pdf \
|
|
music-filter.pdf \
|
|
book.epub \
|
|
article-standalone.html \
|
|
article-html5-toc2.html
|
|
|
|
TEST_FILES = $*(ROOT).css-embedded.html
|
|
article.css-embedded.html book.css-embedded.html \
|
|
article.xml book.xml book-multi.xml asciidoc.xml asciidoc.1.xml \
|
|
asciidoc.1.html a2x.1.xml music-filter.xml \
|
|
book.epub asciidoc.epub \
|
|
|
|
|
|
#####################################################################
|
|
# Filetype build rules.
|
|
#####################################################################
|
|
|
|
:rule %.epub : %.txt
|
|
:sys $A2X -f epub -d book --epubcheck --icons $source
|
|
|
|
:rule %.text : %.txt
|
|
# Convert AsciiDoc to HTML then use lynx(1) to convert HTML to text.
|
|
@if not _no.LYNX:
|
|
:print WARNING: lynx(1) unavailable: skipping $target file generation
|
|
@else:
|
|
opt = -f ../text.conf
|
|
@if source_list[0] == 'asciidoc.1.txt':
|
|
opt += -d manpage
|
|
@else:
|
|
opt += -n
|
|
:sys $ASCIIDOC $opt -b html4 -o - $source | \
|
|
lynx -dump -stdin > $target
|
|
|
|
:rule %.css.html : %.txt
|
|
opt =
|
|
@if source_list[0] == 'asciidoc.1.txt':
|
|
opt += -d manpage
|
|
@else:
|
|
opt += -n
|
|
opt += -a toc -a toclevels=2 -a scriptsdir=../javascripts
|
|
:sys $ASCIIDOC $opt -b xhtml11 -a linkcss -a icons -a stylesdir=../stylesheets -o $target $(source[0])
|
|
@if _no.XMLLINT:
|
|
:sys $XMLLINT --nonet --noout --valid $target
|
|
@else:
|
|
:print WARNING: xmllint(1) unavailable: skipping validation
|
|
|
|
:rule %.css-embedded.html : %.txt
|
|
opt =
|
|
@if source_list[0] == 'asciidoc.1.txt':
|
|
opt += -d manpage
|
|
@else:
|
|
opt += -n
|
|
opt += -a toc -a toclevels=2
|
|
:sys $ASCIIDOC -b xhtml11 $opt -o $target $(source[0])
|
|
@if _no.XMLLINT:
|
|
:sys $XMLLINT --nonet --noout --valid $target
|
|
@else:
|
|
:print WARNING: xmllint(1) unavailable: skipping validation
|
|
|
|
:rule %.xml : %.txt
|
|
opt =
|
|
@if source_list[0] in ('asciidoc.1.txt','a2x.1.txt'):
|
|
opt += -d manpage
|
|
@else:
|
|
opt += -n
|
|
@if source_list[0] == 'asciidoc.txt' or source_list[0].startswith('book'):
|
|
opt += -d book
|
|
:sys $ASCIIDOC $opt -b docbook $(source[0])
|
|
@if _no.XMLLINT:
|
|
:sys $XMLLINT --nonet --noout --valid $target
|
|
@else:
|
|
:print WARNING: xmllint(1) unavailable: skipping validation
|
|
|
|
:rule %.sgml : %.txt
|
|
opt =
|
|
@if source_list[0] in ('asciidoc.1.txt','a2x.1.txt'):
|
|
opt += -d manpage
|
|
@if source_list[0] == 'asciidoc.txt' or source_list[0].startswith('book'):
|
|
opt += -d book
|
|
:sys $ASCIIDOC $opt -b docbook-sgml $(source[0])
|
|
|
|
:rule %.html: %.xml
|
|
:sys $XSLTPROC --nonet --stringparam admon.textlabel 0 --stringparam html.stylesheet ./docbook-xsl.css ../docbook-xsl/xhtml.xsl $source >$target
|
|
|
|
:rule %.man : %.xml
|
|
:sys $XSLTPROC --nonet ../docbook-xsl/manpage.xsl $source
|
|
:sys touch $target # Dummy target.
|
|
|
|
:rule %.fo: %.xml
|
|
:sys $XSLTPROC --nonet --stringparam admon.textlabel 0 ../docbook-xsl/fo.xsl $source >$target
|
|
|
|
# This kludge forces the User Guide and LaTeX related PDFs to be generated
|
|
# using dblatex so we include a dblatex example in the distribution.
|
|
@if _no.DBLATEX:
|
|
asciidoc.pdf: asciidoc.txt
|
|
:sys $ASCIIDOC -b docbook $(source[0])
|
|
:sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target asciidoc.xml
|
|
latexmath.pdf: latexmath.xml
|
|
:sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target $source
|
|
latex-filter.pdf: latex-filter.xml
|
|
:sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target $source
|
|
|
|
# Force the Source Highlighter PDF to be generated using dblatex
|
|
# because dblatex has builtin source code highlighting.
|
|
@if _no.DBLATEX:
|
|
source-highlight-filter.pdf: source-highlight-filter.xml
|
|
:sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target $source
|
|
|
|
@if _no.FOP:
|
|
:rule %.pdf: %.fo
|
|
:sys $FOP $source $target
|
|
@elif _no.DBLATEX:
|
|
# Fall back to dblatex if no FOP.
|
|
:rule %.pdf: %.xml
|
|
:sys $DBLATEX -p ../dblatex/asciidoc-dblatex.xsl -s ../dblatex/asciidoc-dblatex.sty -o $target $source
|
|
@else:
|
|
:rule %.pdf:
|
|
:print WARNING: PDF processor unavailable: skipping $target file generation
|
|
|
|
|
|
#####################################################################
|
|
# Explicit file generation (cases that don't fit the rules).
|
|
#####################################################################
|
|
|
|
article-standalone.html: article.txt
|
|
:sys $ASCIIDOC -a data-uri -a icons -a toc -a max-width=55em -o $target $source
|
|
|
|
article-html5-toc2.html: article.txt
|
|
:sys $ASCIIDOC -b html5 -a icons -a toc2 -a theme=flask -o $target $source
|
|
|
|
asciidoc.1.html: asciidoc.1.txt
|
|
:sys $ASCIIDOC -d manpage -b html4 $source
|
|
@if _no.XMLLINT:
|
|
:sys $XMLLINT --nonet --noout --valid --html $target
|
|
@else:
|
|
:print WARNING: xmllint(1) unavailable: skipping validation
|
|
|
|
# User Guide 'chunked' into linked HTML pages.
|
|
$CHUNK_DIR/index.html: asciidoc.txt
|
|
:sys $A2X -fchunked -dbook --icons -D ./ asciidoc.txt
|
|
|
|
# HTML Help formatted User Guide.
|
|
$HTMLHELP_DIR/index.html: asciidoc.xml
|
|
:sys $A2X -fhtmlhelp -dbook --icons -D ./ asciidoc.txt
|
|
|
|
../BUGS: ../BUGS.text
|
|
# Make BUGS.text and copy to BUGS.
|
|
:copy ../BUGS.text ../BUGS
|
|
|
|
../CHANGELOG: ../CHANGELOG.text
|
|
# Make CHANGELOG.text and copy to CHANGELOG.
|
|
:copy ../CHANGELOG.text ../CHANGELOG
|
|
|
|
../README: ../README.text
|
|
# Make README.text and copy to README.
|
|
:copy ../README.text ../README
|
|
|
|
../INSTALL: ../INSTALL.text
|
|
# Make INSTALL.text and copy to INSTALL.
|
|
:copy ../INSTALL.text ../INSTALL
|
|
|
|
asciimathml.html: asciimathml.txt
|
|
:sys $ASCIIDOC -a asciimath $source
|
|
# No xmllint(1) checking -- fails on embedded JavaScript.
|
|
|
|
latexmathml.html: latexmathml.txt
|
|
:sys $ASCIIDOC -a latexmath $source
|
|
# No xmllint(1) checking -- fails on embedded JavaScript.
|
|
|
|
|
|
#####################################################################
|
|
# Build commands.
|
|
#####################################################################
|
|
|
|
all: $OUTFILES
|
|
|
|
clean:
|
|
:del {f} $OUTFILES $TEST_FILES
|
|
:del {f} *.bak # Remove aspell backups.
|
|
|
|
spell: $INFILES ../CHANGELOG.txt ../README.txt ../BUGS.txt ../INSTALL.txt \
|
|
a2x.1.txt faq.txt asciidocapi.txt testasciidoc.txt \
|
|
epub-notes.txt publishing-ebooks-with-asciidoc.txt \
|
|
source-highlight-filter.txt \
|
|
slidy.txt slidy-example.txt
|
|
# Interactively spell check all files.
|
|
@for s in source_list:
|
|
:sys {i} $ASPELL check -p ./asciidoc.dict $s
|
|
|
|
clean_testfiles:
|
|
:del {f} $TEST_FILES
|
|
:del {f} music*.png # Force Lilypond to run.
|
|
|
|
test: clean_testfiles $TEST_FILES
|
|
# Force generation and validation of .html and Docbook (.xml) files.
|