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

时间:2015-02-01 20:57:19

标签: c android-ndk porting include-path 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是符号链接,因此父目录..不是module

2 个答案:

答案 0 :(得分:1)

没有什么会扩展..并实际修改路径的早期部分 - 如果您指定..的相对路径,这在任何构建系统中几乎都是相同的。

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

答案 1 :(得分:0)

您可以使用"通配符",例如:

PARENT_DIR_PATH := $(wildcard ..)