Source : Free On-Line Dictionary of Computing
m4
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
(ftp://gnu.org/pub/gnu/m4-1.0.tar.Z)} by Francois
Pinard and a {public domain} version
by Ozan Yigit and Richard A. O'Keefe
(FTP from any {386BSD}, {NetBSD} or
{FreeBSD} archive). A {Macintosh} version is {here
(ftp://nic.switch.ch/pub/software/mac/src/mpw-c/)}.
See also {m3}, {m5}.
["The M4 Macro Processor",
Kernighan & Ritchie, Jul 1977].