# Lookup Helper Manifest
# This file is for connecting all targets to their respective locations in the framework


[arch]
PROJECT_NAME = ""
CC = "${TOOLCHAIN}-gcc"
CXX = "${TOOLCHAIN}-g++"
OBJCOPY = "${TOOLCHAIN}-objcopy"
OBJDUMP = "${TOOLCHAIN}-objdump"
GDB = "${TOOLCHAIN}-gdb-py"
SIZE = "${TOOLCHAIN}-size"
AS = "${TOOLCHAIN}-as"
DIR_INCLUDES = ["-I$(QUOTE)../../../ESF/mcu/inc$(QUOTE)",
             "-I$(QUOTE)../../../inc$(QUOTE)"]
DEPS = "$(OBJS:%.o=%.d)"
DEPS_AS_ARGS = "$(OBJS_AS_ARGS:%.o=%.d)"
OBJS = ["src/main.o"]
OBJS_AS_ARGS = ["$(QUOTE)src/main.o$(QUOTE)"]

CLEAN_PREREQS = [""]
CLEAN_CMDS = ["@rm -f $(OBJS_AS_ARGS)",
           "@rm -f $(DEPS_AS_ARGS)",
           "@rm -f $(PROJECT_NAME).bin",
           "@rm -f $(PROJECT_NAME).elf",
           "@rm -f $(PROJECT_NAME).hex"]
SUB_DIRS = ["src", "ESF/mcu/src"]

DEBUG_PREREQS = ["all"]
DEBUG_CMDS = ["@$(GDB) $(PROJECT_NAME).elf -x $(QUOTE)scripts/debug.gdb$(QUOTE)"]

PUSH_PREREQS = ["all"]
PUSH_CMDS = ["@echo $(QUOTE)$(QUOTE)",
	"@echo $(QUOTE)Uploading $(PROJECT_NAME).elf...$(QUOTE)",
	"@$(GDB) $(PROJECT_NAME).elf -x $(QUOTE)scripts/push.gdb$(QUOTE) >/dev/null",
	"@echo $(QUOTE)$(QUOTE)$(PROJECT_NAME).elf $(QUOTE) uploaded!$(QUOTE)",
    "@$(QUOTE)$(SIZE)$(QUOTE) $(QUOTE)$(PROJECT_NAME).elf$(QUOTE)"]

ELF_TARGET_PREREQS = ["$(OBJS)"]
ELF_TARGET_CMDS = ["$(QUOTE)$(CC)$(QUOTE) -o $@ $(OBJS_AS_ARGS) $(ELF_FLAGS)"]

BIN_TARGET_PREREQS = ["$(PROJECT_NAME).elf"]
BIN_TARGET_CMDS = ["$(QUOTE)$(OBJCOPY)$(QUOTE) -O binary $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE)"]

HEX_TARGET_PREREQS = ["$(PROJECT_NAME).elf"]
HEX_TARGET_CMDS = ["$(QUOTE)$(OBJCOPY)$(QUOTE) -O ihex $(HEX_FLAGS) $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE)"]

[arch.arm]
TOOLCHAIN = "${ESF_DIR}/toolchains/arm/bin/arm-none-eabi"
CFLAGS = ["-x c", "-DDEBUG", "-Os",
       "-g3",
       "-Wall",
       "-c",
       "-std=gnu99",
       "$(DIR_INCLUDES)",
       "-MD -MP",
       "-MF$(QUOTE)$(@:%.o=%.d)$(QUOTE)",
       "-MT$(QUOTE)$(@:%.o=%.d)$(QUOTE)",
       "-MT$(QUOTE)$(@:%.o=%.o)$(QUOTE)"]

ELF_FLAGS = ["-Wl,--start-group -l m",
       "-Wl,--end-group -mthumb",
       "-Wl,-Map=$(QUOTE)$(PROJECT_NAME).map$(QUOTE)",
       "--specs=nano.specs",
       "-Wl,--gc-sections",
       "-T$(QUOTE)$(LD_SCRIPT)$(QUOTE)",
       "-L$(QUOTE)$(LD_PATH)$(QUOTE)"]

HEX_FLAGS = ["-R .eeprom",
       "-R .fuse",
       "-R .lock",
       "-R .signature"]
EEP_FLAGS = ["-j .eeprom --set-section-flags=.eeprom=alloc,load",
          "--change-section-lma",
          ".eeprom=0",
          "--no-change-warnings"]
LD_PATH = "../../../ESF/ld"
DIR_INCLUDES = ["-I$(QUOTE)../../../ESF/common/inc$(QUOTE)",
             "-I$(QUOTE)../../../ESF/common/inc/cmsis$(QUOTE)"]
ALL_PREREQS = ["$(SUB_DIRS)",
              "$(PROJECT_NAME).elf",
              "$(PROJECT_NAME).bin",
              "$(PROJECT_NAME).hex",
              "$(PROJECT_NAME).eep",
              "$(PROJECT_NAME).lss"]
ALL_CMDS = ["$(QUOTE)$(SIZE)$(QUOTE) $(QUOTE)$(PROJECT_NAME).elf$(QUOTE)"]

EEP_TARGET_PREREQS = ["$(PROJECT_NAME).elf"]
EEP_TARGET_CMDS = ["$(QUOTE)$(OBJCOPY)$(QUOTE) $(EEP_FLAGS) -O binary $(QUOTE)$<$(QUOTE) $(QUOTE)$@$(QUOTE) || exit 0"]
LSS_TARGET_PREREQS = ["$(PROJECT_NAME).elf"]
LSS_TARGET_CMDS = ["$(QUOTE)$(OBJDUMP)$(QUOTE) -h -S $(QUOTE)$<$(QUOTE) > $(QUOTE)$@$(QUOTE)"]

CLEAN_CMDS = ["@rm -f $(PROJECT_NAME).a",
           "@rm -f $(PROJECT_NAME).lss",
           "@rm -f $(PROJECT_NAME).srec",
           "@rm -f $(PROJECT_NAME).map",
           "@rm -f $(PROJECT_NAME).eep"]

[arch.arm.samd21a]
MCPU = "cortex-m0plus"
CFLAGS = ["-D$(MCU)", "-mcpu=$(MCPU)"]
[arch.arm.samd21a.samd21e15a]
MCU = "__SAMD21E15A__"
LD_SCRIPT = "$(LD_PATH)/samd21e15a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21e15a.o",
     "ESF/mcu/src/system_samd21e15a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21e15a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21e15a.o$(QUOTE)"]
[arch.arm.samd21a.samd21e16a]
MCU = "__SAMD21E16A__"
LD_SCRIPT = "$(LD_PATH)/samd21e16a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21e16a.o",
     "ESF/mcu/src/system_samd21e16a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21e16a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21e16a.o$(QUOTE)"]
[arch.arm.samd21a.samd21e17a]
MCU = "__SAMD21E17A__"
LD_SCRIPT = "$(LD_PATH)/samd21e17a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21e17a.o",
     "ESF/mcu/src/system_samd21e17a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21e17a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21e17a.o$(QUOTE)"]
[arch.arm.samd21a.samd21e18a]
MCU = "__SAMD21E18A__"
LD_SCRIPT = "$(LD_PATH)/samd21e18a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21e18a.o",
     "ESF/mcu/src/system_samd21e18a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21e18a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21e18a.o$(QUOTE)"]

[arch.arm.samd21a.samd21g15a]
MCU = "__SAMD21G15A__"
LD_SCRIPT = "$(LD_PATH)/samd21g15a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21g15a.o",
     "ESF/mcu/src/system_samd21g15a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21g15a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21g15a.o$(QUOTE)"]
[arch.arm.samd21a.samd21g16a]
MCU = "__SAMD21G16A__"
LD_SCRIPT = "$(LD_PATH)/samd21g16a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21g16a.o",
     "ESF/mcu/src/system_samd21g16a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21g16a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21g16a.o$(QUOTE)"]
[arch.arm.samd21a.samd21g17a]
MCU = "__SAMD21G17A__"
LD_SCRIPT = "$(LD_PATH)/samd21g17a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21g17a.o",
     "ESF/mcu/src/system_samd21g17a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21g17a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21g17a.o$(QUOTE)"]
[arch.arm.samd21a.samd21g17au]
MCU = "__SAMD21G17AU__"
LD_SCRIPT = "$(LD_PATH)/samd21g17au_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21g17au.o",
     "ESF/mcu/src/system_samd21g17au.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21g17au.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21g17au.o$(QUOTE)"]
[arch.arm.samd21a.samd21g18a]
MCU = "__SAMD21G18A__"
LD_SCRIPT = "$(LD_PATH)/samd21g18a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21g18a.o",
     "ESF/mcu/src/system_samd21g18a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21g18a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21g18a.o$(QUOTE)"]
[arch.arm.samd21a.samd21g18au]
MCU = "__SAMD21G18AU__"
LD_SCRIPT = "$(LD_PATH)/samd21g18au_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21g18au.o",
     "ESF/mcu/src/system_samd21g18au.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21g18au.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21g18au.o$(QUOTE)"]

[arch.arm.samd21a.samd21j15a]
MCU = "__SAMD21J15A__"
LD_SCRIPT = "$(LD_PATH)/samd21j15a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21j15a.o",
     "ESF/mcu/src/system_samd21j15a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21j15a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21j15a.o$(QUOTE)"]
[arch.arm.samd21a.samd21j16a]
MCU = "__SAMD21J16A__"
LD_SCRIPT = "$(LD_PATH)/samd21j16a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21j16a.o",
     "ESF/mcu/src/system_samd21j16a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21j16a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21j16a.o$(QUOTE)"]
[arch.arm.samd21a.samd21j17a]
MCU = "__SAMD21J17A__"
LD_SCRIPT = "$(LD_PATH)/samd21j17a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21j17a.o",
     "ESF/mcu/src/system_samd21j17a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21j17a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21j17a.o$(QUOTE)"]
[arch.arm.samd21a.samd21j18a]
MCU = "__SAMD21J18A__"
LD_SCRIPT = "$(LD_PATH)/samd21j18a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd21j18a.o",
     "ESF/mcu/src/system_samd21j18a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd21j18a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd21j18a.o$(QUOTE)"]

[arch.arm.samd51a]
MCPU = "cortex-m4"
FPU = "fpv4-sp-d16"
FLOAT_ABI = "hard"
[arch.arm.samd51a.samd51g18a]
MCU = "__SAMD51G18A__"
LD_SCRIPT = "$(LD_PATH)/samd51g18a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd51g18a.o",
     "ESF/mcu/src/system_samd51g18a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd51g18a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd51g18a.o$(QUOTE)"]
[arch.arm.samd51a.samd51g19a]
MCU = "__SAMD51G19A__"
LD_SCRIPT = "$(LD_PATH)/samd51g19a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd51g19a.o",
     "ESF/mcu/src/system_samd51g19a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd51g19a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd51g19a.o$(QUOTE)"]

[arch.arm.samd51a.samd51j18a]
MCU = "__SAMD51J18A__"
LD_SCRIPT = "$(LD_PATH)/samd51j18a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd51j18a.o",
     "ESF/mcu/src/system_samd51j18a.o"]
OBJS_AS_ARJS = ["$(QUOTE)ESF/mcu/src/startup_samd51j18a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd51j18a.o$(QUOTE)"]
[arch.arm.samd51a.samd51j19a]
MCU = "__SAMD51J19A__"
LD_SCRIPT = "$(LD_PATH)/samd51j19a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd51j19a.o",
     "ESF/mcu/src/system_samd51j19a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd51j19a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd51j19a.o$(QUOTE)"]
[arch.arm.samd51a.samd51j20a]
MCU = "__SAMD51J20A__"
LD_SCRIPT = "$(LD_PATH)/samd51j20a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd51j20a.o",
     "ESF/mcu/src/system_samd51j20a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd51j20a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd51j20a.o$(QUOTE)"]

[arch.arm.samd51a.samd51n19a]
MCU = "__SAMD51N19A__"
LD_SCRIPT = "$(LD_PATH)/samd51n19a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd51n19a.o",
     "ESF/mcu/src/system_samd51n19a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd51n19a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd51n19a.o$(QUOTE)"]
[arch.arm.samd51a.samd51n20a]
MCU = "__SAMD51N20A__"
LD_SCRIPT = "$(LD_PATH)/samd51n20a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd51n20a.o",
     "ESF/mcu/src/system_samd51n20a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd51n20a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd51n20a.o$(QUOTE)"]

[arch.arm.samd51a.samd51p19a]
MCU = "__SAMD51P19A__"
LD_SCRIPT = "$(LD_PATH)/samd51p19a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd51p19a.o",
     "ESF/mcu/src/system_samd51p19a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd51p19a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd51p19a.o$(QUOTE)"]
[arch.arm.samd51a.samd51p20a]
MCU = "__SAMD51P20A__"
LD_SCRIPT = "$(LD_PATH)/samd51p20a_flash.ld"
OBJS = ["ESF/mcu/src/startup_samd51p20a.o",
     "ESF/mcu/src/system_samd51p20a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_samd51p20a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_samd51p20a.o$(QUOTE)"]

[arch.arm.same54a]
MCPU = "cortex-m4"
FPU = "fpv4-sp-d16"
FLOAT_ABI = "hard"
[arch.arm.same54a.same54n19a]
MCU = "__SAME54N19A__"
LD_SCRIPT = "$(LD_PATH)/same54n19a_flash.ld"
OBJS = ["ESF/mcu/src/startup_same54n19a.o",
     "ESF/mcu/src/system_same54n19a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_same54n19a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_same54n19a.o$(QUOTE)"]
[arch.arm.same54a.same54n20a]
MCU = "__SAME54N20A__"
LD_SCRIPT = "$(LD_PATH)/same54n20a_flash.ld"
OBJS = ["ESF/mcu/src/startup_same54n20a.o",
     "ESF/mcu/src/system_same54n20a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_same54n20a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_same54n20a.o$(QUOTE)"]
[arch.arm.same54a.same54p19a]
MCU = "__SAME54P19A__"
LD_SCRIPT = "$(LD_PATH)/same54p19a_flash.ld"
OBJS = ["ESF/mcu/src/startup_same54p19a.o",
     "ESF/mcu/src/system_same54p19a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_same54p19a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_same54p19a.o$(QUOTE)"]
[arch.arm.same54a.same54p20a]
MCU = "__SAME54P20A__"
LD_SCRIPT = "$(LD_PATH)/same54p20a_flash.ld"
OBJS = ["ESF/mcu/src/startup_same54p20a.o",
     "ESF/mcu/src/system_same54p20a.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_same54p20a.o$(QUOTE)",
             "$(QUOTE)ESF/mcu/src/system_same54p20a.o$(QUOTE)"]
[arch.avr]
CC = "arm-none-eabi-gcc"
CXX = "arm-none-eabi-g++"
OBJCOPY = "arm-none-eabi-objcopy"
OBJDUMP = "arm-none-eabi-objdump"
SIZE = "arm-none-eabi-gdb"
AS = "arm-none-eabi-as"

[arch.riscv]
TOOLCHAIN = "${ESF_DIR}/toolchains/riscv/bin/riscv64-unknown-elf"
CFLAGS = ["-x c", "-DDEBUG", "-Os",
       "-g3",
       "-Wall",
       "-c",
       "-std=gnu11",
       "-fno-diagnostics-show-caret",
       "-fdata-sections",
       "-ffunction-sections",
       "-funsigned-bitfields",
       "$(DIR_INCLUDES)",
       "-MD -MP",
       "-MT$(QUOTE)$(@:%.o=%.o)$(QUOTE)",
       "-MF$(QUOTE)$(@:%.o=%.d)$(QUOTE)"]
ELF_FLAGS = ["-nostartfiles",
          "-Wl,--gc-sections",
          "-Wl,--script=$(LD_SCRIPT)"]
LD_PATH = "../../../ESF/ld"
[arch.riscv.fe310]
[arch.riscv.fe310g]
CFLAGS = ["-DF_CPU=256000000"]
[arch.riscv.fe310g.fe310g000]
LD_SCRIPT = "$(LD_PATH)/fe310g000.ld"
[arch.riscv.fe310g.fe310g002]
MCU = "__FE310G002__"
LD_SCRIPT = "$(LD_PATH)/fe310g002.ld"
OBJS = ["ESF/mcu/src/startup_fe310.o"]
OBJS_AS_ARGS = ["$(QUOTE)ESF/mcu/src/startup_fe310.o$(QUOTE)"]