如何在 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 ..)
我正在使用 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 ..)