Name

-Q

Synopsis

Ordinarily, Build creates the name for your object directory from various pieces of information about your operating system and hardware. One way to change the name of that object directory is by inserting a prefix in the name:

% ./Build -Q TEST
Configuration: pfx=TEST, os=SunOS, rel=4.1.4, rbase=4, rroot=4.1, arch=sun4, sfx=
Using M4=/usr/5bin/m4
Creating ../obj.TEST.SunOS.4.1.4.sun4/sendmail using ../devtools/OS/SunOS

Here, the prefix TEST is inserted between the obj and the SunOS.4.1.4.sun4.

This -Q switch is useful when creating alternative builds for machines of the same architecture, but where you want to separate the features used by each, as, for example, to divide roles by client and server, or by mailhub and nullclients.

When building with this -Q switch, Build looks for your m4 build file in the devtools/Site directory. Its strategy is to look for files that replace the $pfx shell macro’s value (the site) with the argument to -Q (we used TEST). It does so in the following order:

$pfs.$oscf.$sfx.m4
$pfx.$oscf.m4
$pfx.config.m4
site.$oscf.$sfx.m4
site.$oscf.m4

Here, $oscf is the name of the m4 file found by Build in the devtools/OS directory that contains your operating system’s specific m4 defaults, and $sfx is the suffix set by the SENDMAIL_SUFFIX (Section 2.5) environment variable, if present. Thus, with the preceding example, Build will look for the first of the following files in the devtools/Site directory:

TEST.SunOS.4.0.m4 TEST.SunOS.4.0.m4 TEST.config.m4 ...

Get Sendmail, 3rd 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.