【问题标题】:Is there any way for "make" to echo commands“make”有什么办法可以回显命令
【发布时间】:2011-05-22 17:15:54
【问题描述】:

有没有办法让make echo 命令在makefile 中被@ 手动抑制?我在帮助或手册页中找不到这个,它只是说“--quiet”来做相反的事情。

【问题讨论】:

标签: makefile


【解决方案1】:
  • 最明显的想法是更改运行命令的 shell,例如修改你的makefile并添加到顶部SHELL = sh -xv
  • 另一种解决方案是将 make 调用方式更改为 make SHELL='sh -xv'
  • 最后,如果你的 Makefile 是由cmake 生成的,那么用make VERBOSE=1 调用make

【讨论】:

  • 我发现 nVidia SDK makefiles 实际上有一个 VERBOSE 选项(所以 make VERBOSE= 有效),但这是一个很棒且更通用的解决方案!谢谢!
  • SHELL = sh -xv 没有为我做任何事情。既不是 (SHELL="sh -xv" make) 也不是 (export SHELL="sh -xv" && make)
  • @gman:您需要将其包含到 make 命令中(make SHELL='sh -xv' 或 Makefile。
  • -v 对 Dash 0.5.7 (Ubuntu 14.04) 没有影响,我认为是因为它忽略了 -c 命令,这就是 Make 必须运行它们的方式。不过适用于 GNU Bash。
  • 这种方法的一个副作用是它会回显每个 shell 实例化的用户 .bashrc 内容中可能存在的任何函数导出。
【解决方案2】:

我不时使用 cmake 遇到这个问题,因为它隐藏了命令。您可以使用“make VERBOSE=true”让它们打印出来。

【讨论】:

  • 谢谢,我确实为 SDK 找到了这个。
  • 这完全取决于手头的 Makefile。
猜你喜欢
  • 1970-01-01
  • 2011-03-21
  • 1970-01-01
  • 2021-11-25
  • 1970-01-01
  • 2015-09-24
  • 2015-02-25
  • 2016-01-20
  • 1970-01-01
相关资源
最近更新 更多