build.www.mk
—
bsdbuild - HTML document preprocessing
The build.www.mk
module is used to generate a set of
HTML documents in different languages and character set variants from an HTML
source file and one or more templates using the
m4(1) macro
processor in conjunction with the
xsltproc(1)
XSLT processor. The following source types are recognized:
- HTML+M4 documents (*.htm)
- Cascading style sheets (*.css-in)
- M4 macro packages (*.m4)
From those sources, build.www.mk
is able
to generate:
- Cascading style sheets (*.css)
- HTML documents in multiple languages/character sets
- HTTP variant data (*.html.var)
- ${HTML}
- Source from which to generate HTML documents (may include M4 macro calls
and use optional XSL transforms).
- ${CSS}
- Source from which to generate cascading style sheets (may include M4 macro
calls).
- clean-www
- Clean up the generated files.
- cleandir-www
- Clean up for packaging.
- install-www
- Install HTML documents to the target installation directory
HTMLDIR
, overwriting any existing document if
HTML_OVERWRITE
is ‘Yes’. If
HTML_INSTSOURCE
is ‘Yes’, all files
needed for re-generating the documents are also installed into the target
directory (including a Makefile).
- deinstall-www
- Uninstall documents from the installation directory.
HTML
- Documents to generate and install. If multilingual support is not
required, use the .html extension. Otherwise, specify the .html.var
extension (documents will be generated for each combination of language
and character set -- the .html.var file may then be used directly by
Apache's mod_negotiation or equivalent).
M4
- Path to the
m4(1)
macro processor.
M4FLAGS
- Extra flags to pass to m4.
XSLTPROC
- Path to the
xsltproc(1)
XSLT processor.
PERL
- Path to the
perl(1)
interpreter.
ICONV
- Path to the
iconv(1)
utility, needed to generate the character set variants.
BASEDIR
- Directory containing the macro files (Default = "m4").
XSLDIR
- Directory containing XSLT source files (Default = "xsl"). Note
that ml.xsl is required for multi-lingual
support.
DTD
- DTD to specify at the beginning of the generated document (default to HTML
4.01 Transitional).
TEMPLATE
- Template to use for preprocessing the HTML source. It must reside in
BASEDIR
and use the .m4 extension.
CSS_TEMPLATE
- Similarly to
TEMPLATE
, but used to preprocess CSS
source.
LANGUAGES
- Space-separated list of translations available for the documents specified
in ${HTML}. See the section “MULTI-LINGUAL SUPPORT” for more
details.
DEF_LANGUAGE
- The default language.
XSL
- Space-separated list of XSLT stylesheets to apply to the documents
(Default = "ml.xsl").
CLEANFILES
- Extra files to remove in the ‘clean’ target.
HTMLDIR
- Installation directory. The special value ‘none’ indicates
that the ‘install’ operation should be a no-op (Default =
"none").
HTML_OVERWRITE
- Don't overwrite existing documents in the ‘install’ phase
(Default = "No").
HTML_INSTSOURCE
- Install the HTML source, templates, XSLT stylesheets and all other files
needed to be able to re-generate the documents in the installation
directory, including a Makefile. (Default = "Yes").
The LANGUAGES
variable specifies a list of languages in
which the documents specified in HTML
are available.
Since the ml.xsl XSLT stylesheet is applied by
default, HTML documents (usually encoded in UTF-8) can contain multiple
translations in a single file. Language-specific parts are separated using the
‘<ml>’ tag, like so:
<ml lang="en">Hello</ml>
<ml lang="fr">Bonjour</ml>
build.www.mk
first appeared in BSDBuild 1.0.
BSDBuild is based on the 4.4BSD build system.