:=或+ =编译Linux内核模块时?

The*_*eer 3 makefile linux-device-driver linux-kernel

编译Linux内核模块的教程,使用不同的Makefile语法.

例1

obj-m += rpi-pwm.o 
Run Code Online (Sandbox Code Playgroud)

例2

obj-m := nothing.o
Run Code Online (Sandbox Code Playgroud)

有什么区别,是否有首选方式?

dev*_*ull 7

:=将变量设置obj-mnothing.o.这意味着如果obj-m先前已设置,那么它将被替换为nothing.o.

+=添加 rpi-pwm.o到变量obj-m.如果obj-m以前设置为nothing.o,那么它就变成了nothing.o rpi-pwm.o.

obj-m += rpi-pwm.o
Run Code Online (Sandbox Code Playgroud)

相当于说

obj-m := $(obj-m) rpi-pwm.o
Run Code Online (Sandbox Code Playgroud)