aboutsummaryrefslogtreecommitdiff
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)
downloadqmk_firmware-d8f3c28a3786e7888fe3157c173845107c3ccc95.tar.gz
qmk_firmware-d8f3c28a3786e7888fe3157c173845107c3ccc95.zip
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 bfadede37..410870487 100644
--- a/build_keyboard.mk
+++ b/build_keyboard.mk
@@ -244,34 +244,6 @@ else
244 FIRMWARE_FORMAT?=hex 244 FIRMWARE_FORMAT?=hex
245endif 245endif
246 246
247ifeq ($(PLATFORM),CHIBIOS)
248 include $(TMK_PATH)/chibios.mk
249 OPT_OS = chibios
250 ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","")
251 OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h
252 else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","")
253 OPT_DEFS += -include $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h
254 else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/bootloader_defs.h)","")
255 OPT_DEFS += -include $(KEYBOARD_PATH_4)/bootloader_defs.h
256 else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h)","")
257 OPT_DEFS += -include $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h
258 else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/bootloader_defs.h)","")
259 OPT_DEFS += -include $(KEYBOARD_PATH_3)/bootloader_defs.h
260 else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h)","")
261 OPT_DEFS += -include $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h
262 else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/bootloader_defs.h)","")
263 OPT_DEFS += -include $(KEYBOARD_PATH_2)/bootloader_defs.h
264 else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h)","")
265 OPT_DEFS += -include $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h
266 else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","")
267 OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h
268 else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","")
269 OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h
270 else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h)","")
271 OPT_DEFS += -include $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h
272 endif
273endif
274
275# Find all of the config.h files and add them to our CONFIG_H define. 247# Find all of the config.h files and add them to our CONFIG_H define.
276CONFIG_H := 248CONFIG_H :=
277ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","") 249ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","")
@@ -307,11 +279,6 @@ ifneq ("$(wildcard $(KEYBOARD_PATH_5)/post_config.h)","")
307 POST_CONFIG_H += $(KEYBOARD_PATH_5)/post_config.h 279 POST_CONFIG_H += $(KEYBOARD_PATH_5)/post_config.h
308endif 280endif
309 281
310# Save the defines and includes here, so we don't include any keymap specific ones
311PROJECT_DEFS := $(OPT_DEFS)
312PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
313PROJECT_CONFIG := $(CONFIG_H)
314
315# Userspace setup and definitions 282# Userspace setup and definitions
316ifeq ("$(USER_NAME)","") 283ifeq ("$(USER_NAME)","")
317 USER_NAME := $(KEYMAP) 284 USER_NAME := $(KEYMAP)
@@ -357,23 +324,17 @@ SRC += $(TMK_COMMON_SRC)
357OPT_DEFS += $(TMK_COMMON_DEFS) 324OPT_DEFS += $(TMK_COMMON_DEFS)
358EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS) 325EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS)
359 326
360ifeq ($(PLATFORM),AVR) 327include $(TMK_PATH)/$(PLATFORM_KEY).mk
361ifeq ($(strip $(PROTOCOL)), VUSB) 328ifneq ($(strip $(PROTOCOL)),)
362 include $(TMK_PATH)/protocol/vusb.mk 329 include $(TMK_PATH)/protocol/$(strip $(shell echo $(PROTOCOL) | tr '[:upper:]' '[:lower:]')).mk
363else 330else
364 include $(TMK_PATH)/protocol/lufa.mk 331 include $(TMK_PATH)/protocol/$(PLATFORM_KEY).mk
365endif
366 include $(TMK_PATH)/avr.mk
367endif
368
369ifeq ($(PLATFORM),ARM_ATSAM)
370 include $(TMK_PATH)/arm_atsam.mk
371 include $(TMK_PATH)/protocol/arm_atsam.mk
372endif 332endif
373 333
374ifeq ($(PLATFORM),CHIBIOS) 334# TODO: remove this bodge?
375 include $(TMK_PATH)/protocol/chibios.mk 335PROJECT_DEFS := $(OPT_DEFS)
376endif 336PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS)
337PROJECT_CONFIG := $(CONFIG_H)
377 338
378ifeq ($(strip $(VISUALIZER_ENABLE)), yes) 339ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
379 VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer 340 VISUALIZER_DIR = $(QUANTUM_DIR)/visualizer
diff --git a/quantum/mcu_selection.mk b/quantum/mcu_selection.mk
index f15a4f58c..ef7e8ae75 100644
--- a/quantum/mcu_selection.mk
+++ b/quantum/mcu_selection.mk
@@ -213,6 +213,8 @@ ifneq ($(findstring STM32F103, $(MCU)),)
213endif 213endif
214 214
215ifneq (,$(filter $(MCU),atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb1286)) 215ifneq (,$(filter $(MCU),atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb1286))
216 PROTOCOL = LUFA
217
216 # Processor frequency. 218 # Processor frequency.
217 # This will define a symbol, F_CPU, in all source code files equal to the 219 # This will define a symbol, F_CPU, in all source code files equal to the
218 # processor frequency in Hz. You can then use this symbol in your source code to 220 # 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 b400e9e0f..f3b4b399c 100644
--- a/tmk_core/chibios.mk
+++ b/tmk_core/chibios.mk
@@ -24,6 +24,7 @@ endif
24# 24#
25 25
26# Imported source files and paths 26# Imported source files and paths
27OPT_OS = chibios
27CHIBIOS = $(TOP_DIR)/lib/chibios 28CHIBIOS = $(TOP_DIR)/lib/chibios
28CHIBIOS_CONTRIB = $(TOP_DIR)/lib/chibios-contrib 29CHIBIOS_CONTRIB = $(TOP_DIR)/lib/chibios-contrib
29# Startup files. Try a few different locations, for compability with old versions and 30# 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
49endif 50endif
50include $(PLATFORM_MK) 51include $(PLATFORM_MK)
51 52
53# Bootloader address
54ifdef STM32_BOOTLOADER_ADDRESS
55 OPT_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS)
56endif
57
58ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","")
59 OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h
60else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","")
61 OPT_DEFS += -include $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h
62else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/bootloader_defs.h)","")
63 OPT_DEFS += -include $(KEYBOARD_PATH_4)/bootloader_defs.h
64else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h)","")
65 OPT_DEFS += -include $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h
66else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/bootloader_defs.h)","")
67 OPT_DEFS += -include $(KEYBOARD_PATH_3)/bootloader_defs.h
68else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h)","")
69 OPT_DEFS += -include $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h
70else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/bootloader_defs.h)","")
71 OPT_DEFS += -include $(KEYBOARD_PATH_2)/bootloader_defs.h
72else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h)","")
73 OPT_DEFS += -include $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h
74else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","")
75 OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h
76else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","")
77 OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h
78else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h)","")
79 OPT_DEFS += -include $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h
80endif
52 81
53BOARD_MK := 82BOARD_MK :=
54 83
diff --git a/tmk_core/common.mk b/tmk_core/common.mk
index 3cc72a845..4d4272d26 100644
--- a/tmk_core/common.mk
+++ b/tmk_core/common.mk
@@ -166,11 +166,6 @@ ifeq ($(strip $(LINK_TIME_OPTIMIZATION_ENABLE)), yes)
166 TMK_COMMON_DEFS += -DNO_ACTION_FUNCTION 166 TMK_COMMON_DEFS += -DNO_ACTION_FUNCTION
167endif 167endif
168 168
169# Bootloader address
170ifdef STM32_BOOTLOADER_ADDRESS
171 TMK_COMMON_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS)
172endif
173
174# Search Path 169# Search Path
175VPATH += $(TMK_PATH)/$(COMMON_DIR) 170VPATH += $(TMK_PATH)/$(COMMON_DIR)
176VPATH += $(TMK_PATH)/$(PLATFORM_COMMON_DIR) 171VPATH += $(TMK_PATH)/$(PLATFORM_COMMON_DIR)