l i n u x - u s e r s - g r o u p - o f - d a v i s
Next Meeting:
July 7: Social gathering
Next Installfest:
Latest News:
Jun. 14: June LUGOD meeting cancelled
Page last updated:
2006 Oct 06 18:49

The following is an archive of a post made to our 'vox-tech mailing list' by one of its subscribers.

Report this post as spam:

(Enter your email address)
Re: [vox-tech] Environment variables in make
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [vox-tech] Environment variables in make

On Thu, 2006-10-05 at 20:42 -0700, Jeff Newmiller wrote:
> Richard Harke wrote:
> > I am trying to modify a makefile to have a few lines
> > which are conditional on being on ia64. I found a
> > variable in my environment HOSTTYPE=ia64
> > that I thought I could use. In the makefile I have
> > ifeq ($(HOSTTYPE),ia64) but HOSTTYPE doesn't seem to
> > be defined unless I define in the makefile. (which defeats
> > the purpose) If I issue the command as
> > HOSTTYPE=ia64 make
> > that works but again it doesn't really do what I want.
> > According the to docs at www.gnu.org/software/make/manual,
> > all the environment variables are read in when make starts up
> > and are used unless they are overridden in the makefile.
> > 
> > Can anybody clarify this for me?
> When you run make, you are starting a new process.  Environment
> variables are only copied to new processes if they are marked
> for export. So... instead of typing HOSTTYPE=ia54, type
> export HOSTTYPE=ia64, or follow HOSTTYPE=ia64 with
> export HOSTTYPE before running make.

To correct this just slightly: if it's not exported, it's not actually
an environment variable, just a shell variable.

"env | grep VARNAME" is sometimes useful for determining whether a shell
variable is exported or not.

Micah J. Cowan
Programmer, musician, typesetting enthusiast, gamer...

vox-tech mailing list

LUGOD Group on LinkedIn
Sign up for LUGOD event announcements
Your email address:
LUGOD Group on Facebook
'Like' LUGOD on Facebook:

Hosting provided by:
Sunset Systems
Sunset Systems offers preconfigured Linux systems, remote system administration and custom software development.

LUGOD: Linux Users' Group of Davis
PO Box 2082, Davis, CA 95617
Contact Us

LUGOD is a 501(c)7 non-profit organization
based in Davis, California
and serving the Sacramento area.
"Linux" is a trademark of Linus Torvalds.

Sponsored in part by:
O'Reilly and Associates
For numerous book donations.