我想问一下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
答案 0 :(得分:9)
最方便的解决方案是将include $(call all-subdir-makefiles)
命令放在/package/groupA/Android.mk
文件中。
但是,如果您只想要第三级mk文件,则可以使用以下命令:
include $(wildcard $(call my-dir)/*/*/Android.mk)
这是一个完全递归的解决方案,但它依赖于shell的find
命令:
include $(filter-out $(call my-dir)/Android.mk,$(shell find $(call my-dir)/ -type f -name Android.mk))