Defined Macros

Defined macros allow strings of text to be represented symbolically. A defined macro is one whose symbol represents a single string.

DXstring

The symbolic name (here X) is either a single letter or a multi-character name. If multi-character, it must be surrounded by curly braces:

D{XXX}string

The value in a defined macro is referenced by prefixing its name with a $. Because defined macros in rules are expanded when the configuration file is read, a $& prefix can be used when deferred expansion is desired.

The sendmail program reserves all macros but those beginning with an uppercase letter for its own internal use. Since the m4 configuration technique is not internal (to the program), it uses uppercase macro names. Here we show the internal macros currently used by sendmail and the external macros currently used by the m4 technique.