繁体   English   中英

以文本形式获取makefile命令评估

[英]Get makefile command evaluation as text

我有以下问题。 基本上,我有一个很长的Makefile,它会调用许多复杂的命令。 它使用环境变量,其他Makefile文件中包含的方法,真的很难阅读bash魔术。 例如,我有一个命令(不能在此处输入真实的命令),例如:

foo ${bar} (sort ...) [...]

我正在分析此Makefile,我想知道运行它时究竟执行了什么。 我要实现的是该命令以文本表示形式,因此所有内容都经过评估,我可以实际看到确切执行的内容,例如gcc something -Isomethingmore (因此命令foo ${bar} (sort ...) [...]实际上是gcc something -Isomethingmore意思gcc something -Isomethingmore )等。有没有办法做到这一点? 因此,例如,我可以回显它,看看我在处理什么?

默认情况下,make打印执行的配方。 因此,您应该在标准输出中看到确切的命令。 使用grep可能会分离出您感兴趣的一种。如果make无法打印配方,则可能是:

  1. 因为该食谱以@开头,这表明make对此食谱保持沉默,
  2. 因为Makefile包含使所有配方.SILENT特殊目标

删除其中一个,执行该配方后,您应该会看到该配方。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM