声明:我的回答不一定正确。
obj-m := test.o是指定模块名称是test.ko。如果只是由test.o,来编译成test.ko,那后面的module-objs := test.o最好省略(我觉得你这2句话写一起,估计编译会出错)。
但是有时候,test.ko是由test.o file1.o file2.o这样多个.o文件编译成test.ko模块,那需要:
obj-m := test.o
module-objs := file1.o file2.o test_main.o(注意,这里不要用test.o)
所以module-objs 用在多.o文件编译的时候。