v1
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
########################################################################################
|
||||
#
|
||||
# @file SCompile
|
||||
#
|
||||
# @brief Compilation instructions for REFIP build
|
||||
#
|
||||
# Copyright (C) RivieraWaves 2009-2015
|
||||
#
|
||||
#########################################################################################
|
||||
#
|
||||
#import sys
|
||||
#import os
|
||||
#import os.path
|
||||
#
|
||||
#import SCons.Util
|
||||
#import scutils
|
||||
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# Build tool and default settings
|
||||
#-----------------------------------------------------------
|
||||
|
||||
|
||||
# Get build tool from command line or default
|
||||
defaulttool = ARGUMENTS.get('BT','armgcc_4_8')
|
||||
buildtool = ARGUMENTS.get('BT_ARM', defaulttool).lower()
|
||||
|
||||
# sanity checks
|
||||
assert(buildtool in ('rvds', 'gnuarm','armgcc_4_8','armgcc'))
|
||||
|
||||
# create environment
|
||||
if buildtool == 'rvds':
|
||||
tool = scutils.rvds_find()
|
||||
env = Environment(tools = [tool])
|
||||
elif buildtool == 'armgcc_4_8':
|
||||
env = Environment(tools = ['armgcc_4_8'], ENV = {'PATH':os.environ['PATH']})
|
||||
elif buildtool == 'armgcc':
|
||||
env = Environment(tools = ['armgcc'], ENV = {'PATH':os.environ['PATH']})
|
||||
else:
|
||||
env = Environment(tools = ['gnuarm'], ENV = {'PATH':os.environ['PATH']})
|
||||
|
||||
# save buildtool in environment
|
||||
env['BUILDTOOL'] = buildtool
|
||||
|
||||
# initialize the environment from the command line arguments
|
||||
scutils.env_init(env)
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# Target specific settings
|
||||
#-----------------------------------------------------------
|
||||
|
||||
# preprocessor macros
|
||||
env['CPPDEFINES'] = []
|
||||
|
||||
# environment settings
|
||||
env['PROGNAME'] = 'fw'
|
||||
env['TYPE'] = 'fw'
|
||||
env['ARCH'] = 'ble'
|
||||
|
||||
# use arm7 by default
|
||||
if env['CPU'].lower() == 'arm7':
|
||||
env['CPU'] = 'arm7tdmi-s'
|
||||
elif env['CPU'].lower() == 'arm9' or env['CPU'] == '':
|
||||
env['CPU'] = 'arm926ej-s'
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------
|
||||
# Environment configuration
|
||||
#-----------------------------------------------------------
|
||||
|
||||
if buildtool == 'rvds':
|
||||
|
||||
if env['CPU'] == 'Cortex-M1':
|
||||
env['ENTRY'] = 'rw_main'
|
||||
|
||||
else:
|
||||
env['ENTRY'] = '0x00'
|
||||
|
||||
# msg 193-D is for undefined preprocessor identifier
|
||||
env['CCFLAGS'] = ( ' -Ospace --asm --interleave --diag_style=gnu --debug --dwarf2 --c99 '
|
||||
+ ' --diag_warning=C193 --thumb --apcs=/interwork --split_sections ')
|
||||
|
||||
if 'Cortex' in env['CPU']:
|
||||
env['CCFLAGS'] += ' -DCFG_CPU_CORTEX_M1 '
|
||||
|
||||
env['ASFLAGS'] = ' --diag_style=gnu --debug'
|
||||
env['LINKFLAGS'] = (' --map --symbols --diag_style gnu --remove '
|
||||
+ ' --info architecture,common,debug,exceptions,inline,inputs,libraries,sizes,stack,'
|
||||
+ 'tailreorder,totals,unused --callgraph --entry $ENTRY --datacompressor off '
|
||||
+ '--diag_suppress L6329 ')
|
||||
|
||||
if env['REM']:
|
||||
env.Append(CCFLAGS = ' --remarks --diag_suppress=1301,2530,826 ')
|
||||
else:
|
||||
env['CCFLAGS'] += '--diag_suppress=177,3017'
|
||||
|
||||
if env['WARN'] == 'err':
|
||||
env.Append(CCFLAGS = ' --diag_error=warning ')
|
||||
|
||||
elif buildtool == 'gnuarm':
|
||||
|
||||
env['CCFLAGS'] = ' -mabi=aapcs -mfloat-abi=soft -mfpu=fpa -g3 -fms-extensions ' \
|
||||
+ ' -Wall -Wchar-subscripts -Wformat ' \
|
||||
+ ' -Winit-self -Wignored-qualifiers -Wswitch-default -Wunused -Wundef -std=c99 '
|
||||
if(env['OPTIM'] not in '0'):
|
||||
env['CCFLAGS'] += ' -Wuninitialized '
|
||||
env['ASFLAGS'] = ' -mfloat-abi=soft -mfpu=fpa -g'
|
||||
env['LINKFLAGS'] = ' --cref --gc-sections'
|
||||
|
||||
if env['SAVETMP']:
|
||||
env.Append(CCFLAGS = ' --save-temps ')
|
||||
|
||||
if env['WARN'] == 'err':
|
||||
env.Append(CCFLAGS = ' -Werror ')
|
||||
|
||||
elif buildtool == 'armgcc_4_8':
|
||||
|
||||
env['CCFLAGS'] = ' -mabi=aapcs -mfloat-abi=soft -mfpu=vfp -g3 -fms-extensions ' \
|
||||
+ ' -Wall -Wchar-subscripts -Wformat -Wuninitialized ' \
|
||||
+ ' -Winit-self -Wignored-qualifiers -Wswitch-default -Wunused -Wundef -std=c99 '
|
||||
env['ASFLAGS'] = ' -mfloat-abi=soft -mfpu=vfp -g'
|
||||
env['LINKFLAGS'] = ' --cref --gc-sections'
|
||||
|
||||
if env['SAVETMP']:
|
||||
env.Append(CCFLAGS = ' --save-temps ')
|
||||
|
||||
if env['WARN'] == 'err':
|
||||
env.Append(CCFLAGS = ' -Werror ')
|
||||
|
||||
elif buildtool == 'armgcc':
|
||||
|
||||
env['CCFLAGS'] = ' -mabi=aapcs -mfloat-abi=soft -mfpu=vfp -g3 -fms-extensions ' \
|
||||
+ ' -Wall -Wchar-subscripts -Wformat -Wuninitialized ' \
|
||||
+ ' -Winit-self -Wignored-qualifiers -Wswitch-default -Wunused -Wundef -std=c99 '
|
||||
env['ASFLAGS'] = ' -mfloat-abi=soft -mfpu=vfp -g'
|
||||
env['LINKFLAGS'] = ' --cref --gc-sections'
|
||||
|
||||
if env['SAVETMP']:
|
||||
env.Append(CCFLAGS = ' --save-temps ')
|
||||
|
||||
if env['WARN'] == 'err':
|
||||
env.Append(CCFLAGS = ' -Werror ')
|
||||
Reference in New Issue
Block a user