先看起源,makefile中内容如下:
func := sort
bar := b d e a c f
foo := $($(func) $(bar))
test :
echo $(foo)
本以为结果是:
a b c d e f
出乎意料的是,结果如下:
echo
这种方式为何不能使用,现在还不明白,很多地方都没有解释这个现象,不过有另一种方案可以代替。
func := sort
bar := b d e a c f
foo := $(call $(func),$(bar))
这样结果就如意了:
a b c d e f