ElenaR wrote:
> in my makefile there're some rules which use external program call.
> The called program's binary is placed in some directory, that I doesn't want
> to place in PATH in a constant way,but only for comilation time.
You can do this the same way you would in a shell script, because that's
all that make is doing -- running fragments of shell script for each
target.
foo:
PATH="/some/where:$$PATH" some-prog --arg $@
You have to use $$ for variables that you want the shell to expand so
that make doesn't do the expansion. The modified value of PATH only
applies for that one command because modifications to a child's
environment have no effect on the parent process and are effectively
discarded when the child terminates.
But I don't really see why you need to change the PATH to accomplish
this, you could have accomplished the same thing with:
foo:
/some/where/some-prog --arg $@
The only reason I can see to modify the PATH is if some-prog itself
tries to spawn further child processes that are located in /some/where.
Brian
_______________________________________________
Help-make mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-make