将V = s Flage传播到所有子makefile

当我使用make构建内核模块时,我会得到这种日志

 CC[M] module1 CC[M] module2 CC[M] module3 CC[M] module4 

即只是编译或链接有关当前正在处理的任何模块的信息。

我需要知道哪些命令实际编译模块源代码的完整信息,这些命令中使用的flags是什么等等

 gcc -Wall abcd.c 

我甚至通过设置V=sV=1-n-d来检查它,但是无法得到我想要的东西。

请告诉我如何使V=s传播通过每个后续的makefile。 它可以通过如何通过exporting来完成?

谢谢

有两种方法:

  1. 您可以使用“ make V=1 ”构建模块来打印详细消息。
  2. 您也可以通过将“ export KBUILD_VERBOSE=1 ”行放入Makefile来完成此操作。

这是makefile的一个例子:

 TARGET:= sysfs-sample

 export KBUILD_VERBOSE = 1

 obj-m + = $(TARGET).o

 $(TARGET)-objs:= main.o

 MODULE_DIR:=“$(PWD)”

所有:
     CROSS_COMPILE = ARCH = x86 make -C / lib / modules / $(shell uname -r)/ build M = $(MODULE_DIR)modules 

清洁:
     make -C / lib / modules / $(shell uname -r)/ build M = $(MODULE_DIR)clean