请问makefile中:=的意思

探照灯儿 2008-09-24 08:56:40
最近才开始学linux下的编程
最近看到一个Makefile
Makefile:
CC=gcc
INCLUDEDIR = /usr/src/Linux/include/
MODCFLAGS := -Wall -O -DMODULE -D__KERNEL__ -DLINUX -I$(INCLUDEDIR)
map_driver.o : map_driver.c
$(CC) $(MODCFLAGS) -c map_driver.c

请问这个":="是什么意思啊?
...全文
225 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
joyself 2008-09-24
  • 打赏
  • 举报
回复
http://www.china-askpro.com/msg22/qa83.shtml
摘录:
-------------------------------------------
有几个地方值得解释一下的。首先,我在定义大部分变量的时候使 用的是 := 而不是 = 符号。它的作用是立即把定义中参考到的函 数和变量都展开了。如果使用 = 的话,函数和变量参考会留在那 儿,就是说改变一个变量的值会导致其它变量的值也被改变。例 如:

A = foo
B = $(A)
# 现在 B 是 $(A) ,而 $(A) 是 'foo' 。
A = bar
# 现在 B 仍然是 $(A) ,但它的值已随着变成 'bar' 了。
B := $(A)
# 现在 B 的值是 'bar' 。
A = foo
# B 的值仍然是 'bar' 。
-------------------------------------------



http://www.gnu.org/software/make/manual/make.html#Flavors
6.2 The Two Flavors of Variables
lw1a2 2008-09-24
  • 打赏
  • 举报
回复
搜索《跟我一起写Makefile》
探照灯儿 2008-09-24
  • 打赏
  • 举报
回复
能详细一点吗?
或者给个链接让我自己去看一看?
lw1a2 2008-09-24
  • 打赏
  • 举报
回复
避免循环引用?

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧