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 <email@example.com> and a public domain version by Ozan Yigit <firstname.lastname@example.org> and Richard A. O'Keefe <email@example.com.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].