gpt4 book ai didi

recursion - 如何调用 shell 来创建一个新环境以在另一个 make 中运行 make?

转载 作者:行者123 更新时间:2023-12-04 06:51:34 27 4
gpt4 key购买 nike

我希望在我的 GNUmakefile 中有一个调用新 shell 的目标规则,然后使用新 shell 的干净板调用一个新的 make。

这样做的语法是什么?

我试过这个,但没有用:

.PHONY: setup
setup:
shell cd myDir; make; cd ..

它会无限重复以下错误:
make[1]: Entering directory `/disk4/home/user/parent'
shell cd myDir; make; cd ..
/bin/sh: shell: command not found
make[1]: Entering directory `/disk4/home/user/parent'
shell cd myDir; make; cd ..
/bin/sh: shell: command not found
[...]

最佳答案

括号不是必需的。无论如何,配方中的每一行都在其自己的 shell 中被调用。您的配方似乎有一个多余的 shell 字符串,您的 shell 试图将其作为命令执行(/bin/sh (您的 shell,而不是 make)提示 shell: command not found )。

另外,make的-C在这种情况下,参数很方便。

此外,当从 shell 调用 make 时,请使用 ${MAKE}宏。

.PHONY: setup
setup:
unset MAKEFLAGS; ${MAKE} -C myDir

关于recursion - 如何调用 shell 来创建一个新环境以在另一个 make 中运行 make?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3050205/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com