GNU m4 1.4.17
A free and open source implementation of the traditional macro processor from UNIX
GNU m4 also includes built-in functions for adding files, running shell commands, doing arithmetic functions, and much more. It can copy its input to the output, expanding macros as it goes.
Macros are either user-defined or built-in, and can take any number of arguments. Besides just doing macro expansion the GNU m4 software can manipulate text in various ways.
GNU m4 can be used either as a macro processor or as a front-end to a compiler. It comes pre-installed in many popular Linux operating systems.