home | O'Reilly's CD bookshelfs | FreeBSD | Linux | Cisco | Cisco Exam  


Previous Section Next Section

-Q

Set prefix for the object directory Build switch

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.

    Previous Section Next Section