| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698 | # $Source$# $Author: xmldoc $# $Date: 2008-03-03 09:20:29 +0000 (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 ?= htmlelseHTML_OR_XHTML ?= xhtmlendif# 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 outputRMDIR = rmdir# "-p" causes empty parent dirs to be deleted as wellRMDIR_FLAGS = --ignore-fail-on-non-empty -p# possible values for PDF_MAKER are:#   dblatex|fop|xep|xmlroff|passivetexPDF_MAKER = dblatex# possible values for TXT_MAKER are:#   links|lynx|w3m|w3mmeeTXT_MAKER = linksTXT_MAKER_FLAGS = -dump# xslXSLT = xsltprocXSLT_FLAGS = --xinclude# http://dblatex.sourceforge.net/DBLATEX = dblatexDBLATEX_FLAGS = -b pdftexFOP = fopFOP_FLAGS =XEP = xepXEP_FLAGS =# http://xmlroff.sourceforge.net/XMLROFF = xmlroffXMLROFF_FLAGS =PDFTEX = pdftexPDFTEX_FLAGS =# used by PassiveTeXPDFXMLTEX = pdfxmltex# http://docbook2x.sourceforge.net/DB2X_XSLTPROC = db2x_xsltprocDB2X_XSLTPROC_FLAGS = DB2X_TEXIXML = db2x_texixmlDB2X_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 = manMAN_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.1PS2PDF = ps2pdfPS2PDF_FLAGS =# asciidoc is used to generate DocBook XML from asciidoc sourceASCIIDOC=asciidocASCIIDOCFLAGS=# asciidoc source seems to have DOS line endings, so we use# DOS2UNIX to be able to grep them correctlyDOS2UNIX=dos2unixDOS2UNIXFLAGS=# The "col" command is needed for stripping backspaces and# underscores from man(1) output to get pure plain-textCOL = colCOL_FLAGS =# The "expand" command is needed for expanding tabs from files# generated from "man foo.1 | col -b" output# output to get pure plain-textEXPAND = expandEXPAND_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 pathDOCBOOK_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 ?= /tmpTMPNUM := $(shell echo $$$$)DOCBOOK_TMP := $(TMP)/docbook-make-$(TMPNUM)# MAN_MANIFEST_EXT is file extension added to individual manifest# filesMAN_MANIFEST_EXT = manifest_man# HTML_MANIFEST_EXT is file extension added to HTML manifest filesHTML_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 = _htmlBASEDIR_SUFFIX = # -----------------------------------------------------------------#                        assorted OPTIONS# -----------------------------------------------------------------# HTML_STYLESHEET -> $html.stylesheet stylesheet param# http://docbook.sourceforge.net/snapshots/xsl/doc/html/html.stylesheet.htmlHTML_STYLESHEET = style.css# HTML_IMAGES -> $admon.graphics.path# http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.path.htmlHTML_IMAGES = images/# HTML_IMAGES_EXT -> $admon.graphics.extension# http://docbook.sourceforge.net/snapshots/xsl/doc/html/admon.graphics.extension.htmlHTML_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 upifeq ($(ASCII_OR_DOCBOOK),docbook)SOURCE_FILES_DBK = $(wildcard *$(DOCBOOK_FILE_EXTENSION))elseSOURCE_FILES_DBK = $(foreach base,$(basename $(wildcard *.txt)),$(base)$(DOCBOOK_FILE_EXTENSION))endifFILES_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 DBLaTeXDBX_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 outputFO_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 outpoutHTML_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 outputCHNK_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 outputMAN_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 %.9docbook: $(DOCBOOK_OUTPUT_FORMATS)xml: $(SOURCE_FILES_DBK)man: $(LISTS_MAN)# we can generate PDFs from man pagesman-pdf: man	$(MAKE) $(FILES_MANP)# we can generate plain text from man pagesman-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 makefiledebug:	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 outputifeq ($(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: %.foifeq ($(PDF_MAKER),)	$(error No PDF_MAKER specified. Cannot make pdf)elseifeq ($(PDF_MAKER),xep)	$(XEP) $(XEP_FLAGS) $< $@elseifeq ($(PDF_MAKER),fop)	$(FOP) $(FOP_FLAGS) $< $@elseifeq ($(PDF_MAKER),xmlroff)	$(XMLROFF) $(XMLROFF_FLAGS) $< -o $@elseifeq ($(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 $@).outelse	$(error I do not know how to make a PDF using "$(PDF_MAKER)")endifendifendifendifendif# -----------------------------------------------------------------#     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)endififneq ($(FILES_PDF),)	$(RM) $(FILES_PDF)endififneq ($(FILES_FO),)	$(RM) $(FILES_FO)endififneq ($(FILES_LOG),)	$(RM) $(FILES_LOG)endififneq ($(FILES_OUT),)	$(RM) $(FILES_OUT)endififneq ($(FILES_AUX),)	$(RM) $(FILES_AUX)endififneq ($(FILES_HTML),)	$(RM) $(FILES_HTML)endififneq ($(FILES_CHNK),)	$(RM) $(FILES_CHNK)endififneq ($(FILES_MAN),)	$(RM) $(FILES_MAN)endififneq ($(FILES_MANT),)	$(RM) $(FILES_MANT)endififneq ($(FILES_MANP),)	$(RM) $(FILES_MANP)endififneq ($(FILES_INFO),)	$(RM) $(FILES_INFO)endififneq ($(DIRS_CHUNK),)	for dir in $(DIRS_CHUNK); do \	  if [ -d "$$dir" ]; then \	    $(RMDIR) $(RMDIR_FLAGS) $$dir; \	  fi \	doneendififneq ($(DIRS_MAN),)ifneq ($(DIRS_MAN),.)	for dir in $(DIRS_MAN); do \	  if [ -d "$$dir" ]; then \	    $(RMDIR) $(RMDIR_FLAGS) $$dir; \	  fi \	doneendifendififneq ($(LISTS_MAN),)	$(RM) $(LISTS_MAN)endififneq ($(LISTS_HTML),)	$(RM) $(LISTS_HTML)endififneq ($(ASCII_OR_DOCBOOK),docbook)	$(RM) -i $(SOURCE_FILES_DBK)endif
 |