[vox-tech] Environment variables in make

Jeff Newmiller jdnewmil at dcn.davis.ca.us
Thu Oct 5 20:42:28 PDT 2006


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.

-- 
---------------------------------------------------------------------------
Jeff Newmiller                        The     .....       .....  Go Live...
DCN:<jdnewmil at dcn.davis.ca.us>        Basics: ##.#.       ##.#.  Live Go...
                                       Live:   OO#.. Dead: OO#..  Playing
Research Engineer (Solar/Batteries            O.O#.       #.O#.  with
/Software/Embedded Controllers)               .OO#.       .OO#.  rocks...1k
---------------------------------------------------------------------------


More information about the vox-tech mailing list