Android.mk文件中的LOCAL_GENERATED_SOURCES变量是什么? “产生的来源”本身是什么意思?

时间:2019-03-24 13:10:43

标签: makefile android-source

我正在跟踪build/core/Makefile中的规则,以了解如何生成system.img。我遇到了以下规则:

INTERNAL_SYSTEMIMAGE_FILES := $(filter $(TARGET_OUT)/%, \
    $(ALL_GENERATED_SOURCES) \
    $(ALL_DEFAULT_INSTALLED_MODULES) \
    $(PDK_FUSION_SYSIMG_FILES) \
    $(RECOVERY_RESOURCE_ZIP)) \
    $(PDK_FUSION_SYMLINK_STAMP)

我在androidxref / 9.0.0_r3中搜索了ALL_GENERATED_SOURCES,并在my_generated_sources中将其设置为build/core/binary.mk

ALL_GENERATED_SOURCES += $(my_generated_sources)

在该文件中进一步设置为LOCAL_GENERATED_SOURCES。

 my_generated_sources := $(LOCAL_GENERATED_SOURCES)

我不明白它代表什么(我知道LOCAL_SRC意味着要构建该模块的源文件,但这我不理解)。

我尝试在Android.mk中grepping该变量,但是结果还不清楚。

我运行了grep -Hrn LOCAL_GENERATED_SOURCES external/ | less,发现了一些使用LOCAL_GENERATED_SOURCES的Android.mk文件。

我跟踪了几个文件,例如external/mesa3d/src/mesa/program/Android.mk,发现对应于它的两行:

LOCAL_GENERATED_SOURCES := \
    $(addprefix $(intermediates)/program/,$(generated_sources_basenames))

LOCAL_GENERATED_SOURCES += $(MESA_GEN_NIR_H) \
        $(MESA_GEN_GLSL_H)

是否有人曾经跟踪过AOSP Makefile(以了解.img的构建方式),还是有更好/合适的方法来做到这一点?

0 个答案:

没有答案