rules.mk 6.6 KB

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