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
site.SunOS.4.0.m4
site.SunOS.4.0.m4
If no files are found that match these patterns, no
m4 build file will be used.
Note that the -Q and -f
switches cannot be used together.