2012-04-02 12 views
10

Czy zapisując plik .mk dla systemu Android, istnieje krótki sposób uwzględnienia wielu plików źródłowych znajdujących się w różnych folderach i podfolderach? Jak pętla lub kod do iteracji folderów? Na przykład:Plik Android.mk - w tym wszystkie pliki źródłowe w różnych folderach i podfolderach

folder1

| --- subfolder1.1

 |---subfolder1.1.1 

       |---some cpp files 

     |--subfolder1.1.2 

      |--some cpp files 

folder2

| --- subfolder2.1

 |--subfolder2.1.1 

      |--some cpp files 

| - (tak i tak dalej, inne foldery i podfoldery i cpp plików)

wiem, że mogę użyć obejmują $(call all-subdir-makefiles) dla folderów i podfolderów ale to zajmie zbyt dużo czasu, jeśli mam tak wiele folderów, czy istnieje lepszy sposób? Jak pętla do iteracji po folderach? Więc będę mieć tylko jedną bibliotekę folder1 a drugi do folder2 i tak dalej ...

Odpowiedz

7

Można użyć ** wieloznaczny włączenia pliki ze wszystkich podkatalogów:

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)/%=%) 
Powiązane problemy