Android.mk文件 - 包括不同文件夹和子文件夹中的所有源文件

Coo*_*ola 10 java-native-interface android android-ndk

在编写android .mk文件时,是否有一个简短的方法来包含许多源文件,这些文件位于不同的文件夹和子文件夹中?像循环或迭代文件夹的代码?例如:

文件夹1

| --- subfolder1.1

      |---subfolder1.1.1

               |---some cpp files

      |--subfolder1.1.2

           |--some cpp files
Run Code Online (Sandbox Code Playgroud)

文件夹2

| --- subfolder2.1

      |--subfolder2.1.1

           |--some cpp files
Run Code Online (Sandbox Code Playgroud)

| - (等等,另一个文件夹和子文件夹以及cpp文件)

我知道我可以使用包含$(call all-subdir-makefiles)文件夹和子文件夹但如果我有这么多文件夹会花费太多时间,有更好的方法吗?像循环文件夹循环一样?所以我将只有一个文件用于folder1,另一个用于folder2,依此类推......

小智 22

FILE_LIST := $(wildcard $(LOCAL_PATH)/*.cpp)
FILE_LIST += $(wildcard $(LOCAL_PATH)/**/*.cpp)
FILE_LIST += $(wildcard $(LOCAL_PATH)/**/**/*.cpp)
LOCAL_SRC_FILES := $(FILE_LIST:$(LOCAL_PATH)/%=%)
Run Code Online (Sandbox Code Playgroud)


Mār*_*iko 7

您可以使用**通配符来包含所有子目录中的文件:

LOCAL_SRC_FILES += $(patsubst $(LOCAL_PATH)/%, %, $(wildcard folder/**/*.cpp))
Run Code Online (Sandbox Code Playgroud)