diff options
author | Luca Falavigna <dktrkranz@debian.org> | 2014-04-26 15:11:58 +0200 |
---|---|---|
committer | Luca Falavigna <dktrkranz@debian.org> | 2014-04-26 15:11:58 +0200 |
commit | 140d836e9cd54fb67b969fd82ef7ed19ba574d40 (patch) | |
tree | 0df3e32ee39603d43f9b90fd2f2e1f7cce4249d4 /src/engine/SCons/Tool/docbook/docbook-xsl-1.76.1/tools/make/Makefile.DocBook | |
parent | cb3425abe0bc2d05caf401ca24b82a25a81f009d (diff) |
Imported Upstream version 2.3.1upstream/2.3.1
Diffstat (limited to 'src/engine/SCons/Tool/docbook/docbook-xsl-1.76.1/tools/make/Makefile.DocBook')
-rw-r--r-- | src/engine/SCons/Tool/docbook/docbook-xsl-1.76.1/tools/make/Makefile.DocBook | 698 |
1 files changed, 698 insertions, 0 deletions
diff --git a/src/engine/SCons/Tool/docbook/docbook-xsl-1.76.1/tools/make/Makefile.DocBook b/src/engine/SCons/Tool/docbook/docbook-xsl-1.76.1/tools/make/Makefile.DocBook new file mode 100644 index 0000000..242066e --- /dev/null +++ b/src/engine/SCons/Tool/docbook/docbook-xsl-1.76.1/tools/make/Makefile.DocBook @@ -0,0 +1,698 @@ +# $Source$ +# $Author: xmldoc $ +# $Date: 2008-03-03 01:20:29 -0800 (Mon, 03 Mar 2008) $ +# $Revision: 7787 $ +# vim: number +# +# ----------------------------------------------------------------- +# ** Makefile.DocBook -- generate output from DocBook sources ** +# ----------------------------------------------------------------- +# +# This file is part of the DocBook Project XSL Stylesheet +# distribution. +# +# See http://docbook.sourceforge.net/release/xsl/current/ +# for copyright and other information. + +# DOCBOOK_OUTPUT_FORMATS is the default set of targets (output +# formats) that get built when you type "make" without any targets +# explicitly specified. To generate a different set of output +# formats, change the value of DOCBOOK_OUTPUT_FORMATS here or set +# it in your environment; for example: +# +# set DOCBOOK_OUTPUT_FORMATS="html pdf"; export DOCBOOK_OUTPUT_FORMATS +# +# Of course by explicitly specifying particular targets when you +# invoke "make", you can always override generation of the default +# set of targets; for example: +# +# make html txt +# +# That would generate just HTML (unchunked) and plain-text output. +# +DOCBOOK_OUTPUT_FORMATS ?= xml man man-pdf chunk txt pdf + +# If you want XHTML output instead of HTML, set HTML_OR_XHTML to +# 'xhtml' or just specify 'xhtml" in DOCBOOK_OUTPUT_FORMATS. +ifeq ($(findstring xhtml,$(DOCBOOK_OUTPUT_FORMATS)),) +HTML_OR_XHTML ?= html +else +HTML_OR_XHTML ?= xhtml +endif + +# if your source is in asciidoc instead of DocBook, set +# ASCII_OR_DOCBOOK to "ascii" +ASCII_OR_DOCBOOK ?= docbook + +# ----------------------------------------------------------------- +# *** TOOLS and other DEPENDENCIES *** +# ----------------------------------------------------------------- +# we use rmdir(1) to remove dirs we create for chunked HTML output +RMDIR = rmdir +# "-p" causes empty parent dirs to be deleted as well +RMDIR_FLAGS = --ignore-fail-on-non-empty -p + +# possible values for PDF_MAKER are: +# dblatex|fop|xep|xmlroff|passivetex +PDF_MAKER = dblatex + +# possible values for TXT_MAKER are: +# links|lynx|w3m|w3mmee +TXT_MAKER = links +TXT_MAKER_FLAGS = -dump + +# xsl +XSLT = xsltproc +XSLT_FLAGS = --xinclude + +# http://dblatex.sourceforge.net/ +DBLATEX = dblatex +DBLATEX_FLAGS = -b pdftex + +FOP = fop +FOP_FLAGS = + +XEP = xep +XEP_FLAGS = + +# http://xmlroff.sourceforge.net/ +XMLROFF = xmlroff +XMLROFF_FLAGS = + +PDFTEX = pdftex +PDFTEX_FLAGS = + +# used by PassiveTeX +PDFXMLTEX = pdfxmltex + +# http://docbook2x.sourceforge.net/ +DB2X_XSLTPROC = db2x_xsltproc +DB2X_XSLTPROC_FLAGS = +DB2X_TEXIXML = db2x_texixml +DB2X_TEXIXML_FLAGS = + +# we call the man(1) command to generate "foo.N.pdf" and +# "foo.N.txt" output (see "man-pdf" & "man-txt" targets) +MAN = man +MAN_FLAGS = + +# The "ps2pdf" command is part of GhostSript (gs) distro. +# It is just a wrapper script around gs that does this: +# +# gs -dCompatibilityLevel=1.2 -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite \ +# "-sOutputFile=$outfile" -dCompatibilityLevel=1.2 -c .setpdfwrite -f "$infile" +# +# Where, for example: $outfile = foo.pdf and $infile = foo.1 +PS2PDF = ps2pdf +PS2PDF_FLAGS = + +# asciidoc is used to generate DocBook XML from asciidoc source +ASCIIDOC=asciidoc +ASCIIDOCFLAGS= + +# asciidoc source seems to have DOS line endings, so we use +# DOS2UNIX to be able to grep them correctly +DOS2UNIX=dos2unix +DOS2UNIXFLAGS= + +# The "col" command is needed for stripping backspaces and +# underscores from man(1) output to get pure plain-text +COL = col +COL_FLAGS = + +# The "expand" command is needed for expanding tabs from files +# generated from "man foo.1 | col -b" output +# output to get pure plain-text +EXPAND = expand +EXPAND_FLAGS = + +# value of DOCBOOK_XSL should either be the canonical +# (docbook.sourceforge.net) URL for the DocBook Project XSL +# stylesheets OR it can be a local system path +DOCBOOK_XSL = http://docbook.sourceforge.net/release/xsl/current + +# ----------------------------------------------------------------- +# names of some DIRECTORIES and FILES we need +# ----------------------------------------------------------------- +# We create a tmp directory once per make invocation; it's needed +# for holding a temporary copy of the custom DBLaTeX stylesheet +# (because dblatex currently can't read a stylesheet from stdin) +TMP ?= /tmp +TMPNUM := $(shell echo $$$$) +DOCBOOK_TMP := $(TMP)/docbook-make-$(TMPNUM) + +# MAN_MANIFEST_EXT is file extension added to individual manifest +# files +MAN_MANIFEST_EXT = manifest_man + +# HTML_MANIFEST_EXT is file extension added to HTML manifest files +HTML_MANIFEST_EXT = manifest_html + +# BASEDIR_SUFFIX is a what you need to set if you want a suffix +# added to the end of each "base.dir" we create while generating +# chunked HTML output +#BASEDIR_SUFFIX = -html +#BASEDIR_SUFFIX = _html +BASEDIR_SUFFIX = + +# ----------------------------------------------------------------- +# assorted OPTIONS +# ----------------------------------------------------------------- +# HTML_STYLESHEET -> $html.stylesheet stylesheet param +# http://docbook.sourceforge.net/snapshots/xsl/doc/html/html.stylesheet.html +HTML_STYLESHEET = style.css +# HTML_IMAGES -> $admon.graphics.path +# http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.path.html +HTML_IMAGES = images/ +# HTML_IMAGES_EXT -> $admon.graphics.extension +# http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.extension.html +HTML_IMAGES_EXT = .png + +# use these to set params on the command-line +# format is, e.g., HTML_PARAMS="--stringparam variablelist.as.table 1..." +FO_PARAMS = +HTML_PARAMS = +MAN_PARAMS = + +# DBX_PARAMS is for dblatex(1); format uses "-p": +# DBX_PARAMS="-p doc.publisher.show 1 -p term.breakline 1... +DBX_PARAMS= + +# What file extension do you use for DocBook source files? +DOCBOOK_FILE_EXTENSION = .xml + +# ----------------------------------------------------------------- +# make(1) functions for building file lists +# ----------------------------------------------------------------- +# +# the values of the following are used for determing what needs +# to be built and/or cleaned up + +ifeq ($(ASCII_OR_DOCBOOK),docbook) +SOURCE_FILES_DBK = $(wildcard *$(DOCBOOK_FILE_EXTENSION)) +else +SOURCE_FILES_DBK = $(foreach base,$(basename $(wildcard *.txt)),$(base)$(DOCBOOK_FILE_EXTENSION)) +endif + +FILES_FO = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).fo) +FILES_TXT = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).out.txt) +FILES_PDF = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).pdf) +FILES_LOG = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).log) +FILES_OUT = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).out) +FILES_AUX = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).aux) +FILES_HTML = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).html) +FILES_INFO = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).info) +DIRS_CHUNK = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base)$(BASEDIR_SUFFIX)) +LISTS_HTML = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).$(HTML_MANIFEST_EXT)) +LISTS_MAN = $(foreach base,$(basename $(SOURCE_FILES_DBK)),$(base).$(MAN_MANIFEST_EXT)) +FILES_CHNK = $(shell for manifest in $(LISTS_HTML); do if [ -f "$$manifest" ]; then cat $$manifest; fi done) +FILES_MAN = $(shell for manifest in $(LISTS_MAN); do if [ -f "$$manifest" ]; then cat $$manifest; fi done) +FILES_MANP = $(foreach base,$(FILES_MAN),$(base).man.pdf) +FILES_MANT = $(foreach base,$(FILES_MAN),$(base).out.txt) +DIRS_MAN = $(shell for file in $(FILES_MAN); do dirname $$file; done | uniq) + +# ----------------------------------------------------------------- +# ** stylesheet for testing whether a file has a refentry +# ----------------------------------------------------------------- +REFENTRY_CHECK := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ + version="1.0" \ + xmlns:db="http://docbook.org/ns/docbook" \ + > \ + <xsl:output method="text"/> \ + <xsl:template match="/"> \ + <xsl:if test="//refentry|//db:refentry"> \ + <xsl:text>true</xsl:text> \ + </xsl:if> \ + </xsl:template> \ +</xsl:stylesheet> + +# ----------------------------------------------------------------- +# ** Stylesheet Customization Layers ** +# ----------------------------------------------------------------- +# +# for DBLaTeX +DBX_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ + version="1.0"> \ + <xsl:param name="co.linkends.show">0</xsl:param> \ + <xsl:param name="callout.markup.circled">1</xsl:param> \ + <xsl:param name="callout.linkends.hot">0</xsl:param> \ + <xsl:param name="doc.publisher.show">1</xsl:param> \ + <xsl:param name="term.breakline">1</xsl:param> \ + <xsl:param name="doc.alignment">left</xsl:param> \ + <xsl:param name="newtbl.use">1</xsl:param> \ + <xsl:param name="latex.hyperparam"/> \ + <xsl:param name="latex.style">docbook</xsl:param> \ + <xsl:param name="latex.biblio.output">all</xsl:param> \ + <xsl:param name="latex.bibfiles">""</xsl:param> \ + <xsl:param name="latex.bibwidelabel">WIDELABEL</xsl:param> \ + <xsl:param name="latex.output.revhistory">0</xsl:param> \ + <xsl:param name="latex.figure.position">[htbp]</xsl:param> \ + <xsl:param name="latex.figure.boxed">0</xsl:param> \ + <xsl:param name="latex.babel.use">1</xsl:param> \ + <xsl:param name="latex.babel.language"></xsl:param> \ + <xsl:param name="latex.class.options">twoside</xsl:param> \ + <xsl:param name="biblioentry.item.separator">, </xsl:param> \ + <xsl:param name="refentry.xref.manvolnum">1</xsl:param> \ + <xsl:param name="refsynopsis.title">Synopsis</xsl:param> \ + <xsl:param name="refnamediv.title"></xsl:param> \ + <xsl:param name="funcsynopsis.style">ansi</xsl:param> \ + <xsl:param name="funcsynopsis.decoration">1</xsl:param> \ + <xsl:param name="function.parens">0</xsl:param> \ + <xsl:param name="classsynopsis.default.language">java</xsl:param> \ + <xsl:param name="show.comments">0</xsl:param> \ +</xsl:stylesheet> + +# for FO output +FO_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ + xmlns:fo="http://www.w3.org/1999/XSL/Format" \ + version="1.0"> \ + <xsl:import href="$(DOCBOOK_XSL)/fo/docbook.xsl"/> \ + <xsl:param name="$(PDF_MAKER).extensions">1</xsl:param> \ + <xsl:param name="paper.type">A4</xsl:param> \ + <xsl:param name="draft.watermark.image"></xsl:param> \ + <xsl:param name="hyphenation">false</xsl:param> \ + <xsl:param name="hyphenate.verbatim">1</xsl:param> \ + <xsl:param name="alignment">left</xsl:param> \ + <xsl:param name="refentry.generate.name">1</xsl:param> \ + <xsl:param name="refentry.generate.title">0</xsl:param> \ + <xsl:param name="refentry.pagebreak">1</xsl:param> \ + <xsl:param name="shade.verbatim">1</xsl:param> \ + <xsl:param name="variablelist.as.blocks">1</xsl:param> \ + <xsl:param name="ulink.show">1</xsl:param> \ + <xsl:param name="ulink.footnotes">1</xsl:param> \ + <xsl:param name="index.on.type">1</xsl:param> \ + <xsl:attribute-set name="xref.properties"> \ + <xsl:attribute name="color">blue</xsl:attribute> \ + </xsl:attribute-set> \ + <xsl:attribute-set name="shade.verbatim.style"> \ + <xsl:attribute name="background-color">\#E0E0E0</xsl:attribute> \ + <xsl:attribute name="padding-left">4pt</xsl:attribute> \ + <xsl:attribute name="padding-right">4pt</xsl:attribute> \ + <xsl:attribute name="padding-top">4pt</xsl:attribute> \ + <xsl:attribute name="padding-bottom">4pt</xsl:attribute> \ + </xsl:attribute-set> \ + <xsl:attribute-set name="section.title.level1.properties"> \ + <xsl:attribute name="font-size"> \ + <xsl:value-of select="$$body.font.master * 1.5"></xsl:value-of> \ + <xsl:text>pt</xsl:text> \ + </xsl:attribute> \ + </xsl:attribute-set> \ + <xsl:attribute-set name="section.title.level2.properties"> \ + <xsl:attribute name="font-size"> \ + <xsl:value-of select="$$body.font.master * 1.3"></xsl:value-of> \ + <xsl:text>pt</xsl:text> \ + </xsl:attribute> \ + </xsl:attribute-set> \ + <xsl:attribute-set name="section.title.level3.properties"> \ + <xsl:attribute name="font-size"> \ + <xsl:value-of select="$$body.font.master * 1.1"></xsl:value-of> \ + <xsl:text>pt</xsl:text> \ + </xsl:attribute> \ + </xsl:attribute-set> \ + <xsl:attribute-set name="section.title.level4.properties"> \ + <xsl:attribute name="font-size"> \ + <xsl:value-of select="$$body.font.master"></xsl:value-of> \ + <xsl:text>pt</xsl:text> \ + </xsl:attribute> \ + </xsl:attribute-set> \ + <xsl:attribute-set name="component.title.properties"> \ + <xsl:attribute name="font-size"> \ + <xsl:value-of select="$$body.font.master * 1.5"></xsl:value-of> \ + <xsl:text>pt</xsl:text> \ + </xsl:attribute> \ + </xsl:attribute-set> \ + <xsl:attribute-set name="monospace.verbatim.properties"> \ + <xsl:attribute name="wrap-option">wrap</xsl:attribute> \ + <xsl:attribute name="hyphenation-character">\</xsl:attribute> \ + <xsl:attribute name="font-size"> \ + <xsl:value-of select="$$body.font.master * 0.8"></xsl:value-of> \ + <xsl:text>pt</xsl:text> \ + </xsl:attribute> \ + </xsl:attribute-set> \ +</xsl:stylesheet> + +# for single-file (X)HTML outpout +HTML_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ + version="1.0"> \ + <xsl:import href="$(DOCBOOK_XSL)/$(HTML_OR_XHTML)/docbook.xsl"/> \ + <xsl:param name="gentext.custom">local.l10n.xml</xsl:param> \ + <xsl:param name="local.l10n.xml" select="document($$gentext.custom)"/> \ + <xsl:param name="refentry.generate.name">1</xsl:param> \ + <xsl:param name="refentry.generate.title">0</xsl:param> \ + <xsl:param name="root.filename"></xsl:param> \ + <xsl:param name="variablelist.as.table">0</xsl:param> \ + <xsl:param name="html.stylesheet">$(HTML_STYLESHEET)</xsl:param> \ + <xsl:param name="admon.graphics">0</xsl:param> \ + <xsl:param name="index.on.type">1</xsl:param> \ +</xsl:stylesheet> + +# for chunked (X)HTML output +CHNK_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ + version="1.0"> \ + <xsl:import href="$(DOCBOOK_XSL)/$(HTML_OR_XHTML)/chunk.xsl"/> \ + <xsl:param name="refentry.generate.name">0</xsl:param> \ + <xsl:param name="refentry.generate.title">1</xsl:param> \ + <xsl:param name="variablelist.as.table">0</xsl:param> \ + <xsl:param name="html.stylesheet">$(HTML_STYLESHEET)</xsl:param> \ + <xsl:param name="admon.graphics">1</xsl:param> \ + <xsl:param name="admon.graphics.path">$(HTML_IMAGES)</xsl:param> \ + <xsl:param name="admon.graphics.extension">$(HTML_IMAGES_EXT)</xsl:param> \ + <xsl:param name="root.filename"></xsl:param> \ + <xsl:param name="generate.manifest">1</xsl:param> \ + <xsl:param name="use.id.as.filename">1</xsl:param> \ + <xsl:param name="chunker.output.indent">yes</xsl:param> \ + <xsl:param name="index.on.type">1</xsl:param> \ +</xsl:stylesheet> + +# for man-page output +MAN_CUSTOM := <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" \ + version="1.0"> \ + <xsl:import href="$(DOCBOOK_XSL)/manpages/docbook.xsl"/> \ + <xsl:param name="man.output.manifest.enabled" select="1"/> \ + <xsl:param name="man.output.in.separate.dir" select="1"/> \ + <xsl:param name="man.output.base.dir">man/</xsl:param> \ + <xsl:param name="man.output.subdirs.enabled" select="1"/> \ +</xsl:stylesheet> + +# ----------------------------------------------------------------- +# ** TARGETS START HERE ** +# ----------------------------------------------------------------- +# prevents make from deleting, e.g. foo.1, after making foo.1.pdf +# and foo.1.txt from it. +.PRECIOUS: %.1 %.2 %.3 %.4 %.5 %.6 %.7 %.8 %.9 + +docbook: $(DOCBOOK_OUTPUT_FORMATS) + +xml: $(SOURCE_FILES_DBK) + +man: $(LISTS_MAN) + +# we can generate PDFs from man pages +man-pdf: man + $(MAKE) $(FILES_MANP) + +# we can generate plain text from man pages +man-txt: man + $(MAKE) $(FILES_MANT) + +html: $(FILES_HTML) + +chunk: $(LISTS_HTML) + +txt: $(FILES_TXT) + +pdf: $(FILES_PDF) + +info: $(FILES_INFO) + +# use the "debug" target to echo variables, etc., to +# test/troubleshoot changes you make to this makefile +debug: + echo $(wildcard *$(DOCBOOK_FILE_EXTENSION)) + echo $(ASCII_OR_DOCBOOK) + echo $(SOURCE_FILES_DBK) + +# ----------------------------------------------------------------- +# pattern rule to make DocBook refentry from asciidoc source +# ----------------------------------------------------------------- +%.1$(DOCBOOK_FILE_EXTENSION): %.1.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.2$(DOCBOOK_FILE_EXTENSION): %.2.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.3$(DOCBOOK_FILE_EXTENSION): %.3.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.4$(DOCBOOK_FILE_EXTENSION): %.4.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.5$(DOCBOOK_FILE_EXTENSION): %.5.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.6$(DOCBOOK_FILE_EXTENSION): %.6.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.7$(DOCBOOK_FILE_EXTENSION): %.7.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.8$(DOCBOOK_FILE_EXTENSION): %.8.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +%.9$(DOCBOOK_FILE_EXTENSION): %.9.txt + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d manpage -b docbook $< + +# ----------------------------------------------------------------- +# pattern rule to make DocBook article from asciidoc source +# ----------------------------------------------------------------- +%$(DOCBOOK_FILE_EXTENSION): %.txt + export LINECOUNT1=$$(cat $< | $(DOS2UNIX) $(DOS2UNIXFLAGS) | egrep "^=+$$" | wc -l); \ + export LINECOUNT2=$$(cat $< | $(DOS2UNIX) $(DOS2UNIXFLAGS) | egrep "^= $$" | wc -l); \ + if [[ $$LINECOUNT1 > 1 || $$LINECOUNT2 > 1 ]]; then \ + $(ASCIIDOC) $(ASCIIDOCFLAGS) -d book -b docbook $<; \ + else \ + $(ASCIIDOC) $(ASCIIDOCFLAGS) -b docbook $<; \ + fi + +# ----------------------------------------------------------------- +# pattern rule for making (X)HTML and plain-text output +# ----------------------------------------------------------------- +%.html: %$(DOCBOOK_FILE_EXTENSION) + @echo '$(HTML_CUSTOM)' | $(XSLT) $(XSLT_FLAGS) $(HTML_PARAMS) - $< > $@ + +%.out.txt: %.html + $(TXT_MAKER) $(TXT_MAKER_FLAGS) ./$< \ + | sed "s/^\(\s\+[0-9]\+\. \)file:\/\/.\+$$/\\1(local)/g" \ + | egrep -v '^ file:///.+$$' \ + > $@ +# if DOCBOOK_OUTPUT_FORMATS does not contain "html", then we need +# to remove the "intermediate" HTML files we used for generating +# plain-text output +ifeq ($(findstring html,$(DOCBOOK_OUTPUT_FORMATS)),) + $(RM) $< +endif + +# ----------------------------------------------------------------- +# pattern rule for making chunked (X)HTML pages +# ----------------------------------------------------------------- +%.$(HTML_MANIFEST_EXT): %$(DOCBOOK_FILE_EXTENSION) + @echo '$(CHNK_CUSTOM)' | $(XSLT) $(XSLT_FLAGS) $(HTML_PARAMS) \ + --stringparam manifest $@ \ + --stringparam base.dir $(basename $@)$(BASEDIR_SUFFIX)/ \ + - $< + +# ----------------------------------------------------------------- +# pattern rules for making FO and PDF stuff +# ----------------------------------------------------------------- +%.fo: %$(DOCBOOK_FILE_EXTENSION) + @echo '$(FO_CUSTOM)' \ + | $(XSLT) $(XSLT_FLAGS) $(FO_PARAMS) - $< > $@ + +ifeq ($(PDF_MAKER),dblatex) +%.pdf: %$(DOCBOOK_FILE_EXTENSION) + mkdir -p $(DOCBOOK_TMP) + echo '$(DBX_CUSTOM)' > $(DOCBOOK_TMP)/dblatex.xsl + -$(DBLATEX) $(DBLATEX_FLAGS)\ + -p $(DOCBOOK_TMP)/dblatex.xsl \ + -o $@ \ + $< + $(RM) -r $(DOCBOOK_TMP) +endif + +%.pdf: %.fo +ifeq ($(PDF_MAKER),) + $(error No PDF_MAKER specified. Cannot make pdf) +else +ifeq ($(PDF_MAKER),xep) + $(XEP) $(XEP_FLAGS) $< $@ +else +ifeq ($(PDF_MAKER),fop) + $(FOP) $(FOP_FLAGS) $< $@ +else +ifeq ($(PDF_MAKER),xmlroff) + $(XMLROFF) $(XMLROFF_FLAGS) $< -o $@ +else +ifeq ($(PDF_MAKER),passivetex) + $(PDFTEX) $(PDFTEX_FLAGS) &$(PDFXMLTEX) $< + @if [ `egrep Rerun $(basename $@).log | wc -l` -gt 0 ]; then \ + $(PDFTEX) $(PDFTEX_FLAGS) &$(PDFXMLTEX) $< ; \ + fi + @if [ `egrep Rerun $(basename $@).log | wc -l` -gt 0 ]; then \ + $(PDFTEX) $(PDFTEX_FLAGS) &$(PDFXMLTEX) $< ; \ + fi + $(RM) $(basename $@).log + $(RM) $(basename $@).aux + $(RM) $(basename $@).out +else + $(error I do not know how to make a PDF using "$(PDF_MAKER)") +endif +endif +endif +endif +endif + +# ----------------------------------------------------------------- +# pattern rules for making TeXinfo stuff +# ----------------------------------------------------------------- +%.txml: %$(DOCBOOK_FILE_EXTENSION) + $(DB2X_XSLTPROC) $(DB2X_XSLTPROC_FLAGS) -s texi -o $@ $< + +%.texi: %.txml + $(DB2X_TEXIXML) $(DB2X_TEXIXML_FLAGS) $< + +# the following is actually a built-in rule, but it's redefined +# here just for the sake of clarity +%.info: %.texi + $(MAKEINFO) $(MAKEINFO_FLAGS) $< -o $@ + +# ----------------------------------------------------------------- +# pattern rule for making man pages +# ----------------------------------------------------------------- +%.$(MAN_MANIFEST_EXT): %$(DOCBOOK_FILE_EXTENSION) + @if [ "$(strip $(shell echo '$(REFENTRY_CHECK)' | $(XSLT) $(XSLT_FLAGS) - $<))" != "true" ]; then \ + touch $@; \ + else \ + echo '$(MAN_CUSTOM)' \ + | $(XSLT) $(XSLT_FLAGS) $(MAN_PARAMS) \ + --stringparam man.output.manifest.filename $@ \ + - $<; \ + fi + +# ----------------------------------------------------------------- +# pattern rule for enabling direct "make foo.1" to work +# ----------------------------------------------------------------- + +%.1 %.2 %.3 %.4 %.5 %.6 %.7: %.xml + $(MAKE) $(basename $<).$(MAN_MANIFEST_EXT) + +# ----------------------------------------------------------------- +# pattern rules for making Postscript/PDF output from man pages +# ----------------------------------------------------------------- +%.1.man.ps: %.1 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.2.man.ps: %.2 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.3.man.ps: %.3 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.4.man.ps: %.4 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.5.man.ps: %.5 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.6.man.ps: %.6 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.7.man.ps: %.7 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.8.man.ps: %.8 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +%.9.man.ps: %.9 + $(MAN) -l $(MAN_FLAGS) -Tps $< > $@ + +# ----------------------------------------------------------------- +# pattern rule for converting Postscript to PDF +# ----------------------------------------------------------------- +%.pdf: %.ps + $(PS2PDF) $(PS2PDF_FLAGS) $< + +# ----------------------------------------------------------------- +# pattern rules for making plain-text output from man pages +# ----------------------------------------------------------------- +%.1.out.txt: %.1 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.2.out.txt: %.2 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.3.out.txt: %.3 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.4.out.txt: %.4 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.5.out.txt: %.5 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.6.out.txt: %.6 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.7.out.txt: %.7 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.8.out.txt: %.8 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +%.9.out.txt: %.9 + $(MAN) -l $(MAN_FLAGS) -Tascii $< | $(COL) -b $(COL_FLAGS) | $(EXPAND) $(EXPAND_FLAGS) > $@ + +# ----------------------------------------------------------------- +# target(s) for cleaning up the mess +# ----------------------------------------------------------------- +clean: +ifneq ($(FILES_TXT),) + $(RM) $(FILES_TXT) +endif +ifneq ($(FILES_PDF),) + $(RM) $(FILES_PDF) +endif +ifneq ($(FILES_FO),) + $(RM) $(FILES_FO) +endif +ifneq ($(FILES_LOG),) + $(RM) $(FILES_LOG) +endif +ifneq ($(FILES_OUT),) + $(RM) $(FILES_OUT) +endif +ifneq ($(FILES_AUX),) + $(RM) $(FILES_AUX) +endif +ifneq ($(FILES_HTML),) + $(RM) $(FILES_HTML) +endif +ifneq ($(FILES_CHNK),) + $(RM) $(FILES_CHNK) +endif +ifneq ($(FILES_MAN),) + $(RM) $(FILES_MAN) +endif +ifneq ($(FILES_MANT),) + $(RM) $(FILES_MANT) +endif +ifneq ($(FILES_MANP),) + $(RM) $(FILES_MANP) +endif +ifneq ($(FILES_INFO),) + $(RM) $(FILES_INFO) +endif +ifneq ($(DIRS_CHUNK),) + for dir in $(DIRS_CHUNK); do \ + if [ -d "$$dir" ]; then \ + $(RMDIR) $(RMDIR_FLAGS) $$dir; \ + fi \ + done +endif +ifneq ($(DIRS_MAN),) +ifneq ($(DIRS_MAN),.) + for dir in $(DIRS_MAN); do \ + if [ -d "$$dir" ]; then \ + $(RMDIR) $(RMDIR_FLAGS) $$dir; \ + fi \ + done +endif +endif +ifneq ($(LISTS_MAN),) + $(RM) $(LISTS_MAN) +endif +ifneq ($(LISTS_HTML),) + $(RM) $(LISTS_HTML) +endif +ifneq ($(ASCII_OR_DOCBOOK),docbook) + $(RM) -i $(SOURCE_FILES_DBK) +endif |