例子:$(warning " LLL $(sort $(eval a := 2) $(eval b := 1) $(a) $(b) ) ")
输出结果:LLL 1 2
关于eval命令,主要有三点:
1.eval会把语句展开作为make指令执行
2.eval会把展开执行的指令的结果返回给系统(系统可以获取到eval函数中对变量a与变量b的赋值)
3.eval返回结果为空
所以sort函数实际是给两个空值、变量a、变量b排序,sort会去掉空值以及重复值,所以输出结果为:1 2
例子:$(warning " LLL $(sort $(eval a := 2) $(eval b := 1) $(a) $(b) ) ")
输出结果:LLL 1 2
关于eval命令,主要有三点:
1.eval会把语句展开作为make指令执行
2.eval会把展开执行的指令的结果返回给系统(系统可以获取到eval函数中对变量a与变量b的赋值)
3.eval返回结果为空
所以sort函数实际是给两个空值、变量a、变量b排序,sort会去掉空值以及重复值,所以输出结果为:1 2