如何在 Android.mk 中包含父目录包含路径?

How to include parent directory include path in Android.mk?

我正在使用 NDK 进行构建,但在获取包含路径中的父目录时遇到了问题。我试过这个:

LOCAL_C_INCLUDES += $(LOCAL_PATH)/..

但这不起作用,显然 .. 没有像我预期的那样处理。我 运行 make -n 查看生成的命令,其中包括我想要的内容:

-I/Users/me/android/workspace/jni/module/popt/..

但它失败了,尽管如果我手动将其编辑为:

-I/Users/me/android/workspace/jni/module

它工作正常。我应该在 Android.mk 文件中放入什么以在不使用 .. 的情况下将父目录包含在搜索路径中?

问题是 popt 是符号 link,因此父目录 .. 不是 module

不会扩展 .. 并实际修改路径的较早部分 - 如果您使用 .. 指定相对路径,这在任何构建系统中都几乎相同。

为什么 -I/Users/me/android/workspace/jni/module/popt/.. 给出的结果与 -I/Users/me/android/workspace/jni/module 不一样? popt 是指向不同地方的符号链接吗?在那种情况下,我认为解决方案是在 jni/module/Android.mk 中定义一个单独的变量,如 MODULE_PATH := $(LOCAL_PATH) 并在另一个 Android.mk 文件中使用 $(MODULE_PATH) 而不是 $(LOCAL_PATH)/.. .

您可以使用"wildcard",例如:

PARENT_DIR_PATH := $(wildcard ..)