我正在跟踪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的构建方式),还是有更好/合适的方法来做到这一点?