doc/share/mk/doc.slides.mk
Murray Stokely c290cc6eff Add definitions required for using SAXON instead of libxslt when
USE_SAXON is set.  This doesn't quite work yet.

Also fix a bug in the .fo target that was uncovered when slides for a
presentation are split across multiple XML files.
2004-09-07 11:56:03 +00:00

80 lines
2.1 KiB
Makefile

#
# $FreeBSD$
#
# This include file <doc.slides.mk> handles building and installing of
# DocBook Slides in the FreeBSD Documentation Project.
#
# Documentation using DOCFORMAT=slides is expected to be marked up
# according to the DocBook slides DTD.
#
# PDF and HTML output formats are currently supported.
#
# ------------------------------------------------------------------------
#
# Document-specific variables
#
# DOC This should be set to the name of the SLIDES
# marked-up file, without the .xml suffix.
#
# It also determins the name of the output files
# for print output : ${DOC}.pdf
#
# DOCBOOKSUFFIX The suffix of your document, defaulting to .xml
#
DOCBOOKSUFFIX?= xml
MASTERDOC?= ${.CURDIR}/${DOC}.${DOCBOOKSUFFIX}
KNOWN_FORMATS= html pdf
CSS_SHEET?=
SLIDES_XSLDIR= /usr/local/share/xsl/slides/xsl/
SLIDES_XSLHTML= ${SLIDES_XSLDIR}xhtml/default.xsl
SLIDES_XSLPRINT?= ${SLIDES_XSLDIR}fo/plain.xsl
# Loop through formats we should build.
.for _curformat in ${FORMATS}
_cf=${_curformat}
# Create a 'bogus' doc for any format we support or not. This is so
# that we can fake up a target for it later on, and this target can print
# the warning message about the unsupported format.
_docs+= ${DOC}.${_curformat}
CLEANFILES+= ${DOC}.${_curformat}
.if ${_cf} == "pdf"
CLEANFILES+= ${DOC}.fo ${DOC}.pdf
.if ! defined (USE_FOP) && ! defined (USE_XEP)
CLEANFILES+= ${DOC}.aux ${DOC}.log ${DOC}.out texput.log
.endif
.endif
.endfor
XSLTPROCFLAGS?= --nonet --stringparam draft.mode no
XSLTPROCOPTS= ${XSLTPROCFLAGS}
.MAIN: all
all: ${_docs}
${DOC}.html: ${SRCS}
${XSLTPROC} ${XSLTPROCOPTS} ${SLIDES_XSLHTML} ${.ALLSRC}
${DOC}.fo: ${SRCS}
.if defined(USE_SAXON)
${SAXON_CMD} ${DOC}.xml ${SLIDES_XSLPRINT} > ${.TARGET:S/.pdf$/.fo/}
.else
${XSLTPROC} ${XSLTPROCOPTS} ${SLIDES_XSLPRINT} ${DOC}.xml > ${.TARGET:S/.pdf$/.fo/}
.endif
${DOC}.pdf: ${DOC}.fo
.if defined(USE_FOP)
${FOP_CMD} ${.TARGET:S/.pdf$/.fo/} ${.TARGET}
.elif defined(USE_XEP)
${XEP_CMD} ${.TARGET:S/.pdf$/.fo/} ${.TARGET}
.else
${PDFTEX_CMD} --interaction nonstopmode "&pdfxmltex" ${.TARGET:S/.pdf$/.fo/}
.endif