首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules中module作用,该怎么处理

2012-03-09 
$(MAKE) -C $(KERNELDIR) M$(PWD) modules中module作用刚入门。关于Makefile的解释大多如下:1.执行make命

$(MAKE) -C $(KERNELDIR) M=$(PWD) modules中module作用
刚入门。关于Makefile的解释大多如下:
1.执行make命令,读取当前目录下的Makefile
2.因为没有定义KERNELRELEASE,所以执行else部分
3.执行default目标,即执行命令 “ $(MAKE) -C $(KERNELDIR) M=$(PWD) modules”
4.该命令相当于重新执行make命令,但是该make命令首先调用-C选项所指的路径下的makefile,这个makefile定义了KERNELRELEASE变量,然后执行modules目标。
5.modules目标又调用了一次make命令,执行当前目录下的makefile文件,就把obj-m变量定义了。然后又执行make命令生成最终的.ko文件。

其中“ $(MAKE) -C $(KERNELDIR) M=$(PWD) modules”中的“module”加入的话make之后也是显示make[1]: Nothing to be done for `modules'.
那这个module该怎么起作用,怎么体现出来。

[解决办法]
 


modules”中的“module”加入的话make之后也是显示make[1]: Nothing to be done for `modules'.
那这个module该怎么起作用,怎么体现出来。

回答:
module 是一个参数,就是告诉内核在编译时,把此驱动程序编成单独的模块,不编译进内核,

在2.6以上的内核会生成xxxx.ko文件,如果是2.4的内核会生成.o文件。然后你可当独加载此模,用insmod xxx.ko 

热点排行