在Makefile中设置环境变量

时间:2013-10-19 02:42:00

标签: linux bash makefile environment-variables

如何将setenv LD_LIBRARY_PATH .添加到Makefile?当我在Makefile中使用相同的术语然后使用echo $LD_LIBRARY_PATH .回显变量时,即使在另一个文件夹而不是绝对路径中,我总是会收到.,我收到此错误setenv LD_LIBRARY_PATH . {{ 1}}

make: setenv: Command not found

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

你的问题不清楚,所以我必须猜测你的意思。

setenv命令是C shell的一部分,它不是Make的默认命令。你必须设置它:

SHELL = csh

然后,如果要使用该变量,则必须在设置它的同一命令中执行此操作,因为每个命令都在其自己的子shell中运行。另外,请记住逃避“$”:

libmem.v1:
    setenv LD_LIBRARY_PATH . ; echo $$LD_LIBRARY_PATH

如果您希望LD_LIBRARY_PATH的值为绝对路径,而不仅仅是“。”,则必须将其设置为绝对路径:

libmem.v1:
    setenv LD_LIBRARY_PATH $(PWD) ; echo $$LD_LIBRARY_PATH