热度 12
2012-2-18 13:02
2302 次阅读|
0 个评论
关于模块的编译,之前试验都是需要把模块放到内核相应的驱动目录下,然后再修改Kconfig和Makefile, 使用#make menuconfig配置后再#make modules, 昨晚同事讲座,PPT上提到有更简便直接的编译外部模块方法,可以参考Document/kbuild/目录下内容 Makefile内容如下 obj-m += yourmodulename.o #如果有多个文件,比如两个,使用下面语句 #obj-m += module.o #module-objs += file1.o file2.o KPATH := your_kernel_source_path #内核源码的位置变量 PWD := $(shell pwd) #模块代码的当前目录,SUBDIRS需要 CROSS_ARCH :=\ ARCH=arm CROSS_COMPILE=your_toolchain #平台和交叉编译工具变量 default: $(MAKE) $(CROSS_ARCH) -C $(KPATH) SUBDIRS=$(PWD) modules #这是真正的编译命令 clean: rm -rf *.cmd *.ko *.mod.c *.o *.order *.symvers #清除所有编译生成文件 --end by tziang@hotmail.com