我看到这是同一个问题
但这个答案对我不起作用.我猜这个答案只适用于cmake.没有cmake有什么选择?
注意试过这些
make VERBOSE=1 target
make target VERBOSE=1
VERBOSE=1 make target
make V=1 target
make target V=1
V=1 make target
make -V target
make -v target
Run Code Online (Sandbox Code Playgroud)
他们都没有工作.
make -v返回
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
Run Code Online (Sandbox Code Playgroud)
Rei*_*eek 98
默认情况下,make
在执行命令之前会打印每个命令.可以通过以下机制之一来抑制此打印:
@
在命令的开头添加-s
,--silent
或者--quiet
,$(MAKE) --silent -C someDir
例如,如.从那一刻起,命令回显在子make中被抑制.如果你的makefile没有打印命令,那么它可能正在使用这三种机制中的一种,你必须实际检查makefile以找出哪些.
作为避免这些回声抑制机制的解决方法,您可以重新定义用于使用调试模式的shell,例如make SHELL="/bin/bash -x" target
.其他炮弹有类似的选择.使用这种方法,它不是make
打印命令,而是打印shell本身.
如果使用标志-n
或者--just-print
,将忽略回声抑制机制,并且您将始终看到所有make
认为应该执行的命令- 但它们实际上并未执行,只是打印.这可能是一个很好的方法来弄清楚你真正期望看到的东西.
该VERBOSE
变量没有标准含义make
,但仅限于makefile解释它.