命令替换为 Android.mk

Command Substitution with Android.mk

我在我正在使用的 Android.mk 文件中遇到了命令:

include $(DEPENDENCIES_NANOBUFFERS_DIR)/android/jni/include.mk

我知道 $(command) 是 "command substitution"。它运行一个命令,捕获它的输出,并将其插入到包含 $( )

的命令行中

但是我搜索了整个 Android.mk 文件以查找命令 DEPENDENCIES_NANOBUFFERS_DIR 代表什么,但我没有找到它的任何含义。

我知道 NANOBUFFERS 是我的依赖项目录中的一个文件,因为我手动搜索了我的根目录中包含的所有文件。这是一个名为 dependencies 的文件,此文件中是我的 NANOBUFFERS 文件。但是,如果未明确指定 DEPENDENCIES_NANOBUFFERS_DIR,编译器如何找到通往 include.mk 的正确路径?这是自动完成的吗?

DEPENDENCIES_NANOBUFFERS_DIR 只出现在另一个地方,即 Android.mk 文件的底部。

$(call import-add-path,$(DEPENDENCIES_NANOBUFFERS_DIR)/..)

即使 Android.mk 文件中的任何地方都没有指定此命令,有人可以解释编译器如何解释 DEPENDENCIES_NANOBUFFERS_DIR 吗?提前谢谢你。

以下代码链接到另一个 Android.mk 文件,该文件位于不同模块的不同文件中

include $(DIFFERENT_DIR)/buildtool/android_common.mk

在此 android_common.mk 中,变量 DEPENDENCIES_NANOBUFFERS_DIR 被指定为路径