分类: LINUX
2009-05-13 16:17:11
一般的在编写内核驱动的时候可以使用一个通用的Makefile,免去了自己编写的麻烦,下面附上我自己用的一个文件:
module-objs := 这个后面是一个通用的.o文件合集,有多少个.c文件,就要有多少个对应的.o文件,比如:
有file1.c和file2.c
那么,就要如下写法:
module-objs := file1.o file2.o
最后这个module-objs中的module要用obj-m中的.o文件的名字代替。
hello-objs := hello.o
obj-m := hello.o
如果是module-objs := file1.o file2.o中有多文件,后面的obj-m := hello.o中的.o文件不要跟module-objs里面的重名。
最后看一个例子,有两个.c文件,hello.c和hello1.c,如下:
最后就是makefile:
那么最后生成的内核模块就是my_hello.ko,就可以加载和卸载了
还有一点就是上面的makefile 不要从上面直接复制,要手动按照上面编写。