当我使用make
构建内核模块时,我会得到这种日志
CC[M] module1
CC[M] module2
CC[M] module3
CC[M] module4
即仅编译或链接有关当前正在处理的任何模块的信息。
我需要知道哪些命令实际编译模块源代码的完整信息,这些命令中使用的flags
等等。例如
gcc -Wall abcd.c
我甚至通过设置V=s
,V=1
,-n
和-d
来检查它,但无法获得我想要的内容。
请告诉我如何让V=s
在每个后续的makefile中传播。它可以通过exporting
来完成,具体如何?
由于
答案 0 :(得分:2)
有两种方法:
make V=1
”构建模块以打印详细消息。export KBUILD_VERBOSE=1
”行放入Makefile。以下是makefile的一个示例:
TARGET :=sysfs-sample export KBUILD_VERBOSE=1 obj-m += $(TARGET).o $(TARGET)-objs := main.o MODULE_DIR := "$(PWD)" all: CROSS_COMPILE= ARCH=x86 make -C /lib/modules/$(shell uname -r)/build M=$(MODULE_DIR) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(MODULE_DIR) clean