diff options
Diffstat (limited to 'builddefs')
| -rw-r--r-- | builddefs/build_keyboard.mk | 8 | ||||
| -rw-r--r-- | builddefs/build_test.mk | 2 | ||||
| -rw-r--r-- | builddefs/common_features.mk | 11 | ||||
| -rw-r--r-- | builddefs/common_rules.mk | 2 | ||||
| -rw-r--r-- | builddefs/converters.mk | 37 | ||||
| -rw-r--r-- | builddefs/generic_features.mk | 1 | ||||
| -rw-r--r-- | builddefs/mcu_selection.mk | 83 | ||||
| -rw-r--r-- | builddefs/show_options.mk | 1 | ||||
| -rw-r--r-- | builddefs/testlist.mk | 1 | 
9 files changed, 115 insertions, 31 deletions
diff --git a/builddefs/build_keyboard.mk b/builddefs/build_keyboard.mk index 44acd964cc..4503f018a8 100644 --- a/builddefs/build_keyboard.mk +++ b/builddefs/build_keyboard.mk @@ -172,13 +172,7 @@ generated-files: $(KEYMAP_OUTPUT)/src/config.h $(KEYMAP_OUTPUT)/src/keymap.c  endif -ifeq ($(strip $(CTPC)), yes) -    CONVERT_TO_PROTON_C=yes -endif - -ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) -    include platforms/chibios/boards/QMK_PROTON_C/convert_to_proton_c.mk -endif +include $(BUILDDEFS_PATH)/converters.mk  include $(BUILDDEFS_PATH)/mcu_selection.mk diff --git a/builddefs/build_test.mk b/builddefs/build_test.mk index 7226004aab..5ad33b19c5 100644 --- a/builddefs/build_test.mk +++ b/builddefs/build_test.mk @@ -4,6 +4,8 @@ endif  .DEFAULT_GOAL := all +OPT = g +  include paths.mk  include $(BUILDDEFS_PATH)/message.mk diff --git a/builddefs/common_features.mk b/builddefs/common_features.mk index 08d186d656..c976b8296d 100644 --- a/builddefs/common_features.mk +++ b/builddefs/common_features.mk @@ -149,6 +149,11 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)      endif  endif +QUANTUM_PAINTER_ENABLE ?= no +ifeq ($(strip $(QUANTUM_PAINTER_ENABLE)), yes) +    include $(QUANTUM_DIR)/painter/rules.mk +endif +  VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi  EEPROM_DRIVER ?= vendor  ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),) @@ -646,8 +651,9 @@ ifeq ($(strip $(HAPTIC_ENABLE)),yes)  endif  ifeq ($(strip $(HD44780_ENABLE)), yes) -    SRC += platforms/avr/drivers/hd44780.c      OPT_DEFS += -DHD44780_ENABLE +    COMMON_VPATH += $(DRIVER_PATH)/lcd +    SRC += hd44780.c  endif  VALID_OLED_DRIVER_TYPES := SSD1306 custom @@ -695,7 +701,8 @@ endif  ifeq ($(strip $(UNICODE_COMMON)), yes)      OPT_DEFS += -DUNICODE_COMMON_ENABLE -    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c +    SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c \ +           $(QUANTUM_DIR)/utf8.c  endif  MAGIC_ENABLE ?= yes diff --git a/builddefs/common_rules.mk b/builddefs/common_rules.mk index b303a87919..85dfe67f3f 100644 --- a/builddefs/common_rules.mk +++ b/builddefs/common_rules.mk @@ -316,7 +316,7 @@ gccversion :  	@$(BUILD_CMD)  %.uf2: %.hex -	$(eval CMD=$(UF2CONV) $(BUILD_DIR)/$(TARGET).hex -o $(BUILD_DIR)/$(TARGET).uf2 -c -f $(UF2_FAMILY) >/dev/null 2>&1) +	$(eval CMD=$(UF2CONV) $(BUILD_DIR)/$(TARGET).hex --output $(BUILD_DIR)/$(TARGET).uf2 --convert --family $(UF2_FAMILY) >/dev/null 2>&1)  	#@$(SILENT) || printf "$(MSG_EXECUTING) '$(CMD)':\n"  	@$(SILENT) || printf "$(MSG_UF2) $@" | $(AWK_CMD)  	@$(BUILD_CMD) diff --git a/builddefs/converters.mk b/builddefs/converters.mk new file mode 100644 index 0000000000..b3e7bec007 --- /dev/null +++ b/builddefs/converters.mk @@ -0,0 +1,37 @@ +# Note for new boards -- CTPC and CONVERT_TO_PROTON_C are deprecated terms +# and should not be replicated for new boards. These will be removed from +# documentation as well as existing keymaps in due course. +ifeq ($(strip $(CTPC)), yes) +    CONVERT_TO_PROTON_C=yes +endif +ifeq ($(strip $(CONVERT_TO_PROTON_C)), yes) +    CONVERT_TO=proton_c + +cpfirmware: ctpc_warning +.INTERMEDIATE: ctpc_warning +ctpc_warning: elf +	$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@) +	$(info The `CONVERT_TO_PROTON_C` and `CTPC` options are soon to be deprecated.) +	$(info Boards should be changed to use `CONVERT_TO=proton_c` instead.) +	$(info @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@) +endif + +# TODO: opt in rather than assume everything uses a pro micro +PIN_COMPATIBLE ?= promicro +ifneq ($(CONVERT_TO),) +    # glob to search each platfrorm and/or check for valid converter +    CONVERTER := $(wildcard $(PLATFORM_PATH)/*/converters/$(PIN_COMPATIBLE)_to_$(CONVERT_TO)/) +    ifeq ($(CONVERTER),) +        $(call CATASTROPHIC_ERROR,Converting from '$(PIN_COMPATIBLE)' to '$(CONVERT_TO)' not possible!) +    endif + +    TARGET := $(TARGET)_$(CONVERT_TO) + +    # Configure any defaults +    OPT_DEFS += -DCONVERT_TO_$(strip $(shell echo $(CONVERT_TO) | tr '[:lower:]' '[:upper:]')) +    OPT_DEFS += -DCONVERTER_ENABLED +    VPATH += $(CONVERTER) + +    # Finally run any converter specific logic +    include $(CONVERTER)/converter.mk +endif diff --git a/builddefs/generic_features.mk b/builddefs/generic_features.mk index e4151eb217..53d4e16fd4 100644 --- a/builddefs/generic_features.mk +++ b/builddefs/generic_features.mk @@ -25,6 +25,7 @@ GENERIC_FEATURES = \      DYNAMIC_KEYMAP \      DYNAMIC_MACRO \      ENCODER \ +    ENCODER_MAP \      GRAVE_ESC \      HAPTIC \      KEY_LOCK \ diff --git a/builddefs/mcu_selection.mk b/builddefs/mcu_selection.mk index 9fdd22c3b6..ec33ee4446 100644 --- a/builddefs/mcu_selection.mk +++ b/builddefs/mcu_selection.mk @@ -9,7 +9,9 @@ ifneq ($(findstring MKL26Z64, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = KINETIS    MCU_SERIES = KL2x @@ -36,7 +38,9 @@ ifneq ($(findstring MK20DX128, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = KINETIS    MCU_SERIES = K20x @@ -63,7 +67,9 @@ ifneq ($(findstring MK20DX256, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = KINETIS    MCU_SERIES = K20x @@ -90,7 +96,9 @@ ifneq ($(findstring MK66FX1M0, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = KINETIS    MCU_SERIES = MK66F18 @@ -117,7 +125,9 @@ ifneq ($(findstring STM32F042, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32F0xx @@ -157,7 +167,9 @@ ifneq ($(findstring STM32F072, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32F0xx @@ -192,7 +204,9 @@ ifneq ($(findstring STM32F103, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32F1xx @@ -224,7 +238,9 @@ ifneq ($(findstring STM32F303, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32F3xx @@ -259,7 +275,9 @@ ifneq ($(findstring STM32F401, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32F4xx @@ -299,7 +317,9 @@ ifneq ($(findstring STM32F405, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32F4xx @@ -334,7 +354,9 @@ ifneq ($(findstring STM32F407, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32F4xx @@ -369,7 +391,9 @@ ifneq ($(findstring STM32F411, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32F4xx @@ -409,7 +433,9 @@ ifneq ($(findstring STM32F446, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32F4xx @@ -441,7 +467,9 @@ ifneq ($(findstring STM32G431, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32G4xx @@ -476,7 +504,9 @@ ifneq ($(findstring STM32G474, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32G4xx @@ -511,7 +541,9 @@ ifneq (,$(filter $(MCU),STM32L432 STM32L442))    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32L4xx @@ -548,7 +580,9 @@ ifneq (,$(filter $(MCU),STM32L433 STM32L443))    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32L4xx @@ -585,7 +619,9 @@ ifneq (,$(filter $(MCU),STM32L412 STM32L422))    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = STM32    MCU_SERIES = STM32L4xx @@ -602,7 +638,7 @@ ifneq (,$(filter $(MCU),STM32L412 STM32L422))    # <keyboard_dir>/boards/, or drivers/boards/    BOARD ?= GENERIC_STM32_L412XB -  PLATFORM_NAME ?= platform_l432 +  PLATFORM_NAME ?= platform_l412_l422    USE_FPU ?= yes @@ -622,7 +658,9 @@ ifneq ($(findstring WB32F3G71, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)    MCU_FAMILY = WB32    MCU_SERIES = WB32F3G71xx @@ -657,7 +695,10 @@ ifneq ($(findstring GD32VF103, $(MCU)),)    ## chip/board settings    # - the next two should match the directories in -  #   <chibios>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_PORT_NAME)/$(MCU_SERIES) +  #   OR +  #   <chibios[-contrib]>/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES) +  MCU_PORT_NAME = GD    MCU_FAMILY = GD32V    MCU_SERIES = GD32VF103 diff --git a/builddefs/show_options.mk b/builddefs/show_options.mk index 2820332d56..b30399a56c 100644 --- a/builddefs/show_options.mk +++ b/builddefs/show_options.mk @@ -57,6 +57,7 @@ OTHER_OPTION_NAMES = \    HELIX ZINC \    AUTOLOG_ENABLE \    DEBUG_ENABLE \ +  ENCODER_MAP_ENABLE \    ENCODER_ENABLE_CUSTOM \    GERMAN_ENABLE \    HAPTIC_ENABLE \ diff --git a/builddefs/testlist.mk b/builddefs/testlist.mk index 86da5668ac..b8d22bce80 100644 --- a/builddefs/testlist.mk +++ b/builddefs/testlist.mk @@ -2,6 +2,7 @@ TEST_LIST = $(sort $(patsubst %/test.mk,%, $(shell find $(ROOT_DIR)tests -type f  FULL_TESTS := $(notdir $(TEST_LIST))  include $(QUANTUM_PATH)/debounce/tests/testlist.mk +include $(QUANTUM_PATH)/encoder/tests/testlist.mk  include $(QUANTUM_PATH)/sequencer/tests/testlist.mk  include $(PLATFORM_PATH)/test/testlist.mk  | 
