目标嵌入在包含的Makefile中时找不到目标命令
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了目标嵌入在包含的Makefile中时找不到目标命令相关的知识,希望对你有一定的参考价值。
我试图在Makefile上运行GNU Make,说Makefile1包含另一个Makefile2。以下是Makefile1的外观
include absolute_path to Makefile2
target_from_Makefile2: Dependencies
run_target_from_Makefile2
这是Makefile2的样子
run_target_from_Makefile2: Dependencies
run_xyz
这是我看到的错误
make: run_target_from_Makefile2: Command not found
Makefile1:5: recipe for target 'run_target_from_Makefile2' failed
make: *** [target_from_Makefile2] Error 127
答案
makefile的格式是
targetFile: dependency1 dependency2 ...
run_command_to_build_targetFile
dependency1:
run_command_to_build_dependency1
dependency2:
run_command_to_build_dependency2
将makefile 1更改为:
include absolute_path to Makefile2
target_from_Makefile2: Dependencies run_target_from_Makefile2
您应该停止获取错误,但构建过程有点不清楚。如果您需要更多帮助,请发布一些更确定的代码。
另一答案
make recipe是一个shell脚本。调用一个shell,并将配方文本传递给shell运行。 makefile中目标的名称不是shell脚本命令,因此您不能将其用作shell命令来运行。
您可以将其他目标声明为先决条件:
target_from_Makefile2: Dependencies run_target_from_Makefile2
所以makefile2中的目标是先决条件,或者你可以使用递归make,就像这样(但在这种情况下,包含makefile2没有意义):
target_from_Makefile2: Dependencies
$(MAKE) -f path_to_makefile2 run_target_from_Makefile2
以上是关于目标嵌入在包含的Makefile中时找不到目标命令的主要内容,如果未能解决你的问题,请参考以下文章
make: *** 没有指明目标并且找不到 makefile。 停止
make: *** 没有指明目标并且找不到 makefile. 停止.
make: *** 没有指明目标并且找不到 makefile。 停止。
linux 源代码程序终端安装make后出现 make: *** 没有指明目标并且找不到 makefile。 停止。