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

时间:2012-04-02 01:58:13

标签: android android-ndk java-native-interface

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

  

folder1中

     

| --- subfolder1.1

      |---subfolder1.1.1

               |---some cpp files

      |--subfolder1.1.2

           |--some cpp files
     

文件夹2

     

| --- subfolder2.1

      |--subfolder2.1.1

           |--some cpp files
     

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

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

2 个答案:

答案 0 :(得分: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)/%=%)

答案 1 :(得分:7)

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

LOCAL_SRC_FILES += $(patsubst $(LOCAL_PATH)/%, %, $(wildcard folder/**/*.cpp))