options:
  optimize : [ O1, O2, O3, Ofast, Os ]
import:
 - tests.rtebuild
targets:
  arm:
    csettings   : [ "-mcpu=${mcpu}${features}", "-mfloat-abi=${float}", "-mfpu=auto", "-%{optimize}", -gdwarf-2, -ffunction-sections, -fdata-sections ]
    cwarnings   : [ -Wall, -Wextra, -Wshadow, -Wundef, -Wstrict-prototypes, -Wpedantic ]
    mapinfo     : [ "-Xlinker -Map=${builddir}/${targetName}.map" ]
  armcm:
    toolchain   : GCC
    features    : ""
    cflags      : [ "${csettings}", "${cwarnings}", -c, -xc, -std=gnu99 ]
    asmflags    : [ "${csettings}", "${cwarnings}", -c ]
    linkflags   : [ "${csettings}", "${cwarnings}", "${mapinfo}", --specs=nano.specs, --specs=rdimon.specs ]
    linkscript  : "config/core_m/rtebuild.ld"
  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.ld"
  armcm23ns:
    mcpu      : cortex-m23
    float     : soft
    linkscript: "config/core_m/rtebuild_ns.ld"
  armcm33:
    mcpu      : cortex-m33
    features  : "+nofp+nodsp"
    float     : soft
  armcm33s:
    mcpu      : cortex-m33
    float     : hard
    cflags    : [ -mcmse ]
    linkscript: "config/core_m/rtebuild_s.ld"
  armcm33ns:
    mcpu      : cortex-m33
    float     : hard
    linkscript: "config/core_m/rtebuild_ns.ld"
  armcm35p:
    mcpu      : cortex-m35p
    features  : "+nofp+nodsp"
    float     : soft
  armcm35ps:
    mcpu      : cortex-m35p
    float     : hard
    cflags    : [ -mcmse ]
    linkscript: "config/core_m/rtebuild_s.ld"
  armcm35pns:
    mcpu      : cortex-m35p
    float     : hard
    linkscript: "config/core_m/rtebuild_ns.ld"
  armcm55:
    mcpu      : cortex-m55
    features  : "+nomve+nofp"
    float     : soft
  armcm55s:
    mcpu      : cortex-m55
    features  : "+nomve.fp+nofp"
    float     : softfp
    cflags    : [ -mcmse ]
    linkscript: "config/core_m/rtebuild_s.ld"
  armcm55ns:
    mcpu      : cortex-m55
    float     : hard
    linkscript: "config/core_m/rtebuild_ns.ld"

  armca:
    toolchain : GCC
    features  : ""
    cflags    : [ "${csettings}", "${cwarnings}", -c, -xc, -std=gnu99 ]
    asmflags  : [ "${csettings}", "${cwarnings}", -c ]
    linkflags : [ "${csettings}", "${cwarnings}", "${mapinfo}", --specs=nano.specs, --specs=rdimon.specs ]
    linkscript: "${builddir}/rtebuild.ld"
    source:
      - ../../../Device/ARM/${device}/Source/GCC/startup_${device}.c
    prebuild:
     - [ arm-none-eabi-gcc, "-xc", "-I\"${basedir}/config/core_a\"", "-E \"${basedir}/config/core_a/rtebuild.ld\"", -P, "-o \"${builddir}/rtebuild.ld\"" ]
  armca5:
    mcpu    : cortex-a5
    features: "+nosimd"
    float   : hard
  armca5neon:
    mcpu    : cortex-a5
    float   : hard
  armca7:
    mcpu    : cortex-a7
    features: "+nosimd"
    float   : hard
  armca7neon:
    mcpu    : cortex-a7
    float   : hard
  armca9:
    mcpu    : cortex-a9
    features: "+nosimd"
    float   : hard
  armca9neon:
    mcpu    : cortex-a9
    float   : hard
