使用Makefile更改堆栈大小和LD_LIBRARY_PATH

时间:2017-12-04 16:32:55

标签: makefile

我希望能够在我的makefile中有一个规则,即更改堆栈大小并将当前目录附加到LD_LIBRARY_FILE。 在shell中我可以做到:

export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:$(pwd)

ulimit -s SOME_NUMBER

是否有办法在makefile中创建一个等同于运行这两个命令的规则,并在makefile运行后更新环境变量?

2 个答案:

答案 0 :(得分:0)

bash中的子进程不会影响调用shell的环境(如@mpez指出的那样)。这样做是为了避免一些安全漏洞。可以导出命令以将环境变量更改为脚本,并在运行make之后运行该脚本(可以通过另一个脚本自动执行),但make本身不会影响调用shell的环境。

答案 1 :(得分:0)

您可以将可执行文件与-z stack-size=VALUE-rpath相关联,这可能会产生类似的效果。

您可以将命令字符推送到TTY层,并希望shell将执行它们,但这有点令人讨厌。 makefile还可以编译一个使用ptrace完成工作的程序,但这也会非常难看。