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