diff options
Diffstat (limited to 'doc/asciidoc/doc/main.aap')
-rw-r--r-- | doc/asciidoc/doc/main.aap | 233 |
1 files changed, 233 insertions, 0 deletions
diff --git a/doc/asciidoc/doc/main.aap b/doc/asciidoc/doc/main.aap new file mode 100644 index 0000000..7e42be4 --- /dev/null +++ b/doc/asciidoc/doc/main.aap @@ -0,0 +1,233 @@ +##################################################################### +# +# 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. |