当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 3 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 编译模块时make命令中的M选项的含义
帖子发表于 : 2010-06-05 21:53 

注册: 2008-10-29 23:53
帖子: 34
送出感谢: 0 次
接收感谢: 0 次
新的内核模块编程中的make命令里有个M选项,如下:
make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

我查了make的document,没有发现呀M选项呀,这到底是什么意思?

M=$(PWD) 表明然后返回到当前目录继续读入、执行当前的Makefile。
http://www-128.ibm.com/developerworks/c ... -module26/

我的意思是:这个M是kbuild的东西呢,还是make本来自己就有的东西呢?

按理说,它是make的一个参数,应该是make的东西,但是make的doc里又找不到,
如果是kbuild里的东西,它应该怎样来实现呢?

M是makefile脚本中的一个变量(variable)


# Use make M=dir to specify directory of external module to build
# Old syntax make ... SUBDIRS=$PWD is still supported
# Setting the environment variable KBUILD_EXTMOD take precedence
ifdef SUBDIRS
KBUILD_EXTMOD ?= $(SUBDIRS)
endif
ifdef M //如果没有定义或赋值M,此处M未定义(undefined)
ifeq ("$(origin M)", "command line") //如果定义了,此句用来判断M是否从命令行来
KBUILD_EXTMOD := $(M)
endif
endif


_________________
有事没事常交流:
QQ:452412781


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 编译模块时make命令中的M选项的含义
帖子发表于 : 2010-06-06 11:05 
头像

注册: 2009-12-04 13:29
帖子: 1145
送出感谢: 2
接收感谢: 0 次
:em11


_________________
关注和奉献Tianjin Linux User Group的建设,热心参与开源社区,Linux爱好者,python初学者,希望成为一名geek,求交流求指导

我知道发QQ群是不对的。。。可是:Linux天津qq群104029520 73809331,终有一天会没有QQ的。。

Blog:http://www.freetstar.com //欢迎
twitter:https://twitter.com/freetstar


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 编译模块时make命令中的M选项的含义
帖子发表于 : 2010-08-19 19:25 

注册: 2010-08-18 10:27
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
M= 选项是让你的这个Makefile在构造modules目标之前返回到模块源代码目录


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 3 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译