Я отслеживал правила в 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)
Я искал ALL_GENERATED_SOURCES в androidxref / 9.0.0_r3 и обнаружил, что для него установлено значение 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
, но результаты далеко не ясны.
Я запустил grep -Hrn LOCAL_GENERATED_SOURCES external/ | less
и нашел несколько файлов Android.mk, которые используют LOCAL_GENERATED_SOURCES
.
Я проследил несколько файлов, например 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)
Кто-нибудь раньше отслеживал Makefile-файлы AOSP (чтобы понять, как создаются .img), или есть лучший / правильный способ сделать это?