2012-04-02 25 views
10

Al escribir un archivo .mk androide, ¿hay un camino corto para incluir muchos archivos de origen que están en diferentes carpetas y subcarpetas? ¿Como un bucle o un código para iterar las carpetas? Por ejemplo:archivo Android.mk - incluyendo todos los archivos de origen en diferentes carpetas y subcarpetas

carpeta1

| --- subfolder1.1

 |---subfolder1.1.1 

       |---some cpp files 

     |--subfolder1.1.2 

      |--some cpp files 

carpeta2

| --- subfolder2.1

 |--subfolder2.1.1 

      |--some cpp files 

| - (y así sucesivamente, otras carpetas y subcarpetas y CPP etc. archivos)

Sé que puedo utilizar incluyen $(call all-subdir-makefiles) para las carpetas y subcarpetas, pero tomará mucho tiempo si tengo tantas carpetas, hay una manera mejor? Como un ciclo para iterar a través de las carpetas? Así que voy a tener sólo una biblioteca para carpeta1 y otro para carpeta2 y así sucesivamente ...

Respuesta

7

** Se puede utilizar comodines para incluir archivos de todos los subdirectorios:

LOCAL_SRC_FILES += $(patsubst $(LOCAL_PATH)/%, %, $(wildcard folder/**/*.cpp)) 
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)/%=%) 
Cuestiones relacionadas