在编写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 的库等等...
答案 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))