rules.mk 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262
  1. LOCAL_DIR := $(GET_LOCAL_DIR)
  2. ARCH := arm
  3. ARM_CPU := cortex-a7
  4. CPU := generic
  5. MMC_SLOT := 1
  6. PLATFORM_SECURITY_VERSION:=11
  7. DEFINES += PLATFORM_SECURITY_VERSION=$(PLATFORM_SECURITY_VERSION)
  8. MTK_AVB20_SUPPORT:=yes
  9. AVB_SHA256_CRYPTO_HW_SUPPORT:=no
  10. AVB_PERSIST_VALUE_SUPPORT:=yes
  11. SYSTEM_AS_ROOT = no
  12. # choose one of following value 2: permissive /3: enforcing
  13. SELINUX_STATUS := 3
  14. # overwrite SELINUX_STATUS value with PRJ_SELINUX_STATUS, if defined. it's by project variable.
  15. ifdef PRJ_SELINUX_STATUS
  16. SELINUX_STATUS := $(PRJ_SELINUX_STATUS)
  17. endif
  18. KERNEL_DECOMPRESS_SIZE := 0x1C00000
  19. DEFINES += KERNEL_DECOMPRESS_SIZE=$(KERNEL_DECOMPRESS_SIZE)
  20. ifeq (yes,$(strip $(MTK_BUILD_ROOT)))
  21. SELINUX_STATUS := 2
  22. DEFINES += MTK_BUILD_ROOT
  23. endif
  24. DEFINES += PLATFORM=\"$(PLATFORM)\"
  25. DEFINES += SELINUX_STATUS=$(SELINUX_STATUS)
  26. DEFINES += PERIPH_BLK_BLSP=1
  27. DEFINES += WITH_CPU_EARLY_INIT=0 WITH_CPU_WARM_BOOT=0 \
  28. MMC_SLOT=$(MMC_SLOT)
  29. ifneq ($(MTK_PRODUCT_LINE_PLATFORM),)
  30. DEFINES += MTK_PRODUCT_LINE_PLATFORM=\"$(MTK_PRODUCT_LINE_PLATFORM)\"
  31. endif
  32. CFG_DTB_EARLY_LOADER_SUPPORT := yes
  33. ifeq ($(CFG_DTB_EARLY_LOADER_SUPPORT), yes)
  34. DEFINES += CFG_DTB_EARLY_LOADER_SUPPORT=1
  35. endif
  36. ifeq ($(MTK_SECURITY_SW_SUPPORT), yes)
  37. DEFINES += MTK_SECURITY_SW_SUPPORT
  38. ifeq ($(AVB_PERSIST_VALUE_SUPPORT), yes)
  39. DEFINES += AVB_PERSIST_VALUE_SUPPORT
  40. endif
  41. endif
  42. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_SUPPORT), yes)
  43. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_SUPPORT
  44. ifeq ($(MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT), yes)
  45. DEFINES += MTK_SEC_FASTBOOT_UNLOCK_KEY_SUPPORT
  46. endif
  47. endif
  48. ifeq ($(MTK_COMBO_NAND_SUPPORT),yes)
  49. DEFINES += MTK_COMBO_NAND_SUPPORT
  50. endif
  51. ifeq ($(MTK_MLC_NAND_SUPPORT),yes)
  52. DEFINES += MTK_MLC_NAND_SUPPORT
  53. endif
  54. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  55. #Fastboot support off-mode-charge 0/1
  56. #1: charging mode, 0:skip charging mode
  57. DEFINES += MTK_OFF_MODE_CHARGE_SUPPORT
  58. endif
  59. KEDUMP_MINI := yes
  60. ARCH_HAVE_MT_RAMDUMP := no
  61. MTK_EMMC_POWER_ON_WP := yes
  62. ifeq ($(MTK_EMMC_SUPPORT),yes)
  63. ifeq ($(MTK_EMMC_POWER_ON_WP),yes)
  64. DEFINES += MTK_EMMC_POWER_ON_WP
  65. endif
  66. endif
  67. MTK_PARTITION_COMMON := yes
  68. ifeq ($(MTK_PARTITION_COMMON), yes)
  69. DEFINES += MTK_PARTITION_COMMON
  70. endif
  71. $(info libshowlogo new path ------- $(LOCAL_DIR)/../../lib/libshowlogo)
  72. INCLUDES += -I$(LOCAL_DIR)/include \
  73. -I$(LOCAL_DIR)/include/platform \
  74. -I$(LOCAL_DIR)/../../lib/libshowlogo \
  75. -I$(LK_TOP_DIR)/app/mt_boot/ \
  76. -Icustom/$(FULL_PROJECT)/lk/include/target \
  77. -Icustom/$(FULL_PROJECT)/lk/lcm/inc \
  78. -Icustom/$(FULL_PROJECT)/lk/inc \
  79. -Icustom/$(FULL_PROJECT)/common \
  80. -Icustom/$(FULL_PROJECT)/kernel/dct/ \
  81. -I$(BUILDDIR)/include/dfo \
  82. -I$(LOCAL_DIR)/../../dev/lcm/inc
  83. ifneq ($(MTK_EMMC_SUPPORT),yes)
  84. INCLUDES += -I$(LOCAL_DIR)/include/ptgen
  85. endif
  86. INCLUDES += -I$(DRVGEN_OUT)/inc
  87. OBJS += \
  88. $(LOCAL_DIR)/bitops.o \
  89. $(LOCAL_DIR)/mt_gpio.o \
  90. $(LOCAL_DIR)/mt_disp_drv.o \
  91. $(LOCAL_DIR)/mt_gpio_init.o \
  92. $(LOCAL_DIR)/mt_i2c.o \
  93. $(LOCAL_DIR)/platform.o \
  94. $(LOCAL_DIR)/l2c.o\
  95. $(LOCAL_DIR)/uart.o \
  96. $(LOCAL_DIR)/interrupts.o \
  97. $(LOCAL_DIR)/timer.o \
  98. $(LOCAL_DIR)/debug.o \
  99. $(LOCAL_DIR)/boot_mode.o \
  100. $(LOCAL_DIR)/load_image.o \
  101. $(LOCAL_DIR)/atags.o \
  102. $(LOCAL_DIR)/mt_get_dl_info.o \
  103. $(LOCAL_DIR)/addr_trans.o \
  104. $(LOCAL_DIR)/factory.o \
  105. $(LOCAL_DIR)/mt_gpt.o\
  106. $(LOCAL_DIR)/mtk_key.o \
  107. $(LOCAL_DIR)/mt_logo.o\
  108. $(LOCAL_DIR)/boot_mode_menu.o\
  109. $(LOCAL_DIR)/mt_pmic_wrap_init.o\
  110. $(LOCAL_DIR)/mmc_common_inter.o \
  111. $(LOCAL_DIR)/mmc_core.o\
  112. $(LOCAL_DIR)/mmc_test.o\
  113. $(LOCAL_DIR)/msdc.o\
  114. $(LOCAL_DIR)/msdc_dma.o\
  115. $(LOCAL_DIR)/msdc_utils.o\
  116. $(LOCAL_DIR)/msdc_irq.o\
  117. $(LOCAL_DIR)/upmu_common.o\
  118. $(LOCAL_DIR)/mt_pmic.o\
  119. $(LOCAL_DIR)/mt6311.o\
  120. $(LOCAL_DIR)/mtk_wdt.o\
  121. $(LOCAL_DIR)/mt_rtc.o\
  122. $(LOCAL_DIR)/mt_usb.o\
  123. $(LOCAL_DIR)/mt_leds.o\
  124. $(LOCAL_DIR)/ddp_manager.o\
  125. $(LOCAL_DIR)/ddp_path.o\
  126. $(LOCAL_DIR)/ddp_ovl.o\
  127. $(LOCAL_DIR)/ddp_rdma.o\
  128. $(LOCAL_DIR)/ddp_misc.o\
  129. $(LOCAL_DIR)/ddp_info.o\
  130. $(LOCAL_DIR)/ddp_dump.o\
  131. $(LOCAL_DIR)/ddp_dsi.o\
  132. $(LOCAL_DIR)/primary_display.o\
  133. $(LOCAL_DIR)/disp_lcm.o\
  134. $(LOCAL_DIR)/ddp_pwm.o\
  135. $(LOCAL_DIR)/pwm.o \
  136. $(LOCAL_DIR)/fpc_sw_repair2sw.o \
  137. $(LOCAL_DIR)/dm_verity_status.o \
  138. $(LOCAL_DIR)/plat_atf_ramdump.o \
  139. $(LOCAL_DIR)/aee_platform_debug.o
  140. ifeq ($(MTK_SECURITY_SW_SUPPORT),yes)
  141. OBJS += $(LOCAL_DIR)/img_auth_stor.o
  142. endif
  143. ifeq ($(MTK_JTAG_SWITCH_SUPPORT), yes)
  144. OBJS += $(LOCAL_DIR)/mt_jtag.o
  145. endif
  146. # SETTING of USBPHY type
  147. #OBJS += $(LOCAL_DIR)/mt_usbphy_d60802.o
  148. #OBJS += $(LOCAL_DIR)/mt_usbphy_e60802.o
  149. ifeq ($(MTK_FAN5405_SUPPORT),yes)
  150. OBJS +=$(LOCAL_DIR)/fan5405.o
  151. else
  152. ifeq ($(MTK_BQ24261_SUPPORT),yes)
  153. OBJS +=$(LOCAL_DIR)/bq24261.o
  154. else
  155. ifeq ($(MTK_NCP1854_SUPPORT),yes)
  156. OBJS +=$(LOCAL_DIR)/ncp1854.o
  157. endif
  158. endif
  159. endif
  160. OBJS += $(LOCAL_DIR)/mt_battery.o
  161. ifneq ($(MTK_EMMC_SUPPORT),yes)
  162. ifneq ($(MTK_TLC_NAND_SUPPORT),yes)
  163. OBJS +=$(LOCAL_DIR)/partition_mt.o
  164. OBJS +=$(LOCAL_DIR)/mt_partition.o
  165. OBJS +=$(LOCAL_DIR)/mtk_nand.o
  166. OBJS +=$(LOCAL_DIR)/bmt.o
  167. endif
  168. ifeq ($(MTK_TLC_NAND_SUPPORT),yes)
  169. OBJS +=$(LOCAL_DIR)/partition_tlc.o
  170. OBJS +=$(LOCAL_DIR)/mt_partition.o
  171. OBJS +=$(LOCAL_DIR)/mtk_nand_tlc.o
  172. OBJS +=$(LOCAL_DIR)/bmt_tlc.o
  173. endif
  174. endif
  175. ifeq ($(MTK_EMMC_SUPPORT),yes)
  176. OBJS +=$(LOCAL_DIR)/partition_setting.o
  177. endif
  178. ifeq ($(MTK_MT8193_SUPPORT),yes)
  179. #OBJS +=$(LOCAL_DIR)/mt8193_init.o
  180. #OBJS +=$(LOCAL_DIR)/mt8193_ckgen.o
  181. #OBJS +=$(LOCAL_DIR)/mt8193_i2c.o
  182. endif
  183. ifeq ($(MTK_KERNEL_POWER_OFF_CHARGING),yes)
  184. OBJS +=$(LOCAL_DIR)/mt_kernel_power_off_charging.o
  185. DEFINES += MTK_KERNEL_POWER_OFF_CHARGING
  186. endif
  187. ifeq ($(MTK_PUMP_EXPRESS_SUPPORT),yes)
  188. DEFINES += MTK_PUMP_EXPRESS_SUPPORT
  189. endif
  190. ifeq ($(DUMMY_AP),yes)
  191. OBJS +=$(LOCAL_DIR)/dummy_ap.o
  192. OBJS +=$(LOCAL_DIR)/spm_md_mtcmos.o
  193. endif
  194. ifeq ($(MTK_GOOGLE_TRUSTY_SUPPORT),yes)
  195. DEFINES += MTK_GOOGLE_TRUSTY_SUPPORT
  196. endif
  197. MTK_LOADER_BACKUP ?= yes
  198. ifeq ($(MTK_LOADER_BACKUP),yes)
  199. DEFINES += MTK_LOADER_BACKUP
  200. endif
  201. ifeq ($(MTK_USERIMAGES_USE_F2FS), yes)
  202. DEFINES += MTK_USERIMAGES_USE_F2FS
  203. endif
  204. ifeq ($(CUSTOM_SEC_AUTH_SUPPORT), yes)
  205. LIBSEC := -L$(LOCAL_DIR)/lib -lsec
  206. else
  207. LIBSEC := -L$(LOCAL_DIR)/lib -lsec -lcrypto
  208. endif
  209. LIBSEC_PLAT := -lsecplat -ldevinfo
  210. ifeq ($(MTK_DM_VERITY_OFF),yes)
  211. DEFINES += MTK_DM_VERITY_OFF
  212. endif
  213. MBLOCK_LIB_SUPPORT := yes
  214. ifeq ($(MBLOCK_LIB_SUPPORT), yes)
  215. DEFINES += MBLOCK_LIB_SUPPORT=2
  216. MBLOCK_LIB_SUPPORT := 2
  217. MODULES += lib/mblock
  218. INCLUDES += -I$(LOCAL_DIR)/../../lib/mblock
  219. endif
  220. MTK_RC_TO_VENDOR ?= yes
  221. LINKER_SCRIPT += $(BUILDDIR)/system-onesegment.ld
  222. CFG_LOG_STORE_SUPPORT := yes