【问题标题】:Reading Android.mk files in sub-dirs recursively递归读取子目录中的 Android.mk 文件
【发布时间】:2011-09-27 23:08:10
【问题描述】:

我就想问一下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。

谢谢,
艺人

【问题讨论】:

    标签: android makefile android-ndk


    【解决方案1】:

    最方便的解决方案是将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))
    

    【讨论】:

    • 感谢您的回答。实际上,我无需在 mk 文件中写入 include $(call all-subdir-makefiles) 就可以正常工作。读取所有 mk 文件的脚本中似乎存在问题。有时间我会试试你的答案。我知道这对其他人会有所帮助。
    猜你喜欢
    • 1970-01-01
    • 2018-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多