网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

迅为龙芯2K1000开发板Linux之Makefile基本语法(上)

3 Makefile 变量和变量赋值
变量可以对许多地方使用, 比如目标, 依赖。 或者命令。
变量的赋值可以使用: “ = ” “ ? = ” “ := ” “ += ”
变量的使用: 通过$() 来完成变量的引用。
示例 1
使用 “: = ” 来赋值
使用“ : =” 给变量赋值, 是立刻赋值, 在执行 var =aaa 的同时变量值已经被确定了, 所以最后打印为 aaabbb 而不是 cccbbb 如下图所示。
示例 2
使用“=” 赋值
使用“=” 来赋值, 是延迟赋值, 使用它来赋值是 makefile 里面最后被指定的值。 因为我们最后给变量var1 赋值为 ccc ,所以最后打印为 cccbbb 而不是 aaabbb 如下图所示:
示例 3:
使用 “? =” 来赋值
使用“?=” 来赋值, 如果 var1 变量前面没有被赋值, 那么就给它赋值为 ccc 如果前面已经赋值了,就适应前面的值, 所以, 打印为 aaabbb ,而不是 cccbbb 如下图所示。
然后我们注释掉第一行代码, makefile 中的注释为 #
在运行就会打印 cccbbb ,因为前面没有给 var1 变量赋值。 如下图所示
示例 4
使用“+=” 来赋值
使用“+=” 赋值是追加赋值, 是在我们前面定义的好的字符串里面在添加进去新的字符串, 所以运行会打印 aaa bbbccc 不过中间会有空格, 如下图所示:
使用“+=” 也类似于我们这样赋值, 如下图所示:
如果赋值很长, 我们也可以使用换行符“\” , 如下图所示
4 Makefile 自动化变量
自动化变量就是不用定义且会随着上下程序的不同而发生变化的变量叫做自动化变量。
这里介绍三个最常用的自动化变量:
$@
表示所有目标
$<
表示第一个依赖文件, 如果依赖模式是% 那么它就表示一系列文件。(%为通配符, 类似 linux上的 *
$^
表示所有依赖
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123