> It may help to state the *specific meaning* of ENV in POSIX shells. I 
> looked at the man page for bash and it says:
> 
>   "When invoked as an interactive shell with the name sh, bash looks for 
> the variable ENV, expands its value  if  it  is defined,  and uses the 
> expanded value as the name of a file to read and execute."
> 
> So I can imagine a call to "$ENV sh something" in a makefile to explode. 
> What actually happened?

The shell never sees "$ENV". That's part of the confusion.
The ${ENV} variable is a makefile-level variable which is
expanded by make to read:

SPAD=.... SRC=... INT=... .... make src

The fact that the characters ENV is used as the name of the makefile
variable is a product of history. It would be trivial to rename the
variable from ENV to TPD and everything still works. 

Every programmer knows that the name of a variable in a local
context can be overloaded. I can't imagine why this is even a
point of discussion. There should be NO confusion between a
variable in a makefile and a variable in a shell.

t


_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to