options:
  optimize : [ O1, O2, Oz, Ofast, Os ]
import:
 - tests.rtebuild
targets:
  arm:
    csettings   : [ --target=arm-arm-none-eabi, "-mcpu=${mcpu}${features}", "-mfloat-abi=${float}", "-%{optimize}", -gdwarf-3, -fno-rtti, -fshort-enums, -fshort-wchar, -ffunction-sections ]
    cwarnings   : [ -Weverything, -Wno-covered-switch-default, -Wno-reserved-id-macro, -Wno-unused-macros, -Wno-extra ]
    mapinfo     : [ "-Wl,--map", "-Wl,--load_addr_map_info", "-Wl,--xref", "-Wl,--callgraph", "-Wl,--symbols", "-Wl,--info=summarysizes", "-Wl,--info=sizes", "-Wl,--info=totals", "-Wl,--info=unused", "-Wl,--info=veneers", "-Wl,--list=${builddir}/${targetName}.map" ]
  armcm:
    toolchain   : ARMCC6
    features    : ""
    cflags      : [ "${csettings}", "${cwarnings}", -c, -xc, -std=c99 ]
    asmflags    : [ "${csettings}", "${cwarnings}", -c ]
    linkflags   : [ "${csettings}", "${cwarnings}", "${mapinfo}", "-Wl,--strict", "-Wl,--no_remove", "-Wl,--entry=Reset_Handler", "-Wl,--diag_suppress=L6314W" ]
    linkscript  : "config/core_m/rtebuild.sct"
  armcm0:
    mcpu      : cortex-m0
    float     : soft
  armcm0plus:
    mcpu      : cortex-m0plus
    float     : soft
  armcm3:
    mcpu      : cortex-m3
    float     : soft
  armcm4:
    mcpu      : cortex-m4
    features  : "+nofp"
    float     : soft
  armcm4fp:
    mcpu      : cortex-m4
    float     : hard
  armcm7:
    mcpu      : cortex-m7
    features  : "+nofp"
    float     : soft
  armcm7sp:
    mcpu      : cortex-m7
    features  : "+nofp.dp"
    float     : hard
  armcm7dp:
    mcpu      : cortex-m7
    float     : hard
  armcm23:
    mcpu      : cortex-m23
    float     : soft
  armcm23s:
    mcpu      : cortex-m23
    float     : soft
    cflags    : [ -mcmse ]
    linkscript: "config/core_m/rtebuild_s.sct"
  armcm23ns:
    mcpu      : cortex-m23
    float     : soft
    linkscript: "config/core_m/rtebuild_ns.sct"
  armcm33:
    mcpu      : cortex-m33
    features  : "+nofp+nodsp"
    float     : soft
  armcm33s:
    mcpu      : cortex-m33
    float     : hard
    cflags    : [ -mcmse ]
    linkscript: "config/core_m/rtebuild_s.sct"
  armcm33ns:
    mcpu      : cortex-m33
    float     : hard
    linkscript: "config/core_m/rtebuild_ns.sct"
  armcm35p:
    mcpu      : cortex-m35p
    features  : "+nofp+nodsp"
    float     : soft
  armcm35ps:
    mcpu      : cortex-m35p
    float     : hard
    cflags    : [ -mcmse ]
    linkscript: "config/core_m/rtebuild_s.sct"
  armcm35pns:
    mcpu      : cortex-m35p
    float     : hard
    linkscript: "config/core_m/rtebuild_ns.sct"
  armcm55:
    mcpu      : cortex-m55
    features  : "+nomve+nofp"
    float     : soft
  armcm55s:
    mcpu      : cortex-m55
    features  : "+nomve.fp"
    float     : softfp
    cflags    : [ -mcmse ]
    linkscript: "config/core_m/rtebuild_s.sct"
  armcm55ns:
    mcpu      : cortex-m55
    float     : hard
    linkscript: "config/core_m/rtebuild_ns.sct"

  armca:
    toolchain : ARMCC6
    features  : ""
    csettings : [ "-mfpu=${fpu}", -marm ]
    cflags    : [ "${csettings}", "${cwarnings}", -c, -xc, -std=c99 ]
    asmflags  : [ "${csettings}", "${cwarnings}", -c ]
    linkflags : [ "${csettings}", "${cwarnings}", "-Wl,--entry=Vectors", "${mapinfo}" ]
    linkscript: "./config/core_a/rtebuild.sct"
    source:
      - ../../../Device/ARM/${device}/Source/AC6/startup_${device}.c
  armca5:
    mcpu    : cortex-a5
    fpu     : vfpv3-d16-fp16
    float   : hard
  armca5neon:
    mcpu    : cortex-a5
    fpu     : neon-fp16
    float   : hard
  armca7:
    mcpu    : cortex-a7
    fpu     : vfpv4-d16
    float   : hard
  armca7neon:
    mcpu    : cortex-a7
    fpu     : neon-vfpv4
    float   : hard
  armca9:
    mcpu    : cortex-a9
    fpu     : vfpv3-d16-fp16
    float   : hard
  armca9neon:
    mcpu    : cortex-a9
    fpu     : neon-fp16
    float   : hard
