########################################################################################
#
# @file SAdditions
#
# @brief Additional script instructions for REFIP build
#
# Copyright (C) RivieraWaves 2009-2015
#
#########################################################################################


#-----------------------------------------------------------
# Additional link files
#-----------------------------------------------------------

# add the file where the link info must be stored
linkinfo_path = os.path.join(build_dir, 'linkinfo.'+buildtool+'.txt')
env.Replace(LINKINFOFILE = scutils.ext_path(linkinfo_path))

# check if there is a link map file
if buildtool == "rvds":
    if 'Cortex' in env['CPU']:
        linkmap_path = os.path.join(plf_config_dir, 'maps', buildtool, 'map_ram_cortex.txt')
    else:
        linkmap_path = os.path.join(plf_config_dir, 'maps', buildtool, 'map_ram_arm.txt')
elif buildtool == 'gnuarm':
    linkmap_path = os.path.join(plf_config_dir, 'maps', buildtool, 'map_ram.txt')
elif buildtool == 'armgcc_4_8':
    linkmap_path = os.path.join(plf_config_dir, 'maps', buildtool, 'map_ram.txt')
elif buildtool == 'armgcc':
    linkmap_path = os.path.join(plf_config_dir, 'maps', buildtool, 'map_ram.txt')
env.Replace(LINKMAPFILE = scutils.ext_path(linkmap_path))
Depends(target, linkmap_path)


#-----------------------------------------------------------
# Additional axf->bin step for RVDS
#-----------------------------------------------------------

# only convert to binary for rvds
if buildtool == "rvds":
    # extra command to convert ELF to binary format
    target = scutils.rvds_elf2bin(env, os.path.join(build_dir, env['PROGNAME']), target)
#elif buildtool == "armgcc_4_8":
#    # optional part to convert ELF to binary format
#    target = scutils.arm_none_eabi_elf2bin(env, os.path.join(build_dir, env['PROGNAME']), target)

