1 # To put more focus on warnings, be less verbose as default
 2 # Use 'make V=1' to see the full commands
 3 ifeq ("$(origin V)", "command line")
 4   KBUILD_VERBOSE = $(V)
 5 endif
 6 ifndef KBUILD_VERBOSE
 7   KBUILD_VERBOSE = 0
 8 endif
 9 
10 ifeq ($(KBUILD_VERBOSE),1)
11   Q =
12 ifndef VERBOSE
13   VERBOSE = 1
14 endif
15 export VERBOSE
16 else
17   Q = @
18 endif

$(Q) 变量的本质就是 Makefile中的命令显示与否,命令前有@字符,则不显示命令本身而只显示命令的执行结果。

而 Q = @与否,是通过KBUILD_VERBOSE变量控制。

如果执行make menuconfig V=1,那么Q等于空,即显示命令本身且显示命令的执行结果;

如果执行make menuconfig,那么Q=@,即只显示命令的执行结果

Q变量可以协助调试分析问题。

相关文章:

  • 2022-02-23
  • 2022-01-15
  • 2022-12-23
  • 2021-06-03
  • 2021-07-21
  • 2021-08-17
  • 2022-12-23
猜你喜欢
  • 2021-07-08
  • 2022-12-23
  • 2021-09-05
  • 2021-11-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案