我有以下问题。基本上,我有一个很长的Makefile,它会调用许多复杂的命令。它使用环境变量,其他Makefile文件中包含的方法,真的很难阅读bash魔术。例如,我有一个命令(不能在此处输入真实的命令):
foo ${bar} (sort ...) [...]
我正在分析此Makefile,我想知道运行它时究竟执行了什么。我要实现的是该命令以文本表示形式,因此所有内容都经过评估,我可以实际看到确切执行的内容,例如gcc something -Isomethingmore
(因此,命令foo ${bar} (sort ...) [...]
实际上意味着{{1 }})等。有没有办法做到这一点?因此,例如,我可以回显它,看看我在处理什么?
答案 0 :(得分:2)
默认情况下,make打印执行的配方。因此,您应该在标准输出中看到确切的命令。使用grep
可能会分离出您感兴趣的那个。如果make不打印食谱,则可能是:
@
,这表明make对此食谱保持沉默,.SILENT
special target,该菜单使所有配方均静音。删除一个或另一个,执行该配方后,您应该会看到它。