1、obj-y += foo.o
告诉Kbuild在当前目录里,有一个名为foo.o的目标文件。foo.o将从foo.c 或foo.S文件编译得到。
2、obj-y += /usr/kernel/ 表示该目录下的对应所有文件生成的 .o 目标文件。
3、如果要编译成模块,要用obj-m了。
例子:
obj-$(CONFIG_FOO) += foo.o
$(CONFIG_FOO)可以为y(编译进内核) 或m(编译成模块)。如果CONFIG_FOO不是y 和m,那么该文件就不会被编译链接。
除了y、m以外的obj-x 形式的目标都不会被编译。
4、
= 是最基本的赋值
:= 是覆盖之前的值
?= 是如果没有被赋值过就赋予等号后面的值
+= 是添加等号后面的值