/*************************************************************************** * linux kernel 模块多文件编译 * 声明: * 本文主要是记录在调试驱动的阶段,我们可能会更倾向于使用模块插入的方式 * 来进行驱动调试,这样可以大大缩短调试时间。之前在调试gt9xx Touch的时候也 * 是采用这种方式,这里还是记录一下,日后方便查找。 * * 2016-2-2 深圳 南山平山村 曾剑锋 **************************************************************************/ 一、cat Makefile ifneq ($(KERNELRELEASE),) # gt9xxm.o去掉后缀就是生成的.ko的名字 # 多文件编译注意gt9xxm.o、gt9xxm-objs的命名方式 obj-m := gt9xxm.o gt9xxm-objs := gt9xx.o gt9xx_update.o goodix_tool.o else KDIR := /home/zengjf/kernel # 指定内核所在的目录 all: make -C $(KDIR) M=$(PWD) modules clean: rm -f *.ko *.o *.mod.o *.mod.c *.symvers *.order endif 二、输出结果: zengjf@zengjf:~/kernel/drivers/input/touchscreen/gt9xx$ ls -al total 2348 drwxrwxr-x 3 zengjf zengjf 4096 Jan 26 20:14 . drwxrwxr-x 3 zengjf zengjf 4096 Jan 27 18:40 .. -rwxrw-rw- 1 zengjf zengjf 37261 Jan 26 11:50 goodix_tool.c -rw-rw-r-- 1 zengjf zengjf 124592 Jan 26 11:50 goodix_tool.o -rw-rw-r-- 1 zengjf zengjf 29395 Jan 26 11:50 .goodix_tool.o.cmd -rwxrw-rw- 1 zengjf zengjf 89249 Jan 26 20:14 gt9xx.c -rwxrw-rw- 1 zengjf zengjf 309322 Nov 28 2014 gt9xx_firmware.h -rwxrw-rw- 1 zengjf zengjf 12086 Jan 26 11:50 gt9xx.h -rw-rw-r-- 1 zengjf zengjf 559323 Jan 26 11:50 gt9xxm.ko -rw-rw-r-- 1 zengjf zengjf 427 Jan 26 11:50 .gt9xxm.ko.cmd -rw-rw-r-- 1 zengjf zengjf 2477 Jan 26 11:50 gt9xxm.mod.c -rw-rw-r-- 1 zengjf zengjf 23044 Jan 26 11:50 gt9xxm.mod.o -rw-rw-r-- 1 zengjf zengjf 18307 Jan 26 11:50 .gt9xxm.mod.o.cmd -rw-rw-r-- 1 zengjf zengjf 537572 Jan 26 11:50 gt9xxm.o -rw-rw-r-- 1 zengjf zengjf 434 Jan 26 11:50 .gt9xxm.o.cmd -rw-rw-r-- 1 zengjf zengjf 178752 Jan 26 11:50 gt9xx.o -rw-rw-r-- 1 zengjf zengjf 29794 Jan 26 11:50 .gt9xx.o.cmd -rwxrw-rw- 1 zengjf zengjf 120272 Nov 28 2014 gt9xx_update.c -rw-rw-r-- 1 zengjf zengjf 240220 Jan 26 11:50 gt9xx_update.o -rw-rw-r-- 1 zengjf zengjf 29626 Jan 26 11:50 .gt9xx_update.o.cmd -rw-rw-r-- 1 zengjf zengjf 239 Jan 25 17:20 Makefile -rw-rw-r-- 1 zengjf zengjf 73 Jan 26 11:50 modules.order -rw-rw-r-- 1 zengjf zengjf 0 Jan 25 17:01 Module.symvers drwxrwxr-x 2 zengjf zengjf 4096 Jan 26 11:50 .tmp_versions zengjf@zengjf:~/kernel/drivers/input/touchscreen/gt9xx$