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


Previous Section Next Section

-E

Pass environment variables to BuildBuild switch

The -E switch is used to specify environment variables that should be passed to Build and make(1). This switch is useful on Irix systems, for example, which can store pointers in either 32- or 64-bit sizes. To build a 32-bit sendmail, for example, you might run Build in the sendmail directory like this:

% ./Build -E ABI=-n32

and use the subsystem compiler compiler_dev.sw32.lib.

Inside the Build script are a few environment variables that can be used to tune how Build runs. But before using any, be aware that their use might not be recorded in the resulting Makefile. If that is the case, reconstruction of the command line used will not be possible.

M4=

The -E switch can be used with M4= to select your preferred version of m4(1). If, for example, you prefer GNU's version over the vendor's version, you can run Build like this:

% ./Build -E M4=/usr/local/gnu/bin/m4
...
Using M4=/usr/local/gnu/bin/m4

MAKE=

The -E switch can be used with MAKE to select a different version of make(1) than the one that is currently first in your path. If, for example, you prefer your home-grown make(1), you could run Build like this:

% ./Build -E MAKE=/usr/local/newbin/make

DESTDIR=

The -E switch can be used with DESTDIR to install sendmail, its symbolic links (such as newaliases), its manual pages, and its support programs (such as praliases) under a whole new directory. One reason for using another directory might be to install sendmail for use by diskless machines. Consider this ordinary install:

% ./Build install 
Configuration: os=SunOS, rel=4.1.4, rbase=4, rroot=4.1, arch=sun4, sfx=
if [ ! -d /etc/mail ]; then mkdir -p /etc/mail; fi
...  etc

Now consider the same install using the DESTDIR environment variable:

% ./Build -E DESTDIR=/export/sun4 install 
Making in ../obj.SunOS.4.1.4.sun4/sendmail
if [ ! -d /export/sun4/etc/mail ]; then mkdir -p /export/sun4/etc/mail; fi
...  etc

Because this prefixing is a part of the Makefile, the DESTDIR environment variable prefixes all the directories defined with the m4 technique (described in Section 2.4).

    Previous Section Next Section