import subprocess import os def projName(extension): return env['vars']['buildDir'] + '/' + env['vars']['projName'] + extension env = Environment() env['vars'] = {} # Version information - user changes this regularly env['vars']['verMajor'] = 1 env['vars']['verMinor'] = 1 env['vars']['appType'] = "App" SConscript(['../tools/common/SConscript']) env['vars']['sourcesC'] = [] env['vars']['sourcesCC'] = [] env['vars']['sourcesAsm']= [] env['vars']['projName'] = 'MTC' env['vars']['isTestBuild'] = ARGUMENTS.get('unittest', '0').lower() env['vars']['buildType'] = ARGUMENTS.get('BUILD_TYPE', 'debug').upper() env['vars']['hwRev'] = ARGUMENTS.get('HW_REV', 'reva').lower() env['vars']['platformDir'] = 'platform/HalCoGen' + env['vars']['hwRev'] env['vars']['buildDir'] = env['vars']['buildType'] env['vars']['nowECCPath'] = os.path.abspath(env['vars']['buildDir']) + '/../../tools/nowECC.exe' env['vars']['sourcesDir'] = [ 'app/appsrc', 'app/autogen/canautogen', 'app/capi', 'lib/sharedmathlibrary/MathLibSrc', 'lib/can-proto/src', 'lib/can-proto/src/server' ] env['CPPPATH'] = [ 'lib/flashapi/include', 'lib/sharedmathlibrary/MathLibHdr', 'app/autogen/canautogen', 'app/capi', 'drivers', 'app/apphdr', 'lib/can-proto/inc', env['vars']['platformDir'] +'/include' ] env['LIBPATH'] = [ 'lib/flashapi' ] env['LIBS'] = [ 'rtsv7R4_T_be_v3D16_eabi.lib', 'F021_API_CortexR4_BE_L2FMC_V3D16_NDS.lib' ] env['CFLAGS'] = [ '-mv7R4', '--define=CCS', '--code_state=16', '--float_support=VFPv3D16', '--abi=eabi', '-O3', '--gen_func_subsections=on', '-g', '--define=FPU_PRESENT', '--define=ARM_MATH_BIGENDIAN', '--define=__BIG_ENDIAN', '-pdsw=225', '--display_error_number', '--enum_type=packed', '--define=' + env['vars']['buildType'] ] env['CPPFLAGS'] = [ '-fprofile-arcs', '-ftest-coverage', '-Wno-unknown-pragmas' ] env['LINKFLAGS'] = [ '--reread_libs', '--warn_sections', '--diag_wrap=off', '--display_error_number', '--emit_warnings_as_errors', '--rom_model', '--be32', '--xml_link_info="MTC_linkInfo.xml"', '--unused_section_elimination=on', '-mMTC.map' ] env['vars']['LDScript'] = env['vars']['platformDir'] + '/source/HL_sys_link.cmd' if env['vars']['isTestBuild'] == '1': env['vars']['sourcesDir'] += [ 'platform/Hal_UT' ] env['CPPPATH'] += [ '../tools/common/googletestlib/g_include', 'platform/HAL_UT' ] else: env['vars']['sourcesDir'] += [ 'app/hapi', 'app/instrsrc', 'app/libsrc', 'drivers/xcp', 'lib/fee_wrapper', 'lib/ffs', 'lib/xcp', env['vars']['platformDir'] + '/source' ] env['CPPPATH'] += [ 'lib/eeprom', 'lib/fee_wrapper', 'lib/ffs', 'app/hapi', 'app/instrhdr', 'app/libhdr', 'drivers/xcp', 'lib/xcp' ] Export('env') SConscript('../tools/common/scons/scons_setup.py') if env['vars']['isTestBuild'] == '1': SConscript('../tools/common/scons/scons_unittest.py') else: SConscript('../tools/common/scons/scons_ti.py') for item in env['vars']['objectAndSource']: env.Object(item[0], item[1]) if env['vars']['isTestBuild'] == '1': env.Program(projName('.exe'), env['vars']['objList'], LIBPATH=['../tools/common/googletestlib/g_lib'], LDFLAGS="-lgcov -fprofile-arcs") env.Command(projName('.log'), projName('.exe'), [os.path.abspath(projName('.exe')) + ' > ' + projName('.log'), 'type ' + env['vars']['buildDir'] + '\\' + env['vars']['projName'] + '.log']) else: env.Program(projName('.out'), env['vars']['objList']) env.Command(projName('.hex'), projName('.out'), env['vars']['hexToolPath'] + ' --romwidth=32 --intel -o ${TARGET.abspath} ${SOURCE.abspath}') env.Command(projName('-ECC.hex'),projName('.hex'), env['vars']['nowECCPath'] + ' -i ${SOURCE.abspath} -r4 -f021 16M_ADD -o ${TARGET.abspath}') if env['vars']['buildType'] == 'RELEASE': env.Command(env['vars']['buildDir'] + '/DetailedReport.txt', projName('.out'), ['C:/ti/ccsv6/utils/bin/gmake -f ../tools/common/lint/Makefile', Copy(env['vars']['buildDir'] + '/DetailedReport.txt', '../test/lint/DetailedReport.txt')])