The 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 macro processor in conjunction with the xsltproc XSLT processor. The following source types are recognized:
  • HTML+M4 documents (*.htm)
  • Cascading style sheets (*.css-in)
  • M4 macro packages (*.m4)

From those sources, 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 macro processor.
M4FLAGS Extra flags to pass to m4.
MINIFIER Path to HTML/CSS minifier (such as html-minifier).
MINIFIERFLAGS Flags to minifier (for HTML).
MINIFIERFLAGSCSS Flags to minifier (for CSS).
XSLTPROC Path to the xsltproc XSLT processor.
PERL Path to the perl interpreter.
ICONV Path to the iconv 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 Insert at beginning of generated documents (default: "<!DOCTYPE html>").
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>


HISTORY first appeared in BSDBuild 1.0.

BSDBuild is based on the 4.4BSD build system.

(c) 2016 Hypertriton Inc.
Hosted on OpenBSD servers at in NYC.
Sponsored by
Hosted by Sponsored by