Чтение файлов Android.mk в подкаталогах рекурсивно - PullRequest
7 голосов
/ 04 июля 2011

Я просто хотел бы спросить, что должно быть записано в файле Android.mk, чтобы также вызывать файлы mk в подкаталогах текущего каталога.

Пример:
/packages/Android.mk
/package/groupA/Android.mk
/packages/groupA/AppA/Android.mk
/ packages / groupA / AppB/Android.mk

Я знаю, что при использовании include $(call all-subdir-makefiles) будет прочитан файл Android.mk в ближайшем подкаталоге (пример: /package/groupA/Android.mk).Однако /packages/groupA/AppA/Android.mk и /packages/groupA/AppB/Android.mk не будут прочитаны.

Интересно, есть ли другой макрос, который выполняет рекурсивное чтение Android.mk для всех подкаталогов.

Спасибо,
artsylar

1 Ответ

8 голосов
/ 06 сентября 2011

Наиболее удобным решением является помещение команды include $(call all-subdir-makefiles) также в файл /package/groupA/Android.mk.

Однако, если вам нужны только mk-файлы третьего уровня, вы можете использовать следующую команду:

include $(wildcard $(call my-dir)/*/*/Android.mk)

А вот полностью рекурсивное решение, но оно опирается на команду find из оболочки:

include $(filter-out $(call my-dir)/Android.mk,$(shell find $(call my-dir)/ -type f -name Android.mk))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...