日期:2014-05-16  浏览次数:20723 次

Makefile中引用变量时大括号和小括号有啥区别?
本帖最后由 leesphone 于 2010-05-14 23:07:14 编辑
如题。 Makefile中可以通过$(Var)或者${Var}的方式引用变量"Var", 我想问一下大括号应用跟小括号引用有啥区别?我有碰到过一个问题,通过小括号在某些情况下引用环境变量一直失败,但大括号就可以,望各位达人给个正解,谢谢!
------解决方案--------------------
虽然我不怎么懂编程  可是我也知道点关于makefile的 
说引用变量用小括号或者大括号啊   而且我看小括号好像用的比较普遍呀 
http://blog.csdn.net/lovetangtang/archive/2005/12/31/567297.aspx
------解决方案--------------------
shell 用的是大括号, Makefile两种都行.但是在命令里用shell变量的是候就需要大括号.

all:
curr_dir=`pwd`; \
echo $${curr_dir}; \
echo $(LOGNAME); \
echo ${LOGNAME}


------解决方案--------------------
Shell的变量用${},不能使用$()访问变量
严格说Makfile的变量用$(),但是Makefile的执行离不开shell环境,
因此使用${}也可以访问,是因为解析的时候使用shell解析.


------解决方案--------------------
代表的环境不同