call function

1 call递归扩展变量

本质上仍然是变量扩展,等价于$(),只不过扩展的时候带了参数,$(call xxx)返回的是xxx扩展之后的值。参数依次赋值给$(1),$(2)......,但是参数要在赋值之前完成扩展。

2 call define定义的多行变量

本质上仍然是变量扩展,参数依次赋值给$(1),$(2)......,但是在赋值之前也要扩展。完成扩展之后替换出现call的地方,这样就完成了对call函数的扩展。

注意,call是不会对define定义的多行变量本身(除了$(1),$(2))进行扩展的,也就是说,它只是进行参数的替换。

3 call builtin函数

 直接执行builtin,不过参数要先扩展然后再传给builtin。

posted @ 2017-09-04 17:08  PhoenixTree(梧桐树)  阅读(290)  评论(0编辑  收藏  举报