使用Android.mk进行命令替换

时间:2018-07-23 15:24:10

标签: bash shell android-ndk android.mk

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

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

我知道$(command)是“命令替换”。它运行一个命令,捕获其输出,然后将其插入包含$()的命令行中。

不过,我已经搜索了整个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吗?预先谢谢你。

1 个答案:

答案 0 :(得分:0)

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

include $(DIFFERENT_DIR)/buildtool/android_common.mk

在此android_common.mk中,为变量DEPENDENCIES_NANOBUFFERS_DIR分配了其路径