1*53ee8cc1Swenshuai.xi 2*53ee8cc1Swenshuai.xi# ********************************************** 3*53ee8cc1Swenshuai.xi# Build Configuration 4*53ee8cc1Swenshuai.xi# ********************************************** 5*53ee8cc1Swenshuai.xi 6*53ee8cc1Swenshuai.xi# Make Type: lib / exe / lint 7*53ee8cc1Swenshuai.xiMAKE_TYPE ?= lib 8*53ee8cc1Swenshuai.xi 9*53ee8cc1Swenshuai.xi# Link Type: static / dynamic(Linux) 10*53ee8cc1Swenshuai.xiLINK_TYPE ?= static 11*53ee8cc1Swenshuai.xi 12*53ee8cc1Swenshuai.xi# Build Type: debug / retail 13*53ee8cc1Swenshuai.xiBLT_TYPE ?= retail 14*53ee8cc1Swenshuai.xi 15*53ee8cc1Swenshuai.xi# Debug Level: Level 1(HAL), Level 2(Driver), Level 3(Middleware), Level 4(API), Level 5(Application) 16*53ee8cc1Swenshuai.xiDEBUGLEVEL = 5 17*53ee8cc1Swenshuai.xi 18*53ee8cc1Swenshuai.xi# FW Type: external / embedded 19*53ee8cc1Swenshuai.xiFW_TYPE ?= embedded 20*53ee8cc1Swenshuai.xi# MCU: aeon / mips4ke / mips34k / mips74k /arm9 21*53ee8cc1Swenshuai.xi# TOOLCHAIN: 22*53ee8cc1Swenshuai.xi# ELF: mips-sde-elf / aeon / mipsisa32-elf 23*53ee8cc1Swenshuai.xi# Linux: mips-linux-gnu / mips2_fp_le / arm-none-linux-gnueabi / arm-none-eabi 24*53ee8cc1Swenshuai.xi# Android: mips-linux-gnu(mipsfroyo_2.2) / arm-eabi(gingerbread_2.3) / arm-linux-androideabi(ics_4.0/jb_4.1) 25*53ee8cc1Swenshuai.xi# GoogleTV: arm-unknown-linux-gnueabi(honeycomb_3.2) 26*53ee8cc1Swenshuai.xiMCU_TYPE = arm_ca12 27*53ee8cc1Swenshuai.xiTOOLCHAIN = arm-linux-androideabi 28*53ee8cc1Swenshuai.xi 29*53ee8cc1Swenshuai.xi# OS: ecos / linux / nos 30*53ee8cc1Swenshuai.xiOS_TYPE = linux 31*53ee8cc1Swenshuai.xiPLATFORM = android 32*53ee8cc1Swenshuai.xiFPU_ENABLE = 1 33*53ee8cc1Swenshuai.xi 34*53ee8cc1Swenshuai.xi# Endianess: mlittle-endian only 35*53ee8cc1Swenshuai.xiENDIAN = mlittle-endian 36*53ee8cc1Swenshuai.xi 37*53ee8cc1Swenshuai.xi# Chip: manhattan 38*53ee8cc1Swenshuai.xiCHIP = curry 39*53ee8cc1Swenshuai.xi 40*53ee8cc1Swenshuai.xi# TS2_SUPPORT: y / n 41*53ee8cc1Swenshuai.xiTS2_ENABLE = y 42*53ee8cc1Swenshuai.xi 43*53ee8cc1Swenshuai.xi# VQ_ENABLE: y / n 44*53ee8cc1Swenshuai.xiVQ_ENABLE = y 45*53ee8cc1Swenshuai.xi 46*53ee8cc1Swenshuai.xi# EXT_FILTER_ENABLE: y / n 47*53ee8cc1Swenshuai.xiEXT_FILTER_ENABLE = y 48*53ee8cc1Swenshuai.xi 49*53ee8cc1Swenshuai.xi# MMFILEIN_ENABLE: y / n 50*53ee8cc1Swenshuai.xiMMFILEIN_ENABLE = y 51*53ee8cc1Swenshuai.xi 52*53ee8cc1Swenshuai.xi# MMFI3D_ENABLE: y / n 53*53ee8cc1Swenshuai.xiMMFI3D_ENABLE = y 54*53ee8cc1Swenshuai.xi 55*53ee8cc1Swenshuai.xi# MMFIMOBF_ENABLE: y / n 56*53ee8cc1Swenshuai.xiMMFIMOBF_ENABLE = y 57*53ee8cc1Swenshuai.xi 58*53ee8cc1Swenshuai.xi# STC64_ENABLE: y / n 59*53ee8cc1Swenshuai.xiSTC64_ENABLE = y 60*53ee8cc1Swenshuai.xi 61*53ee8cc1Swenshuai.xi# HW_PCR_ENABLE: y / n 62*53ee8cc1Swenshuai.xiHW_PCR_ENABLE = n 63*53ee8cc1Swenshuai.xi 64*53ee8cc1Swenshuai.xi# MOBF_ENABLE: y / n 65*53ee8cc1Swenshuai.xiMOBF_ENABLE = y 66*53ee8cc1Swenshuai.xi 67*53ee8cc1Swenshuai.xi# DSCMB_CSA_ENABLE: y / n 68*53ee8cc1Swenshuai.xiDSCMB_CSA_ENABLE = y 69*53ee8cc1Swenshuai.xi 70*53ee8cc1Swenshuai.xi# DSCMB_MULTI2_ENABLE: y/n 71*53ee8cc1Swenshuai.xiDSCMB_MULTI2_ENABLE = y 72*53ee8cc1Swenshuai.xi 73*53ee8cc1Swenshuai.xi# CONFIG_XC_USE_KERNEL_MENULOAD: y/n 74*53ee8cc1Swenshuai.xiCONFIG_XC_USE_KERNEL_MENULOAD = y 75*53ee8cc1Swenshuai.xi 76*53ee8cc1Swenshuai.xi# CONFIG_MSTAR_DVFS_ENABLE: y/n 77*53ee8cc1Swenshuai.xiCONFIG_MSTAR_DVFS_ENABLE = y 78*53ee8cc1Swenshuai.xi 79*53ee8cc1Swenshuai.xi# CONFIG_MSTAR_DVFS_KERNEL_SUPPORT: y/n 80*53ee8cc1Swenshuai.xiCONFIG_MSTAR_DVFS_KERNEL_SUPPORT = y 81*53ee8cc1Swenshuai.xi 82*53ee8cc1Swenshuai.xi# Project name 83*53ee8cc1Swenshuai.xiPROJNAME = MDDI 84*53ee8cc1Swenshuai.xi 85*53ee8cc1Swenshuai.xi# Image name 86*53ee8cc1Swenshuai.xiIMAGENAME = $(CHIP)_$(OS_TYPE) 87*53ee8cc1Swenshuai.xi 88*53ee8cc1Swenshuai.xi#TODO: I hate this!! 89*53ee8cc1Swenshuai.xi# working processor: HK/co-processor (used for HW mutex) 90*53ee8cc1Swenshuai.xiPROCESSOR = HK 91*53ee8cc1Swenshuai.xi 92*53ee8cc1Swenshuai.xi# Lint Command, option file 93*53ee8cc1Swenshuai.xiLINT_OPT = opt_linux.lnt 94*53ee8cc1Swenshuai.xiifeq ($(shell uname -o),Cygwin) 95*53ee8cc1Swenshuai.xiLINT_CMD = $(CURDIR)/../../tools/lint/lint-nt.exe -b -v -zero -fff 96*53ee8cc1Swenshuai.xiLINT_CMD += -i$(shell cygpath -m $(CURDIR)/../../tools/lint/lnt) $(LINT_OPT) 97*53ee8cc1Swenshuai.xielse 98*53ee8cc1Swenshuai.xiLINT_CMD = $(CURDIR)/../../tools/lint/flint -b -v -zero -fff 99*53ee8cc1Swenshuai.xiLINT_CMD += -i$(CURDIR)/../../tools/lint/lnt $(LINT_OPT) 100*53ee8cc1Swenshuai.xiendif 101*53ee8cc1Swenshuai.xi 102*53ee8cc1Swenshuai.xi 103*53ee8cc1Swenshuai.xi# ********************************************** 104*53ee8cc1Swenshuai.xi# Build Option 105*53ee8cc1Swenshuai.xi# ********************************************** 106*53ee8cc1Swenshuai.xi 107*53ee8cc1Swenshuai.xiCFG_BOARD = BD_MST245A-D01A 108*53ee8cc1Swenshuai.xi 109*53ee8cc1Swenshuai.xiCFG_CC_DEFS = -D'CHIP_CURRY' -D'MS_BOARD_TYPE_SEL=$(CFG_BOARD)' -D'MS_C_STDLIB' 110*53ee8cc1Swenshuai.xiCFG_CC_OPTS = 111*53ee8cc1Swenshuai.xiCFG_LD_OPTS = 112*53ee8cc1Swenshuai.xi 113*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),aeon) 114*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_AEON' 115*53ee8cc1Swenshuai.xiendif 116*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),mips4ke) 117*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_MIPS_4KE' 118*53ee8cc1Swenshuai.xiendif 119*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),mips34k) 120*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_MIPS_34K' 121*53ee8cc1Swenshuai.xiendif 122*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),mips74k) 123*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_MIPS_74K' 124*53ee8cc1Swenshuai.xiendif 125*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),arm9) 126*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_ARM_9' 127*53ee8cc1Swenshuai.xiendif 128*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),arm_ca12) 129*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_ARM_CA12' 130*53ee8cc1Swenshuai.xiendif 131*53ee8cc1Swenshuai.xi 132*53ee8cc1Swenshuai.xiifeq ($(OS_TYPE),ecos) 133*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MSOS_TYPE_ECOS' 134*53ee8cc1Swenshuai.xiendif 135*53ee8cc1Swenshuai.xiifeq ($(OS_TYPE),linux) 136*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MSOS_TYPE_LINUX' 137*53ee8cc1Swenshuai.xiendif 138*53ee8cc1Swenshuai.xiifeq ($(OS_TYPE),nos) 139*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MSOS_TYPE_NOS' 140*53ee8cc1Swenshuai.xiendif 141*53ee8cc1Swenshuai.xi 142*53ee8cc1Swenshuai.xiifeq ($(FW_TYPE),external) 143*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'FW_EXTERNAL_BIN' 144*53ee8cc1Swenshuai.xiendif 145*53ee8cc1Swenshuai.xiifeq ($(FW_TYPE),embedded) 146*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'FW_EMBEDDED_ASC' 147*53ee8cc1Swenshuai.xiendif 148*53ee8cc1Swenshuai.xi 149*53ee8cc1Swenshuai.xiifeq ($(CHIP),edison) #if CHIP edison 150*53ee8cc1Swenshuai.xi 151*53ee8cc1Swenshuai.xiifeq ($(TS2_ENABLE),y) 152*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'TS2_IF_SUPPORT' 153*53ee8cc1Swenshuai.xiendif 154*53ee8cc1Swenshuai.xiifeq ($(VQ_ENABLE),y) 155*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'VQ_ENABLE' 156*53ee8cc1Swenshuai.xiendif 157*53ee8cc1Swenshuai.xiifeq ($(EXT_FILTER_ENABLE),y) 158*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'EXT_FILTER_SUPPORT' 159*53ee8cc1Swenshuai.xiendif 160*53ee8cc1Swenshuai.xiifeq ($(MMFILEIN_ENABLE),y) 161*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MMFILEIN' 162*53ee8cc1Swenshuai.xiendif 163*53ee8cc1Swenshuai.xiifeq ($(MMFI3D_ENABLE),y) 164*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MMFI_VD3D' 165*53ee8cc1Swenshuai.xiendif 166*53ee8cc1Swenshuai.xiifeq ($(MMFIMOBF_ENABLE),y) 167*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MM_MOBF' 168*53ee8cc1Swenshuai.xiendif 169*53ee8cc1Swenshuai.xiifeq ($(STC64_ENABLE),y) 170*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'STC64_SUPPORT' 171*53ee8cc1Swenshuai.xiendif 172*53ee8cc1Swenshuai.xiifeq ($(HW_PCR_ENABLE),y) 173*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'HWPCR_ENABLE' 174*53ee8cc1Swenshuai.xiendif 175*53ee8cc1Swenshuai.xiifeq ($(MOBF_ENABLE),y) 176*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MOBF_ENABLE' 177*53ee8cc1Swenshuai.xiendif 178*53ee8cc1Swenshuai.xiifeq ($(DSCMB_CSA_ENABLE),y) 179*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'DSCMB_CSA_ENABLE' 180*53ee8cc1Swenshuai.xiendif 181*53ee8cc1Swenshuai.xiifeq ($(DSCMB_MULTI2_ENABLE),y) 182*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'DSCMB_MULTI2_ENABLE' 183*53ee8cc1Swenshuai.xiendif 184*53ee8cc1Swenshuai.xi 185*53ee8cc1Swenshuai.xi 186*53ee8cc1Swenshuai.xiifeq ($(CONFIG_XC_USE_KERNEL_MENULOAD),y) 187*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'CONFIG_XC_USE_KERNEL_MENULOAD' 188*53ee8cc1Swenshuai.xiendif 189*53ee8cc1Swenshuai.xiifeq ($(CONFIG_MSTAR_DVFS_ENABLE),y) 190*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'CONFIG_MSTAR_DVFS_ENABLE' 191*53ee8cc1Swenshuai.xiendif 192*53ee8cc1Swenshuai.xiifeq ($(CONFIG_MSTAR_DVFS_KERNEL_SUPPORT),y) 193*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'CONFIG_MSTAR_DVFS_KERNEL_SUPPORT' 194*53ee8cc1Swenshuai.xiendif 195*53ee8cc1Swenshuai.xi 196*53ee8cc1Swenshuai.xiendif #endif CHIP edison 197*53ee8cc1Swenshuai.xi 198*53ee8cc1Swenshuai.xi# ********************************************** 199*53ee8cc1Swenshuai.xi# Tool Chain Configuration 200*53ee8cc1Swenshuai.xi# 201*53ee8cc1Swenshuai.xi# Required ENV 202*53ee8cc1Swenshuai.xi# $(ROOT) e.g //utopia/ 203*53ee8cc1Swenshuai.xi# 204*53ee8cc1Swenshuai.xi# Supported TOOLCHAIN 205*53ee8cc1Swenshuai.xi# mips-linux-gnu 206*53ee8cc1Swenshuai.xi# mips-sde-elf 207*53ee8cc1Swenshuai.xi# mips2_fp_le 208*53ee8cc1Swenshuai.xi# aeon 209*53ee8cc1Swenshuai.xi# mipsisa32-elf (OBSOLETE) 210*53ee8cc1Swenshuai.xi# arm-none-linux-gnueabi 211*53ee8cc1Swenshuai.xi# arm-eabi 212*53ee8cc1Swenshuai.xi# 213*53ee8cc1Swenshuai.xi# Effected ENV 214*53ee8cc1Swenshuai.xi# CFG_STDLIB_DIR = 215*53ee8cc1Swenshuai.xi# CFG_LINT = 216*53ee8cc1Swenshuai.xi# CFG_CC_OPTS += 217*53ee8cc1Swenshuai.xi# CFG_LD_OPTS += 218*53ee8cc1Swenshuai.xi# CFG_AS_OPTS += 219*53ee8cc1Swenshuai.xi# ********************************************** 220*53ee8cc1Swenshuai.xi 221*53ee8cc1Swenshuai.xiinclude $(ROOTLIB)/cfg_tool.mk 222*53ee8cc1Swenshuai.xi 223*53ee8cc1Swenshuai.xi 224*53ee8cc1Swenshuai.xiifeq ($(LINK_TYPE),dynamic) 225*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -shared 226*53ee8cc1Swenshuai.xiLIB_EXT = so 227*53ee8cc1Swenshuai.xielse 228*53ee8cc1Swenshuai.xiCFG_LD_OPTS += --gc-sections -static 229*53ee8cc1Swenshuai.xiLIB_EXT = a 230*53ee8cc1Swenshuai.xiendif 231