format code according to conventions [skip ci]
[jackhill/qmk/firmware.git] / tmk_core / arm_atsam.mk
CommitLineData
30680c6e 1# Hey Emacs, this is a -*- makefile -*-
2##############################################################################
3# Compiler settings
4#
5CC = arm-none-eabi-gcc
6OBJCOPY = arm-none-eabi-objcopy
7OBJDUMP = arm-none-eabi-objdump
8SIZE = arm-none-eabi-size
6d73fe12 9AR = arm-none-eabi-ar
30680c6e 10NM = arm-none-eabi-nm
11HEX = $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock -R .signature
12EEP = $(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O $(FORMAT)
13BIN =
14
15COMMON_VPATH += $(LIB_PATH)/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include
16COMMON_VPATH += $(LIB_PATH)/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include
17
18COMPILEFLAGS += -funsigned-char
19COMPILEFLAGS += -funsigned-bitfields
20COMPILEFLAGS += -ffunction-sections
21COMPILEFLAGS += -fshort-enums
22COMPILEFLAGS += -fno-inline-small-functions
23COMPILEFLAGS += -fno-strict-aliasing
24COMPILEFLAGS += -mfloat-abi=hard
25COMPILEFLAGS += -mfpu=fpv4-sp-d16
26COMPILEFLAGS += -mthumb
27
28#ALLOW_WARNINGS = yes
29
30CFLAGS += $(COMPILEFLAGS)
31
b28ee6b0
NB
32CXXFLAGS += $(COMPILEFLAGS)
33CXXFLAGS += -fno-exceptions -std=c++11
30680c6e 34
35LDFLAGS +=-Wl,--gc-sections
36LDFLAGS += -Wl,-Map="%OUT%%PROJ_NAME%.map"
37LDFLAGS += -Wl,--start-group
38LDFLAGS += -Wl,--end-group
239f0240 39LDFLAGS += --specs=rdimon.specs
30680c6e 40LDFLAGS += -T$(LIB_PATH)/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/gcc/gcc/samd51j18a_flash.ld
41
42OPT_DEFS += -DPROTOCOL_ARM_ATSAM
43
44MCUFLAGS = -mcpu=$(MCU)
45MCUFLAGS += -D__$(ARM_ATSAM)__
46
47# List any extra directories to look for libraries here.
48# Each directory must be seperated by a space.
49# Use forward slashes for directory separators.
50# For a directory that has spaces, enclose it in quotes.
51EXTRALIBDIRS =
52
53# Convert hex to bin.
54bin: $(BUILD_DIR)/$(TARGET).hex
55 $(OBJCOPY) -Iihex -Obinary $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin
56 $(COPY) $(BUILD_DIR)/$(TARGET).bin $(TARGET).bin;
4003d077
DJ
57
58flash: bin
59 $(PRINT_OK); $(SILENT) || printf "$(MSG_FLASH_ARCH)"