> 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