我有一个想要编译的 Android JNI 项目ndk-build。该项目包含多个第三方子项目。
+- 杰尼
+- 安卓.mk
+- 我的项目.mk
+- 其他项目.mk
+- 我的项目
+- a.cpp
+- b.cpp
+- 其他项目(第三方)
+- c.cpp
+- d.cpp
现在的想法是在 中包含/导入所有子项目的 makefile Android.mk,如下所示:
LOCAL_PATH := $(call my-dir)
include $(LOCAL_PATH)/my-proj.mk
include $(LOCAL_PATH)/other-proj.mk
other-proj构建为静态库。my-proj.mk依赖other-proj并构建为共享库。
构建这个项目有效。但是,修改my-proj.mk或修改other-proj.mk不会触发相应项目的重建。有没有办法做到这一点?
我虽然可以将makefile列为依赖项,Android.mk但我想不出办法。(在下面列出它们LOCAL_SRC_FILES是行不通的。)
我还读到了$(call import-module,foo/bar)which 似乎完全符合我的要求。但是,在这种情况下,我必须将 makefile 放在与项目目录相邻的目录中(例如jni/makefiles/other-proj/Android.mk),但我不知道如何指定LOCAL_SRC_FILES. 他们似乎不喜欢用绝对路径或..路径内部来指定。(我不能将 makefile 直接放在子项目目录中,因为它们是第三方项目。)