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 = manhattan 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# Project name 74*53ee8cc1Swenshuai.xiPROJNAME = MDDI 75*53ee8cc1Swenshuai.xi 76*53ee8cc1Swenshuai.xi# Image name 77*53ee8cc1Swenshuai.xiIMAGENAME = $(CHIP)_$(OS_TYPE) 78*53ee8cc1Swenshuai.xi 79*53ee8cc1Swenshuai.xi#TODO: I hate this!! 80*53ee8cc1Swenshuai.xi# working processor: HK/co-processor (used for HW mutex) 81*53ee8cc1Swenshuai.xiPROCESSOR = HK 82*53ee8cc1Swenshuai.xi 83*53ee8cc1Swenshuai.xi# Lint Command, option file 84*53ee8cc1Swenshuai.xiLINT_OPT = opt_linux.lnt 85*53ee8cc1Swenshuai.xiifeq ($(shell uname -o),Cygwin) 86*53ee8cc1Swenshuai.xiLINT_CMD = $(CURDIR)/../../tools/lint/lint-nt.exe -b -v -zero -fff 87*53ee8cc1Swenshuai.xiLINT_CMD += -i$(shell cygpath -m $(CURDIR)/../../tools/lint/lnt) $(LINT_OPT) 88*53ee8cc1Swenshuai.xielse 89*53ee8cc1Swenshuai.xiLINT_CMD = $(CURDIR)/../../tools/lint/flint -b -v -zero -fff 90*53ee8cc1Swenshuai.xiLINT_CMD += -i$(CURDIR)/../../tools/lint/lnt $(LINT_OPT) 91*53ee8cc1Swenshuai.xiendif 92*53ee8cc1Swenshuai.xi 93*53ee8cc1Swenshuai.xi 94*53ee8cc1Swenshuai.xi# ********************************************** 95*53ee8cc1Swenshuai.xi# Build Option 96*53ee8cc1Swenshuai.xi# ********************************************** 97*53ee8cc1Swenshuai.xi 98*53ee8cc1Swenshuai.xiCFG_BOARD = BD_MST215A-D01A 99*53ee8cc1Swenshuai.xi 100*53ee8cc1Swenshuai.xiCFG_CC_DEFS = -D'CHIP_MANHATTAN' -D'MS_BOARD_TYPE_SEL=$(CFG_BOARD)' -D'MS_C_STDLIB' 101*53ee8cc1Swenshuai.xiCFG_CC_OPTS = 102*53ee8cc1Swenshuai.xiCFG_LD_OPTS = 103*53ee8cc1Swenshuai.xi 104*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),aeon) 105*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_AEON' 106*53ee8cc1Swenshuai.xiendif 107*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),mips4ke) 108*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_MIPS_4KE' 109*53ee8cc1Swenshuai.xiendif 110*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),mips34k) 111*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_MIPS_34K' 112*53ee8cc1Swenshuai.xiendif 113*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),mips74k) 114*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_MIPS_74K' 115*53ee8cc1Swenshuai.xiendif 116*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),arm9) 117*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_ARM_9' 118*53ee8cc1Swenshuai.xiendif 119*53ee8cc1Swenshuai.xiifeq ($(MCU_TYPE),arm_ca12) 120*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MCU_ARM_CA12' 121*53ee8cc1Swenshuai.xiendif 122*53ee8cc1Swenshuai.xi 123*53ee8cc1Swenshuai.xiifeq ($(OS_TYPE),ecos) 124*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MSOS_TYPE_ECOS' 125*53ee8cc1Swenshuai.xiendif 126*53ee8cc1Swenshuai.xiifeq ($(OS_TYPE),linux) 127*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MSOS_TYPE_LINUX' 128*53ee8cc1Swenshuai.xiendif 129*53ee8cc1Swenshuai.xiifeq ($(OS_TYPE),nos) 130*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MSOS_TYPE_NOS' 131*53ee8cc1Swenshuai.xiendif 132*53ee8cc1Swenshuai.xi 133*53ee8cc1Swenshuai.xiifeq ($(FW_TYPE),external) 134*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'FW_EXTERNAL_BIN' 135*53ee8cc1Swenshuai.xiendif 136*53ee8cc1Swenshuai.xiifeq ($(FW_TYPE),embedded) 137*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'FW_EMBEDDED_ASC' 138*53ee8cc1Swenshuai.xiendif 139*53ee8cc1Swenshuai.xi 140*53ee8cc1Swenshuai.xiifeq ($(CHIP),edison) #if CHIP edison 141*53ee8cc1Swenshuai.xi 142*53ee8cc1Swenshuai.xiifeq ($(TS2_ENABLE),y) 143*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'TS2_IF_SUPPORT' 144*53ee8cc1Swenshuai.xiendif 145*53ee8cc1Swenshuai.xiifeq ($(VQ_ENABLE),y) 146*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'VQ_ENABLE' 147*53ee8cc1Swenshuai.xiendif 148*53ee8cc1Swenshuai.xiifeq ($(EXT_FILTER_ENABLE),y) 149*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'EXT_FILTER_SUPPORT' 150*53ee8cc1Swenshuai.xiendif 151*53ee8cc1Swenshuai.xiifeq ($(MMFILEIN_ENABLE),y) 152*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MMFILEIN' 153*53ee8cc1Swenshuai.xiendif 154*53ee8cc1Swenshuai.xiifeq ($(MMFI3D_ENABLE),y) 155*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MMFI_VD3D' 156*53ee8cc1Swenshuai.xiendif 157*53ee8cc1Swenshuai.xiifeq ($(MMFIMOBF_ENABLE),y) 158*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MM_MOBF' 159*53ee8cc1Swenshuai.xiendif 160*53ee8cc1Swenshuai.xiifeq ($(STC64_ENABLE),y) 161*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'STC64_SUPPORT' 162*53ee8cc1Swenshuai.xiendif 163*53ee8cc1Swenshuai.xiifeq ($(HW_PCR_ENABLE),y) 164*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'HWPCR_ENABLE' 165*53ee8cc1Swenshuai.xiendif 166*53ee8cc1Swenshuai.xiifeq ($(MOBF_ENABLE),y) 167*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'MOBF_ENABLE' 168*53ee8cc1Swenshuai.xiendif 169*53ee8cc1Swenshuai.xiifeq ($(DSCMB_CSA_ENABLE),y) 170*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'DSCMB_CSA_ENABLE' 171*53ee8cc1Swenshuai.xiendif 172*53ee8cc1Swenshuai.xiifeq ($(DSCMB_MULTI2_ENABLE),y) 173*53ee8cc1Swenshuai.xiCFG_CC_DEFS += -D'DSCMB_MULTI2_ENABLE' 174*53ee8cc1Swenshuai.xiendif 175*53ee8cc1Swenshuai.xi 176*53ee8cc1Swenshuai.xiendif #endif CHIP edison 177*53ee8cc1Swenshuai.xi 178*53ee8cc1Swenshuai.xi# ********************************************** 179*53ee8cc1Swenshuai.xi# Tool Chain Configuration 180*53ee8cc1Swenshuai.xi# 181*53ee8cc1Swenshuai.xi# Required ENV 182*53ee8cc1Swenshuai.xi# $(ROOT) e.g //utopia/ 183*53ee8cc1Swenshuai.xi# 184*53ee8cc1Swenshuai.xi# Supported TOOLCHAIN 185*53ee8cc1Swenshuai.xi# mips-linux-gnu 186*53ee8cc1Swenshuai.xi# mips-sde-elf 187*53ee8cc1Swenshuai.xi# mips2_fp_le 188*53ee8cc1Swenshuai.xi# aeon 189*53ee8cc1Swenshuai.xi# mipsisa32-elf (OBSOLETE) 190*53ee8cc1Swenshuai.xi# arm-none-linux-gnueabi 191*53ee8cc1Swenshuai.xi# arm-eabi 192*53ee8cc1Swenshuai.xi# 193*53ee8cc1Swenshuai.xi# Effected ENV 194*53ee8cc1Swenshuai.xi# CFG_STDLIB_DIR = 195*53ee8cc1Swenshuai.xi# CFG_LINT = 196*53ee8cc1Swenshuai.xi# CFG_CC_OPTS += 197*53ee8cc1Swenshuai.xi# CFG_LD_OPTS += 198*53ee8cc1Swenshuai.xi# CFG_AS_OPTS += 199*53ee8cc1Swenshuai.xi# ********************************************** 200*53ee8cc1Swenshuai.xi 201*53ee8cc1Swenshuai.xiinclude $(ROOTLIB)/cfg_tool.mk 202*53ee8cc1Swenshuai.xi 203*53ee8cc1Swenshuai.xi 204*53ee8cc1Swenshuai.xiifeq ($(LINK_TYPE),dynamic) 205*53ee8cc1Swenshuai.xiCFG_LD_OPTS += -shared 206*53ee8cc1Swenshuai.xiLIB_EXT = so 207*53ee8cc1Swenshuai.xielse 208*53ee8cc1Swenshuai.xiCFG_LD_OPTS += --gc-sections -static 209*53ee8cc1Swenshuai.xiLIB_EXT = a 210*53ee8cc1Swenshuai.xiendif 211*53ee8cc1Swenshuai.xi 212*53ee8cc1Swenshuai.xi 213