如何跟踪递归 make?
我需要开发一个使用 automake 工具并递归生成的系统。
'make -n' 仅跟踪 make 的顶层。
有没有办法让make在遇到make命令时执行make -n?
I need to work on a system that uses automake tools and makes recursively.
'make -n' only traces the top level of make.
Is there a way to cause make to execute a make -n whenever he encounters a make command?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用
$(MAKE)
调用子 makefile,而不是使用make
。那应该有效。查看MAKE
变量的工作原理手册中的。这是一个简单的示例:Makefile:
Makefile2:
命令行:
Use
$(MAKE)
to call your submakefiles, instead of usingmake
. That should work. Check out How theMAKE
variable works in the manual. Here's a quick example:Makefile:
Makefile2:
Command line:
您的递归 makefile 是否如下所示:
或者像这样:
我认为如果您希望将标志传递给子 make 进程,则需要使用第二种样式。可能是你的问题。
Does your recursive makefile look like this:
Or like this:
I think you need to use the second style if you want flags passed to child make processes. Could be your problem.
将环境变量“MAKEFLAGS”设置为“n”可能会满足您的需要。
这里有一些用于跟踪 make 命令的更高级技巧:
http://www.cmcrossroads。 com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
这些技巧中最简单的就是将 SHELL="sh -x" 添加到 make 命令中(运行时不带“- n”在这种情况下)。
Setting the environment variable "MAKEFLAGS" to "n" may do what you need.
There are some more advanced tricks for tracing make commands here:
http://www.cmcrossroads.com/ask-mr-make/6535-tracing-rule-execution-in-gnu-make
The simplest of these tricks comes down to adding SHELL="sh -x" to your make command (running without "-n" in that case).