[vox-tech] Environment variables in make

Richard Harke rharke at earthlink.net
Fri Oct 6 11:16:04 PDT 2006


On Thu October 5 2006 20:42, 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.

You are quite right. But what I am really looking for is a test
I can put in the makefile that doesn't require exporting
an environment variable. The problem is when an unknown
person downloads the zip file and wants to build it. This is not my project,
I am just porting to ia64. Also doesn't use autoconf/automake
or this wouldn't be a problem.

Hey, I just realized I can use $(shell uname -m)   Hurray!

Richard


More information about the vox-tech mailing list