Environment setting for make

Joel Hatton joel at auscert.org.au
Sat Sep 17 08:30:16 PDT 2005


> Joel Hatton <freebsd-questions at auscert.org.au> writes:
> 
> > 	#               E.g. use `env MAKEOBJDIRPREFIX=/somewhere/obj make'
> >
> > However, and at this risk of exposing my inexperience and just plain old
> > sounding foolish, how does this method of setting MAKEOBJDIRPREFIX differ
> > from:
> >
> > 	setenv MAKEOBJDIRPREFIX /somewhere/obj
> 
> It's effect is only seen by "make", instead of all subsequent
> commands.  It also works in a Bourne shell where the Bourne equivalent
> of the second method is:  MAKEOBJDIRPREFIXj=/somewhere/obj make

Thanks, I think I understand. 

I'm a little confused about the Bourne shell, however. Do you mean that
(1) 'MAKEOBJDIRPREFIX=/somewhere/obj make' is equivalent to (2) 'setenv
MAKEOBJDIRPREFIX /somewhere/obj' or (3) 'env
MAKEOBJDIRPREFIX=/somewhere/obj make'? Can (1) be substituted for (3)?

>From my trials, (1) and (2) aren't similar as MAKEOBJDIRPREFIX remains
unset in the shell after make exits for (1). In csh (2) has the same effect
as the Bourne 'export MAKEOBJDIRPREFIX=/somewhere/obj'

Sorry if I'm this sounds obtuse, and I'm off to dig out my shell book :)

cheers,
-- Joel Hatton --
Security Analyst                    | Hotline: +61 7 3365 4417
AusCERT - Australia's national CERT | Fax:     +61 7 3365 7031
The University of Queensland        | WWW:     www.auscert.org.au
Qld 4072 Australia                  | Email:   auscert at auscert.org.au



More information about the freebsd-questions mailing list