【问题标题】:How to specify wildcard source in Android.mk in a different dir to jni如何在与 jni 不同的目录中指定 Android.mk 中的通配符源
【发布时间】:2014-09-25 07:25:30
【问题描述】:
我正在尝试在不同的目录中使用大量源文件。以 jni ASWELL 作为 jni 中的源
如何使用通配符为 LOCAL_SRC_FILES 指定它们?
例如
jni/source1.c
jni/source1.h
jni/../../../C/source2.c
:
jni/../../../C/sourcen.c
jni/../../../C/subdir1/source1.c
:
jni/../../../C/subdir1/sourcen.c
【问题讨论】:
标签:
android
android-ndk
makefile
wildcard
【解决方案1】:
我找到了一个相当简单的解决方案:-
在 jni/Android.mk 文件中只需包含其他具有相对路径的 make 文件
例如
include ../../../C/Android.mk
include ../../../C/subdir1/Android.mk
在每个包含的 make 文件中,我都使用了通配符例程 here
为了在 jni 中构建文件,我只是在 jni 目录中包含了一个不同名称的 .mk 文件:
include jni/SourceInJni.mk
由于包含文件,因此不必将它们称为 Android.mk,只需将其称为 jni/ 中的控制文件即可
当源文件的数量变得非常大时,我不得不使用
LOCAL_SHORT_COMMANDS := true
在其中一个包含的 .mk 文件中