Chinaunix
标题:
【求助】makefile 的 一些疑惑
[打印本页]
作者:
花寻鹿
时间:
2017-11-30 18:45
标题:
【求助】makefile 的 一些疑惑
里面有几个知识点有点糊涂.请多指教!最好能够举一些简单的例子。谢谢~
1.使用后缀-objs、-y识别对象文件,这句话中识别对象文件是什么意思?
2.确定一个object文件是否是另一个object的组成部分,这个是通过什么判断出来的?
3.为什么例子中ext2.o只有xattr.o组成部分? balloc.o和bitmap.o没有编译吗?
QQ截图20171128233937.png
(164.42 KB, 下载次数: 26)
下载附件
2017-11-30 18:45 上传
作者:
q1208c
时间:
2017-12-01 18:41
回复
1#
花寻鹿
https://www.cprogramming.com/tutorial/makefiles.html
https://www.cprogramming.com/tutorial/makefiles_continued.html
希望可以帮到你。
作者:
花寻鹿
时间:
2017-12-01 23:40
回复
2#
q1208c
首先非常感谢您的帮助,但是一般的命令看书基本明白了理论,但是实践起来发现又有知识点不太那么理解的感觉,就是既然
balloc.o和bitmap.o编译了,那么他们不都是属于
ext2.o一部分,为什么书中说
ext2.o只有xattr.o组成部分,关键纠结在"只有"这两个字上?
作者:
q1208c
时间:
2017-12-02 20:51
回复
3#
花寻鹿
你要不是看书看傻了,就是根本没看。
你把变量的值写进去,再看看文件内容。
作者:
花寻鹿
时间:
2017-12-02 23:29
回复
4#
q1208c
额,暴躁老哥。。。我知道ext2.o有xattr.o组成部分,但是这个只有?当 CONFIG_EXT2_FS_XATTR=y时, ext2-y := balloc.o bitmap.o ext2-y += xattr.o
模块的名字为ext2,由balloc.o和bitmap.o两个目标文件最终链接生成ext2.o,若
CONFIG_EXT2_FS_XATTR为y,xattr.o编译进ext2.o,所以ext2.o不是包含balloc.o bitmap.o xattr.o 这三个吗? 这个"只有"二字是怎么回事?
本人小白,可能知识点有误区,大佬请轻喷~
作者:
q1208c
时间:
2017-12-04 20:00
回复
5#
花寻鹿
https://www.gnu.org/software/make/manual/make.html#Introduction
看这里的说明,
中间的一段
原文
For the append operator, ‘+=’, the right-hand side is considered immediate if the variable was previously set as a simple variable (‘:=’ or ‘::=’), and deferred otherwise.
复制代码
Google 翻译
对于追加运算符“+ =”,如果变量先前被设置为简单变量(':='或':: ='),则右侧被视为立即数,否则被延迟。
复制代码
作者:
花寻鹿
时间:
2017-12-05 23:06
回复
6#
q1208c
明白了,万分感谢~!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2