我看到这是与之相同的问题
Making cmake print commands before executing
但是该答案对我不起作用。我猜答案只能与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
他们都没有工作。
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
默认情况下,make
会在执行命令之前先打印所有命令。可以通过以下一种机制来抑制这种打印:
@
-s
,--silent
或--quiet
之一调用子制造,如$(MAKE) --silent -C someDir
中所示。从那时起,子回显中的命令回显被抑制。如果您的makefile不打印命令,则可能是使用这三种机制之一,您必须实际检查makefile来找出哪种。
作为避免这些回声抑制机制的解决方法,您可以重新定义要用于调试模式的shell,例如make SHELL="/bin/bash -x" target
。其他外壳具有类似的选项。使用这种方法,不是make
打印命令,而是shell本身。
如果使用标志-n
或--just-print
,则回声抑制机制将被忽略,并且您将始终看到make
认为应执行的所有命令-但实际上并没有执行,只是打印而已。这可能是弄清楚您实际期望看到的内容的好方法。
VERBOSE
变量对make
没有标准含义,但仅当您的makefile解释它时才如此。
我认为这是您想要的:使MAKE_VERBOSE = 1目标