mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-11-25 18:06:34 +06:00
d9bb189e25
mpaland printf implementation was abandoned in ~2019 and the fork by eyalroz is now regarded to be the goto replacement of it. So this commit incoporates the changes needed to use this fork in QMK. Note that pointer ptrdiff_t is always supported since commit 51c90f93a97fdaef895783ecbe24569be0db7cb8
69 lines
2.6 KiB
Makefile
69 lines
2.6 KiB
Makefile
# Hey Emacs, this is a -*- makefile -*-
|
|
##############################################################################
|
|
# Compiler settings
|
|
#
|
|
CC = $(CC_PREFIX) arm-none-eabi-gcc
|
|
OBJCOPY = arm-none-eabi-objcopy
|
|
OBJDUMP = arm-none-eabi-objdump
|
|
SIZE = arm-none-eabi-size
|
|
AR = arm-none-eabi-ar
|
|
NM = arm-none-eabi-nm
|
|
HEX = $(OBJCOPY) -O $(FORMAT) -R .eeprom -R .fuse -R .lock -R .signature
|
|
EEP = $(OBJCOPY) -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O $(FORMAT)
|
|
BIN =
|
|
|
|
COMMON_VPATH += $(LIB_PATH)/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/include
|
|
COMMON_VPATH += $(LIB_PATH)/arm_atsam/packs/arm/cmsis/5.0.1/CMSIS/Include
|
|
|
|
COMPILEFLAGS += -funsigned-char
|
|
COMPILEFLAGS += -funsigned-bitfields
|
|
COMPILEFLAGS += -ffunction-sections
|
|
COMPILEFLAGS += -fshort-enums
|
|
COMPILEFLAGS += -fno-inline-small-functions
|
|
COMPILEFLAGS += -fno-strict-aliasing
|
|
COMPILEFLAGS += -mfloat-abi=hard
|
|
COMPILEFLAGS += -mfpu=fpv4-sp-d16
|
|
COMPILEFLAGS += -mthumb
|
|
COMPILEFLAGS += -fno-builtin-printf
|
|
|
|
#ALLOW_WARNINGS = yes
|
|
|
|
CFLAGS += $(COMPILEFLAGS)
|
|
|
|
CXXFLAGS += $(COMPILEFLAGS)
|
|
CXXFLAGS += -fno-exceptions $(CXXSTANDARD)
|
|
|
|
LDFLAGS +=-Wl,--gc-sections
|
|
LDFLAGS += -Wl,-Map="%OUT%%PROJ_NAME%.map"
|
|
LDFLAGS += -Wl,--start-group
|
|
LDFLAGS += -Wl,--end-group
|
|
LDFLAGS += --specs=rdimon.specs
|
|
LDFLAGS += -T$(LIB_PATH)/arm_atsam/packs/atmel/SAMD51_DFP/1.0.70/gcc/gcc/samd51j18a_flash.ld
|
|
|
|
OPT_DEFS += -DPROTOCOL_ARM_ATSAM
|
|
|
|
MCUFLAGS = -mcpu=$(MCU)
|
|
MCUFLAGS += -D__$(ARM_ATSAM)__
|
|
|
|
# List any extra directories to look for libraries here.
|
|
# Each directory must be seperated by a space.
|
|
# Use forward slashes for directory separators.
|
|
# For a directory that has spaces, enclose it in quotes.
|
|
EXTRALIBDIRS =
|
|
|
|
cpfirmware: warn-arm_atsam
|
|
.INTERMEDIATE: warn-arm_atsam
|
|
warn-arm_atsam: $(FIRMWARE_FORMAT)
|
|
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
|
|
$(info This MCU support package has a lack of support from the upstream provider (Massdrop).)
|
|
$(info There are currently questions about valid licensing, and at this stage it's likely)
|
|
$(info their boards and supporting code will be removed from QMK in the near future. Please)
|
|
$(info contact Massdrop for support, and encourage them to align their future board design)
|
|
$(info choices to gain proper license compatibility with QMK.)
|
|
$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@)
|
|
|
|
# Convert hex to bin.
|
|
bin: $(BUILD_DIR)/$(TARGET).hex
|
|
$(OBJCOPY) -Iihex -Obinary $(BUILD_DIR)/$(TARGET).hex $(BUILD_DIR)/$(TARGET).bin
|
|
$(COPY) $(BUILD_DIR)/$(TARGET).bin $(TARGET).bin;
|