COMMON_DIR = common
-DEBOUNCE = $(COMMON_DIR)/debounce
ifeq ($(PLATFORM),AVR)
PLATFORM_COMMON_DIR = $(COMMON_DIR)/avr
else ifeq ($(PLATFORM),CHIBIOS)
TMK_COMMON_SRC += $(COMMON_DIR)/host.c \
$(COMMON_DIR)/keyboard.c \
- $(COMMON_DIR)/debounce.c \
$(COMMON_DIR)/action.c \
$(COMMON_DIR)/action_tapping.c \
$(COMMON_DIR)/action_macro.c \
TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
TMK_COMMON_DEFS += -DEEPROM_EMU_STM32F103xB
TMK_COMMON_DEFS += -DSTM32_EEPROM_ENABLE
+ else ifeq ($(MCU_SERIES)_$(MCU_LDSCRIPT), STM32F0xx_STM32F072xB)
+ TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
+ TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
+ TMK_COMMON_DEFS += -DEEPROM_EMU_STM32F072xB
+ TMK_COMMON_DEFS += -DSTM32_EEPROM_ENABLE
else
TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/eeprom_teensy.c
endif
TMK_COMMON_SRC += $(PLATFORM_COMMON_DIR)/eeprom.c
endif
-# Debounce Modules. If implemented in matrix.c, don't use these.
-ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
- # Do nothing, debouncing is inside matrix.c inside split_common
-else ifeq ($(strip $(DEBOUNCE_ALGO)), manual)
- # Do nothing. do your debouncing in matrix.c
-else ifeq ($(strip $(DEBOUNCE_ALGO)), sym_g)
- TMK_COMMON_SRC += $(DEBOUNCE)/debounce_sym_g.c
-else ifeq ($(strip $(DEBOUNCE_ALGO)), eager_pk)
- TMK_COMMON_SRC += $(DEBOUNCE)/debounce_eager_pk.c
-else ifeq ($(strip $(CUSTOM_MATRIX)), yes)
- # Do nothing. Custom matrix code.
-else # default algorithm
- TMK_COMMON_SRC += $(DEBOUNCE)/debounce_sym_g.c
-endif
+
# Option modules
BOOTMAGIC_ENABLE ?= no
TMK_COMMON_DEFS += -DSHARED_EP_ENABLE
endif
+
+ifeq ($(strip $(LINK_TIME_OPTIMIZATION_ENABLE)), yes)
+ EXTRAFLAGS += -flto
+ TMK_COMMON_DEFS += -DLINK_TIME_OPTIMIZATION_ENABLE
+ TMK_COMMON_DEFS += -DNO_ACTION_MACRO
+ TMK_COMMON_DEFS += -DNO_ACTION_FUNCTION
+endif
# Bootloader address
ifdef STM32_BOOTLOADER_ADDRESS
TMK_COMMON_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS)