rules.mk 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. LOCAL_DIR := $(GET_LOCAL_DIR)
  2. INCLUDES += -I$(LOCAL_DIR)/include
  3. INCLUDES += -Iplatform/$(PLATFORM)/include/platform
  4. ##############################################################################
  5. # Check build type. (Begin)
  6. ##############################################################################
  7. # For backward compatibility, USER_BUILD is also defined on userdebug build.
  8. ##############################################################################
  9. ifneq ($(filter user, $(TARGET_BUILD_VARIANT)),)
  10. DEFINES += USER_BUILD USER_LOAD
  11. else ifneq ($(filter userdebug, $(TARGET_BUILD_VARIANT)),)
  12. DEFINES += USERDEBUG_BUILD USER_BUILD
  13. else ifneq ($(filter eng, $(TARGET_BUILD_VARIANT)),)
  14. DEFINES += ENG_BUILD
  15. else
  16. DEFINES += USER_BUILD # If none of the keywords is found, define USER_BUILD.
  17. endif
  18. ##############################################################################
  19. # Check build type. (End)
  20. ##############################################################################
  21. # for fastboot to update partition table (fastboot flash gpt PGPT)
  22. ifeq ($(MTK_GPT_UPDATE_SUPPORT), yes)
  23. DEFINES += MTK_GPT_UPDATE_SUPPORT
  24. endif
  25. ifeq ($(PLATFORM_FASTBOOT_EMPTY_STORAGE), yes)
  26. DEFINES += PLATFORM_FASTBOOT_EMPTY_STORAGE
  27. endif
  28. ifeq ($(MTK_RC_TO_VENDOR), yes)
  29. DEFINES += MTK_RC_TO_VENDOR
  30. endif
  31. ifeq ($(strip $(MICROTRUST_TEE_LITE_SUPPORT)),yes)
  32. ifneq (,$(filter mt6570 mt6580,$(PLATFORM)))
  33. DEFINES += CFG_MICROTRUST_TEE_LITE_SUPPORT
  34. OBJS += $(LOCAL_DIR)/RoT/avb_RoT_teei.o
  35. endif
  36. endif #MICROTRUST_TEE_LITE_SUPPORT
  37. ifeq ($(strip $(TRUSTKERNEL_TEE_LITE_SUPPORT)),yes)
  38. ifneq (,$(filter mt6570 mt6580,$(PLATFORM)))
  39. DEFINES += CFG_TRUSTKERNEL_TEE_LITE_SUPPORT
  40. OBJS += $(LOCAL_DIR)/RoT/avb_RoT_tkcore.o
  41. endif
  42. endif #TRUSTKERNEL_TEE_LITE_SUPPORT
  43. HEAP_USE_MBLOCK ?= no
  44. ifeq (yes,$(strip $(HEAP_USE_MBLOCK)))
  45. DEFINES += HEAP_USE_MBLOCK=1
  46. MBLOCK_HEAP_SIZE ?= 100*1024*1024
  47. MBLOCK_HEAP_LIMIT ?= 0xc0000000
  48. DEFINES += MBLOCK_HEAP_SIZE=$(MBLOCK_HEAP_SIZE)
  49. DEFINES += MBLOCK_HEAP_LIMIT=$(MBLOCK_HEAP_LIMIT)
  50. else
  51. DEFINES += MBLOCK_HEAP_SIZE=0
  52. DEFINES += MBLOCK_HEAP_LIMIT=0
  53. DEFINES += HEAP_USE_MBLOCK=0
  54. endif
  55. # RoT for ARMv8
  56. ifneq ($(strip $(MTK_SECURITY_SW_SUPPORT)),no)
  57. ifeq (,$(filter mt6570 mt6580,$(PLATFORM)))
  58. ifeq ($(MTK_AVB20_SUPPORT),yes)
  59. OBJS += $(LOCAL_DIR)/RoT/avb_RoT.o
  60. else #MTK_AVB20_SUPPORT
  61. OBJS += $(LOCAL_DIR)/RoT/RoT.o
  62. endif #MTK_AVB20_SUPPORT
  63. endif
  64. endif
  65. ifeq ($(MTK_ATM_SUPPORT), yes)
  66. DEFINES += MTK_ATM_SUPPORT
  67. endif
  68. ifeq ($(UBSAN_SUPPORT), yes)
  69. OBJS += $(LOCAL_DIR)/sanitize_helper.o
  70. endif
  71. OBJS += $(LOCAL_DIR)/atm.o
  72. OBJS += $(LOCAL_DIR)/sec_wrapper.o
  73. OBJS += $(LOCAL_DIR)/profiling.o
  74. OBJS += $(LOCAL_DIR)/meta.o
  75. OBJS += $(LOCAL_DIR)/recovery.o
  76. OBJS += $(LOCAL_DIR)/fpga_boot_argument.o
  77. OBJS += $(LOCAL_DIR)/error.o
  78. OBJS += $(LOCAL_DIR)/chip_id.o
  79. ifeq ($(CFG_MTK_UART_COMMON),yes)
  80. MODULES += $(LOCAL_DIR)/uart
  81. endif
  82. MODULES += $(LOCAL_DIR)/loader
  83. MODULES += $(LOCAL_DIR)/storage
  84. MODULES += $(LOCAL_DIR)/timer
  85. ifeq ($(CFG_MTK_WDT_COMMON),yes)
  86. MODULES += $(LOCAL_DIR)/wdt
  87. endif
  88. MODULES += $(LOCAL_DIR)/partition
  89. MODULES += $(LOCAL_DIR)/plinfo
  90. MODULES += $(LOCAL_DIR)/pmic
  91. ifeq ($(MTK_AB_OTA_UPDATER),yes)
  92. #RECOVERY_AS_BOOT is always enabled with MTK_AB_OTA_UPDATER (BOARD_USES_RECOVERY_AS_BOOT)
  93. DEFINES += MTK_AB_OTA_UPDATER
  94. DEFINES += RECOVERY_AS_BOOT
  95. endif
  96. MODULES += $(LOCAL_DIR)/bootctrl
  97. ifeq ($(MTK_SSUSB), yes)
  98. MODULES += $(LOCAL_DIR)/mt_ssusb
  99. endif
  100. ifeq ($(MTK_MUSB), yes)
  101. MODULES += $(LOCAL_DIR)/mt_musb
  102. endif
  103. ifneq ($(SYSTEM_AS_ROOT),no)
  104. DEFINES += SYSTEM_AS_ROOT
  105. endif
  106. ifeq ($(LK_LD_MD_SUPPORT), yes)
  107. MODULES += $(LOCAL_DIR)/md
  108. endif
  109. ifeq ($(MTK_CHARGER_NEW_ARCH), yes)
  110. MODULES += $(LOCAL_DIR)/power
  111. endif
  112. # aee platform debug
  113. ifeq ($(MTK_AEE_PLATFORM_DEBUG_SUPPORT),yes)
  114. MODULES += $(LOCAL_DIR)/aee_platform_debug
  115. MODULES += $(LOCAL_DIR)/spm
  116. endif
  117. ifeq ($(MTK_AVB20_SUPPORT),yes)
  118. MODULES += $(LOCAL_DIR)/avb
  119. DEFINES += MTK_AVB20_SUPPORT
  120. endif
  121. MODULES += $(LOCAL_DIR)/atf
  122. MODULES += $(LOCAL_DIR)/boot
  123. MODULES += $(LOCAL_DIR)/boot_menu
  124. ifeq ($(strip $(MICROTRUST_TEE_SUPPORT)),yes)
  125. MODULES += $(LOCAL_DIR)/teei
  126. endif
  127. ifeq ($(MTK_RECOVERY_RAMDISK_SPLIT),yes)
  128. DEFINES += MTK_RECOVERY_RAMDISK_SPLIT
  129. MODULES += lib/ramdisk_merge
  130. OBJS += $(LOCAL_DIR)/ramdisk/load_ramdisk.o
  131. OBJS += $(LOCAL_DIR)/ramdisk/load_vfy_ramdisk.o
  132. # Must bind with ram split to avoid misuse ramdisk in boot
  133. ifeq ($(RECOVERY_AS_BOOT),yes)
  134. DEFINES += RECOVERY_AS_BOOT
  135. endif
  136. endif
  137. ifeq (yes,$(strip $(MTK_BUILD_ENHANCE_MENU)))
  138. DEFINES += MTK_BUILD_ENHANCE_MENU
  139. endif
  140. # log_store platform debug
  141. ifeq ($(CFG_LOG_STORE_SUPPORT),yes)
  142. MODULES += $(LOCAL_DIR)/log_store
  143. DEFINES += LOG_STORE_SUPPORT
  144. ifneq ($(wildcard $(LOCAL_DIR)/../../../../../../internal/mtklog_enable),)
  145. DEFINES += UART_SWITCH_SUPPORT
  146. endif
  147. DEFINES += FASTBOOT_DUMP_LOG
  148. endif
  149. ifeq ($(DUMP_CODE_SECTION), yes)
  150. DEFINES += DUMP_CODE_SECTION
  151. endif
  152. ifeq ($(LK_MAIN_DTB_BUILT_IN),yes)
  153. MODULES += $(LOCAL_DIR)/lk_main_dtb_loader
  154. DEFINES += LK_MAIN_DTB_BUILT_IN
  155. endif
  156. MODULES += $(LOCAL_DIR)/emi