当前位置: 技术问答>linux和unix
求助:一个makefile,大虾们进来看看
来源: 互联网 发布时间:2016-11-09
本文导语: obj-m += hello-1.o all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean 什么意思啊?实在看不懂,请教高手啊。。 | 2.6的...
obj-m += hello-1.o
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
什么意思啊?实在看不懂,请教高手啊。。
all:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules
clean:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean
什么意思啊?实在看不懂,请教高手啊。。
|
2.6的内核源代码Makefile语法,在内核源代码的Documentation目录里有文档说明。
|
obj-m += hello-1.o
--->将你的程序(hello-1)生成一个模块,即hello-1.ko,obj-m中的m就是指模块。这里个人以为使用=即可,当然+=也没错。
可以参考一下http://www.latelee.org/embedded-linux/my-makefile-for-driver,以前写的一个驱动Makefile模板,有一些解释,也有图示,希望可以帮到你。
--->将你的程序(hello-1)生成一个模块,即hello-1.ko,obj-m中的m就是指模块。这里个人以为使用=即可,当然+=也没错。
可以参考一下http://www.latelee.org/embedded-linux/my-makefile-for-driver,以前写的一个驱动Makefile模板,有一些解释,也有图示,希望可以帮到你。
|
+= 就相当于c语言里的+=
-C是要求make切换目录到/lib/modules/$(shell uname -r)/build ,也就是 /lib/modules/2.6.xx/build
LZ找一本ldd3看看吧,《Linux设备驱动》,英文版中文版都有,你现在问的问题和你以后要问的问题,讲的都很清楚。
-C是要求make切换目录到/lib/modules/$(shell uname -r)/build ,也就是 /lib/modules/2.6.xx/build
LZ找一本ldd3看看吧,《Linux设备驱动》,英文版中文版都有,你现在问的问题和你以后要问的问题,讲的都很清楚。
|
推荐你看电子书 《GNU Make V3.8中文版》,网上有pdf版下的,就是这个地址的内容:http://hi.baidu.com/%C6%BB%B9%FB%CF%A1%D6%E0/blog/item/c47283c774ff77c039db4934.html