A
macro processor for
Unix and
GCOS which is more
flexible than
cpp. m4 copies its input to the output,
expanding macros which can be either built-in or user-defined.
m4 has built-in functions for including files, running
Unix
commands, doing integer arithmetic, manipulating text in
various ways and recursing. m4 can be used either as a
front-end to a compiler or as a stand-alone tool.
sendmail's configuration file (/etc/sendmail.cf) is writen
in m4 macros.
There is a
GNU m4 v1.1 by Francois
Pinard <pinard@iro.umontreal.ca> and a
public domain version
by Ozan Yigit <oz@sis.yorku.ca> and Richard A. O'Keefe
<ok@goanna.cs.rmit.OZ.AU> (FTP from any
386BSD,
NetBSD or
FreeBSD archive). A
Macintosh version is
here.
See also
m3,
m5.
["The M4 Macro Processor",
Kernighan & Ritchie, Jul 1977].