上次被一个学弟问怎么单独的写一个makefile文件来编译模块,没搞定-.-,所以今天好好研究了一下
我将我们sep4020_tp.c的触摸屏驱动单独的列出来写一个makefile文件
其实刚开始在网上查找到了一版本,但是编译老出错,后来才知道那是针对PC机-.-,而我们的是嵌入式~~~
我在/linux/drivers/char/sep4020_char下面建了一个test_makefile的文件夹,里面只有
sep4020_tp.c和makefile文件
下面是makefile文件的主体:
obj-m:= sep4020_tp.o
module-objs := sep4020_tp.o
kernel_dir:=/linux-3.4-lowpower
pwd:=$(shell pwd)
all:
make -C $(kernel_dir) M=$(pwd) modules |
其实这个还是通过-C 选项切换到$(kernel_dir)也就是我们的内核源码的根目录/linux-3.4-lowpower目录下,执行make生成sep4020_tp.ko模块
但是我在/linux-3.4-lowpower目录下执行make clean,然后再到/linux/drivers/char/sep4020_char/test_makefile目录项执行make的时候是不能够编译成功的
说明生成sep4020_tp.ko模块的时候还是要用到内核源码树的依赖关系的。
备份一下,以免以后忘了~~~
阅读(1499) | 评论(0) | 转发(0) |