利用linux内核将多个文件编译成一个ko文件
1.如果一个驱动直接编译进内核,直接按照以下方式书写:
obj-y += generic_serial.o vme_scc.o
obj-y += a.o
2.如果一个驱动要编译成模块,且一个模块由1个源文件编译而成:
obj-m += a.o
3.如果一个驱动要编译成模块,且一个模块由多个源文件编译而成, 其编译过程为:
obj-m += ab.o
ab-objs := a.o b.o
编译过程:
a.c -> a.o
b.c -> b.o
a.o b.o -> ab.o -> ab.ko
Example:
#drivers/isdn/i4l/Makefile
obj-$(CONFIG_ISDN) += isdn.o
isdn-objs := isdn_net_lib.o isdn_v110.o isdn_common.o