8.转换文本函数

本系列文章均翻译自make官方文档:make Manual,github同步项目:question

不能被Automake所识别。

8.9 value

语法:$(value \*variable\*)
variable是变量的名字,而不是其引用。
使用变量的值,值不会被扩展。

FOO = $PATH

all:
        @echo $(FOO)
        @echo $(value FOO)

第一行输出是ATH,以为* P ∗ 被 扩 展 为 m a k e 变 量 了 ; 第 二 行 输 出 才 是 ∗ P*被扩展为make变量了;第二行输出才是* PmakePATH*环境变量的值。

note:当变量已经被扩展了,那么该函数不会起作用。

8.9 eval

允许你定义一个新的非常量makefile构造:计算其它变量和函数的结果。

eval的参数被扩展,扩展的结果会被解析为makefile的语法。扩展结果可以定义新的make变量、目标、隐含或明确的规则、etc.

eval的结果总是空字符串。

eval的参数实际上被扩展两次;第一次的扩展结果将在解析为makefile语法的时候再次被扩展。
这意味着你需要提供额外的级别来使用$字符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值