build_lk.mk 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. INSTALLED_LK$(LK_MODE)_TARGET := $(PRODUCT_OUT)/lk$(call to-lower,$(LK_MODE)).img
  2. INSTALLED_LOGO$(LK_MODE)_TARGET := $(PRODUCT_OUT)/logo$(call to-lower,$(LK_MODE)).bin
  3. TARGET_LK$(LK_MODE)_OUT := $(TARGET_OUT_INTERMEDIATES)/LK$(LK_MODE)_OBJ
  4. TARGET_LK$(LK_MODE)_ROOT_OUT := $(if $(filter /% ~%,$(TARGET_LK$(LK_MODE)_OUT)),,$(LK_ROOT_DIR)/)$(TARGET_LK$(LK_MODE)_OUT)
  5. BUILT_LK$(LK_MODE)_TARGET := $(TARGET_LK$(LK_MODE)_OUT)/build-$(LK_PROJECT)/lk.img
  6. ALL_BUILT_LK_TARGET := $(ALL_BUILT_LK_TARGET) $(BUILT_LK$(LK_MODE)_TARGET)
  7. LK_MAKE_OPTION := $(if $(SHOW_COMMANDS),NOECHO=) $(if $(LK_CROSS_COMPILE),TOOLCHAIN_PREFIX=$(LK_CROSS_COMPILE)) BOOTLOADER_OUT=$(TARGET_LK$(LK_MODE)_ROOT_OUT) ROOTDIR=$(LK_ROOT_DIR)
  8. LK_MAKE_OPTION += LCM_WIDTH=$(LCM_WIDTH) LCM_HEIGHT=$(LCM_HEIGHT)
  9. LK_MAKE_OPTION += COMPILER=$(LK_ROOT_DIR)/$(SOONG_CLANG)
  10. ifeq ($(LK_MODE),_DEF_UNLOCK)
  11. LK_MAKE_OPTION += MTK_BUILD_DEFAULT_UNLOCK=yes
  12. endif
  13. ifeq ($(LK_MODE),_ENHANCE_MENU)
  14. LK_MAKE_OPTION += MTK_BUILD_ENHANCE_MENU=yes
  15. endif
  16. ifeq ($(LK_MODE),_DEEP_GPT_UPDATE)
  17. LK_MAKE_OPTION += MTK_GPT_UPDATE_SUPPORT=yes
  18. LK_MAKE_OPTION += MTK_BUILD_DEFAULT_UNLOCK=yes
  19. LK_MAKE_OPTION += MTK_SECURITY_SW_SUPPORT=no
  20. endif
  21. ifeq ($(LK_MODE),_FES)
  22. LK_MAKE_OPTION += MTK_SECURITY_SW_SUPPORT=no
  23. LK_MAKE_OPTION += CFG_DTB_EARLY_LOADER_SUPPORT=no
  24. LK_MAKE_OPTION += PLATFORM_FASTBOOT_EMPTY_STORAGE=yes
  25. LK_MAKE_OPTION += APPSBOOTHDR_FILES=
  26. endif
  27. .KATI_RESTAT: $(BUILT_LK$(LK_MODE)_TARGET)
  28. $(BUILT_LK$(LK_MODE)_TARGET): PRIVATE_MAKE_OPTION := $(LK_MAKE_OPTION)
  29. $(BUILT_LK$(LK_MODE)_TARGET): $(LK_MAKE_DEPENDENCIES)
  30. $(hide) mkdir -p $(dir $@)
  31. $(PREBUILT_MAKE_PREFIX)$(MAKE) -C $(LK_DIR) $(PRIVATE_MAKE_OPTION) $(LK_PROJECT)
  32. $(INSTALLED_LK$(LK_MODE)_TARGET): $(BUILT_LK$(LK_MODE)_TARGET) $(MTK_LK_DTB_TARGET)
  33. $(hide) mkdir -p $(dir $@)
  34. $(hide) cat $< $(MTK_LK_DTB_TARGET) > $@
  35. $(INSTALLED_LOGO$(LK_MODE)_TARGET): $(BUILT_LK$(LK_MODE)_TARGET)
  36. $(hide) mkdir -p $(dir $@)
  37. $(hide) cp -f $(dir $<)logo.bin $@
  38. .PHONY: lk clean-lk clean-lk$(LK_MODE)
  39. clean-lk: clean-lk$(LK_MODE)
  40. clean-lk$(LK_MODE): PRIVATE_MODE := $(LK_MODE)
  41. clean-lk$(LK_MODE):
  42. $(hide) rm -rf $(INSTALLED_LK$(PRIVATE_MODE)_TARGET) $(INSTALLED_LOGO$(PRIVATE_MODE)_TARGET) $(TARGET_LK$(PRIVATE_MODE)_OUT)
  43. ifneq ($(LK_MODE),_FES)
  44. droidcore lk: $(INSTALLED_LK$(LK_MODE)_TARGET) $(INSTALLED_LOGO$(LK_MODE)_TARGET)
  45. endif