m4 and Arguments
When an m4 macro name is
immediately followed by a left parenthesis, it is
treated like a function call. Arguments given to it
in that role are used to replace $
digit
expressions in the original definition. For example,
suppose the m4 macro CONCAT is
defined like this:
define(`CONCAT',`$1$2$3')dnl
and then later used like this:
CONCAT(`host', `.', `domain')
The result will be that the host
will replace $1
, the dot will replace
$2
, and the
domain
will
replace $3
, all
jammed tightly together just as `$1$2$3'
were:
host.domain
Macro arguments are used to create such techniques as FEATURE( ) and OSTYPE( ), which are described later in this chapter.
Get sendmail, 4th Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.