axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-developer] ENV


From: root
Subject: Re: [Axiom-developer] ENV
Date: Wed, 22 Nov 2006 17:36:17 -0500

| >   regress:
| >           ${ENV} ${MAKE} DAASE=$(axiom_targetdir) regression-tests
| 
| BTW, why isn't it
| 
|       ${MAKE} ${ENV} DAASE=$(axiom_targetdir) regression-tests
| 

First, for defining terms, the "current Makefile" is the makefile
that contains the above chosen line. The "current Makefile" will
try to execute the "new Makefile". So the question is, what will
be the effect in the "new Makefile" of the different order?

Hmmm, the question is one of expansion I suppose. Lets assume that
the current Makefile

SRC=/axiom/src
INT=/axiom/int

ENV = SRC=${SRC} INT=${INT}




then the first expression expands to:

SRC=/axiom/src INT=/axiom/int ${MAKE} DAASE=$(axiom_targetdir) regression-tests

which means that in the newly executing Makefile the variable values of

SRC and INT will NOT be overridden if they are set in the new Makfile
DAASE will be overridden if the are set in the new Makefile




and the second expression expands to:

${MAKE} SRC=/axiom/src INT=/axiom/int DAASE=$(axiom_targetdir) regression-tests

which means that in the newly executing Makefile the variable values of

SRC and INT WILL be overridden if they are set in the new Makfile
DAASE WILL be overridden if the are set in the new Makefile



so the issue is one of overriding the value assignments in the new Makefile.

prefix form sets the environment values but the new Makefile assignments
will be used if they are set.

postfix form sets the environment values but overrides the new Makefile
assignments if they are set.




This is used in axiom now. In the top level Makefile we have a variable
called NOISE. If we want to override that variable we simply type:

  make NOISE=

t











reply via email to

[Prev in Thread] Current Thread [Next in Thread]