2018-08-30 03:07:52 +08:00
|
|
|
# Hey Emacs, this is a -*- makefile -*-
|
|
|
|
##############################################################################
|
|
|
|
# Compiler settings
|
|
|
|
#
|
|
|
|
CC = arm-none-eabi-gcc
|
|
|
|
OBJCOPY = arm-none-eabi-objcopy
|
|
|
|
OBJDUMP = arm-none-eabi-objdump
|
|
|
|
SIZE = arm-none-eabi-size
|
2019-04-23 02:20:13 +08:00
|
|
|
AR = arm-none-eabi-ar
|
2018-08-30 03:07:52 +08:00
|
|
|
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
|
|
|
|
|
|
|
|
#ALLOW_WARNINGS = yes
|
|
|
|
|
|
|
|
CFLAGS += $(COMPILEFLAGS)
|
|
|
|
|
|
|
|
CPPFLAGS += $(COMPILEFLAGS)
|
|
|
|
CPPFLAGS += -fno-exceptions -std=c++11
|
|
|
|
|
|
|
|
LDFLAGS +=-Wl,--gc-sections
|
|
|
|
LDFLAGS += -Wl,-Map="%OUT%%PROJ_NAME%.map"
|
|
|
|
LDFLAGS += -Wl,--start-group
|
|
|
|
LDFLAGS += -Wl,--end-group
|
Massdrop keyboard updates for SEND_STRING, syscalls, stdio, debug prints, Auto Shift (#3973)
* Update for SEND_STRING usage
Update for SEND_STRING usage.
Sending keyboard reports (kbd, nkro) now obey the minimum polling time.
While attempting to send a keyboard report and waiting for a USB poll, other functions of the keyboard, including LED effects and power management, will continue to operate at their intended intervals.
* Updates for send string, syscalls, stdio, debug prints, auto shift
Now properly waiting for previous keys sent over USB to complete before sending new.
Added heap to linker and now compiling with syscalls support.
Removed custom string functions and now using stdio.
dprintf now works as intended through virtser device.
* CTRL and ALT keymap updates
CTRL mac keymap updated
ALT default and mac keymap updated
ALT rules.mk added Auto Shift with default no
* Code cleanup as per discussion with vomindoraan
Code cleanup as per discussion with vomindoraan
2018-09-29 09:32:15 +08:00
|
|
|
LDFLAGS += --specs=rdimon.specs
|
2018-08-30 03:07:52 +08:00
|
|
|
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 =
|
|
|
|
|
|
|
|
# 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;
|
2019-08-21 06:39:24 +08:00
|
|
|
|
|
|
|
flash: bin
|
|
|
|
$(PRINT_OK); $(SILENT) || printf "$(MSG_FLASH_ARCH)"
|