2014-12-08 701 views
1

下面是Android.mk的第一行:

LOCAL_PATH := $(call my-dir) 

什么是call?一个shell命令?

回答

3

call是调用声明函数的make函数。即使某些部分看起来类似,但使语法不等于正常shell语法,因此$()不是子shell调用,而是变量评估或调用make函数,其中call是调用用户定义函数的函数。见例如https://www.gnu.org/software/make/manual/html_node/Call-Function.html以了解关于此事的更多详情。

的化妆相当于$()(或``)为$(shell ...),看到https://www.gnu.org/software/make/manual/html_node/Shell-Function.html对一个细节。