天天看点

我们也说说Android.mk(5) - 计算怎么办?我们也说说Android.mk(5) - 计算怎么办?

前面我们把makefile做为一门语言的主要特性大致做了一个描述,它集合了目标式的模式和函数式的模式,还有大量的宏的思想,已经可以写出相当复杂的makefile了。

但是,很不幸的是,虽然已经很复杂了,我们在实际的android.mk当中还是会发现有很多事情光用makefile的字符串替换搞不定啊,这可如何是好?

其实,这就是我们在第一讲的最开始就讲shell函数的原因,因为这要靠shell脚本来解决了。

我们看个实际的例子:core.mk中判断make的版本号大于等于3.81版的脚本:

expr语句可以用来计算变量计算结果的值。

加法:+

减法:-

乘法:\*

除法:/

求余数: %

特别注意一下乘法,要在*之前加一个\

在实际写makefile的过程中,有时候需要修改环境变量。shell中提供了unset语句

不多说,直接上例子:

shell总算是可以做些简单的计算了,但是对于规模到一定程度的需求,还是搞不定,怎么办?

在android.mk系统中,您可以看到python,ruby纷纷被引进来了,需要用的话,别客气。完成工作是主要的,方法不重要。