summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2020-03-22 09:48:17 +0000
committerGitHub <noreply@github.com>2020-03-22 20:48:17 +1100
commitd8f3c28a3786e7888fe3157c173845107c3ccc95 (patch)
treeae89818914169b118b7a8f6b09fa3d51c509176f
parenteef0cb2f908d6b6e1a7b67414b95a877b7df0ebb (diff)
Align some ChibiOS build logic (#8461)
* Align some ChibiOS build logic * infer more makefile logic * Move bootloader logic to chibios file
-rw-r--r--build_keyboard.mk55
-rw-r--r--quantum/mcu_selection.mk2
-rw-r--r--tmk_core/chibios.mk29
-rw-r--r--tmk_core/common.mk5
4 files changed, 39 insertions, 52 deletions
diff --git a/build_keyboard.mk b/build_keyboard.mk
index bfadede376..4108704875 100644
--- a/build_keyboard.mk
+++ b/build_keyboard.mk
@@ -244,34 +244,6 @@ else
FIRMWARE_FORMAT?=hex
endif
-ifeq ($(PLATFORM),CHIBIOS)
- include $(TMK_PATH)/chibios.mk
- OPT_OS = chibios
- ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h
- else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h
- else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_4)/bootloader_defs.h
- else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h
- else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_3)/bootloader_defs.h
- else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h
- else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_2)/bootloader_defs.h
- else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h
- else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h
- else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","")
- OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h
- else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h)","")
- OPT_DEFS += -include $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h
- endif
-endif
-
# Find all of the config.h files and add them to our CONFIG_H define.
CONFIG_H :=
ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","")
@@ -307,11 +279,6 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_config.h)","")
POST_CONFIG_H += $(KEYBOARD_PATH_5)/post_config.h
endif
-# Save the defines and includes here, so we don't include any keymap specific ones
-PROJECT_DEFS := $(OPT_DEFS)
-PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
-PROJECT_CONFIG := $(CONFIG_H)
-
# Userspace setup and definitions
ifeq ("$(USER_NAME)","")
USER_NAME := $(KEYMAP)
@@ -357,23 +324,17 @@ SRC += $(TMK_COMMON_SRC)
OPT_DEFS += $(TMK_COMMON_DEFS)
EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS)
-ifeq ($(PLATFORM),AVR)
-ifeq ($(strip $(PROTOCOL)), VUSB)
- include $(TMK_PATH)/protocol/vusb.mk
+include $(TMK_PATH)/$(PLATFORM_KEY).mk
+ifneq ($(strip $(PROTOCOL)),)
+ include $(TMK_PATH)/protocol/$(strip $(shell echo $(PROTOCOL) | tr '[:upper:]' '[:lower:]')).mk
else
- include $(TMK_PATH)/protocol/lufa.mk
-endif
- include $(TMK_PATH)/avr.mk
-endif
-
-ifeq ($(PLATFORM),ARM_ATSAM)
- include $(TMK_PATH)/arm_atsam.mk
- include $(TMK_PATH)/protocol/arm_atsam.mk
+ include $(TMK_PATH)/protocol/$(PLATFORM_KEY).mk
endif
-ifeq ($(PLATFORM),CHIBIOS)
- include $(TMK_PATH)/protocol/chibios.mk
-endif
+# TODO: remove this bodge?
+PROJECT_DEFS := $(OPT_DEFS)
+PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
+PROJECT_CONFIG := $(CONFIG_H)
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer
diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk
index f15a4f58c0..ef7e8ae75d 100644
--- a/quantum/mcu_selection.mk
+++ b/quantum/mcu_selection.mk
@@ -213,6 +213,8 @@ ifneq ($(findstring STM32F103, $(MCU)),)
endif
ifneq (,$(filter $(MCU),atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb1286))
+ PROTOCOL = LUFA
+
# Processor frequency.
# This will define a symbol, F_CPU, in all source code files equal to the
# processor frequency in Hz. You can then use this symbol in your source code to
diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk
index b400e9e0f1..f3b4b399cc 100644
--- a/tmk_core/chibios.mk
+++ b/tmk_core/chibios.mk
@@ -24,6 +24,7 @@ endif
#
# Imported source files and paths
+OPT_OS = chibios
CHIBIOS = $(TOP_DIR)/lib/chibios
CHIBIOS_CONTRIB = $(TOP_DIR)/lib/chibios-contrib
# Startup files. Try a few different locations, for compability with old versions and
@@ -49,6 +50,34 @@ PLATFORM_MK = $(CHIBIOS_CONTRIB)/os/hal/ports/$(MCU_FAMILY)/$(MCU_SERIES)/$(PLAT
endif
include $(PLATFORM_MK)
+# Bootloader address
+ifdef STM32_BOOTLOADER_ADDRESS
+ OPT_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS)
+endif
+
+ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h
+else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h
+else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_4)/bootloader_defs.h
+else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h
+else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_3)/bootloader_defs.h
+else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h
+else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_2)/bootloader_defs.h
+else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h
+else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h
+else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h
+else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h)","")
+ OPT_DEFS += -include $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h
+endif
BOARD_MK :=
diff --git a/tmk_core/common.mk b/tmk_core/common.mk
index 3cc72a8458..4d4272d26e 100644
--- a/tmk_core/common.mk
+++ b/tmk_core/common.mk
@@ -166,11 +166,6 @@ ifeq ($(strip $(LINK_TIME_OPTIMIZATION_ENABLE)), yes)
TMK_COMMON_DEFS += -DNO_ACTION_FUNCTION
endif
-# Bootloader address
-ifdef STM32_BOOTLOADER_ADDRESS
- TMK_COMMON_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS)
-endif
-
# Search Path
VPATH += $(TMK_PATH)/$(COMMON_DIR)
VPATH += $(TMK_PATH)/$(PLATFORM_COMMON_DIR)