如果代码位于内核树中,例如在drivers/char/fishing文件夹下。需要在char文件夹里的Makefile添加:
obj-m +=fishing/
编译时就会进入fishing文件夹编译,然后再fishing文件夹的Makefile添加:
obj-m +=fishing.o
或者
obj-$(CONFIG_FISHING_POLE) +=fishing/
在fishing文件夹的Makefile中添加:
obj-$(CONFIG_FISHING_POLE) +=fishing.o
当然还要修改Kconfig文件,首先修改char目录下的Kconfig文件,添加 source "drivers/char/fishing/Kconfig",然后再fishing目录下的Kconfig写入:
config FISHING_POLE
tristate "fishing master xl support"
default n
或者
bool "fishing master xl support",此时不能选择编译成模块。 如果源文件有多个。可以添加: fishing-objs :=fishing-main.o fishing-line.o 若再内核源代码树外面,除了写Makefile外,在编译时要写: make -C /kernel/source/location SUBDIRS=$PWD modules