zephyr/cmake/bintools/armclang/target_bintools.cmake

72 lines
3.4 KiB
CMake

# List of format the tool supports for converting, for example,
# GNU tools uses objectcopy, which supports the following: ihex, srec, binary
set_property(TARGET bintools PROPERTY elfconvert_formats ihex binary)
# armclang toolchain does not support all options in a single command
# Therefore a CMake script is used, so that multiple commands can be executed
# successively.
set_property(TARGET bintools PROPERTY elfconvert_command ${CMAKE_COMMAND})
set_property(TARGET bintools PROPERTY elfconvert_flag
-DFROMELF=${CMAKE_FROMELF}
)
set_property(TARGET bintools PROPERTY elfconvert_flag_final
-P ${CMAKE_CURRENT_LIST_DIR}/elfconvert_command.cmake)
set_property(TARGET bintools PROPERTY elfconvert_flag_strip_all "-DSTRIP_ALL=True")
set_property(TARGET bintools PROPERTY elfconvert_flag_strip_debug "-DSTRIP_DEBUG=True")
set_property(TARGET bintools PROPERTY elfconvert_flag_intarget "-DINTARGET=")
set_property(TARGET bintools PROPERTY elfconvert_flag_outtarget "-DOUTTARGET=")
set_property(TARGET bintools PROPERTY elfconvert_flag_section_remove "-DREMOVE_SECTION=")
set_property(TARGET bintools PROPERTY elfconvert_flag_section_only "-DONLY_SECTION=")
# mwdt doesn't handle rename, consider adjusting abstraction.
set_property(TARGET bintools PROPERTY elfconvert_flag_section_rename "-DRENAME_SECTION=")
set_property(TARGET bintools PROPERTY elfconvert_flag_gapfill "-DGAP_FILL=")
set_property(TARGET bintools PROPERTY elfconvert_flag_srec_len "-DSREC_LEN=")
set_property(TARGET bintools PROPERTY elfconvert_flag_infile "-DINFILE=")
set_property(TARGET bintools PROPERTY elfconvert_flag_outfile "-DOUTFILE=")
#
# - disassembly : Name of command for disassembly of files
# In this implementation `fromelf` is used
# disassembly_flag : --disassemble
# disassembly_flag_final : empty
# disassembly_flag_inline_source : --interleave=source
# disassembly_flag_all : empty, fromelf does not differentiate on this.
# disassembly_flag_infile : empty, fromelf doesn't take arguments for filenames
# disassembly_flag_outfile : --output
set_property(TARGET bintools PROPERTY disassembly_command ${CMAKE_FROMELF})
set_property(TARGET bintools PROPERTY disassembly_flag --disassemble)
set_property(TARGET bintools PROPERTY disassembly_flag_final "")
set_property(TARGET bintools PROPERTY disassembly_flag_inline_source --interleave=source)
set_property(TARGET bintools PROPERTY disassembly_flag_all "")
set_property(TARGET bintools PROPERTY disassembly_flag_infile "")
set_property(TARGET bintools PROPERTY disassembly_flag_outfile "--output=" )
#
# - readelf : Name of command for reading elf files.
# In this implementation `fromelf` is used
# readelf_flag : empty
# readelf_flag_final : empty
# readelf_flag_headers : --text
# readelf_flag_infile : empty, fromelf doesn't take arguments for filenames
# readelf_flag_outfile : --output
# This is using fromelf from arm-ds / Keil.
set_property(TARGET bintools PROPERTY readelf_command ${CMAKE_FROMELF})
set_property(TARGET bintools PROPERTY readelf_flag "")
set_property(TARGET bintools PROPERTY readelf_flag_final "")
set_property(TARGET bintools PROPERTY readelf_flag_headers --text)
set_property(TARGET bintools PROPERTY readelf_flag_infile "")
set_property(TARGET bintools PROPERTY readelf_flag_outfile "--output=")