diff options
author | Joel Challis <git@zvecr.com> | 2020-03-22 09:48:17 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-22 20:48:17 +1100 |
commit | d8f3c28a3786e7888fe3157c173845107c3ccc95 (patch) | |
tree | ae89818914169b118b7a8f6b09fa3d51c509176f | |
parent | eef0cb2f908d6b6e1a7b67414b95a877b7df0ebb (diff) | |
download | qmk_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.mk | 55 | ||||
-rw-r--r-- | quantum/mcu_selection.mk | 2 | ||||
-rw-r--r-- | tmk_core/chibios.mk | 29 | ||||
-rw-r--r-- | tmk_core/common.mk | 5 |
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 |
245 | endif | 245 | endif |
246 | 246 | ||
247 | ifeq ($(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 | ||
273 | endif | ||
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. |
276 | CONFIG_H := | 248 | CONFIG_H := |
277 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/config.h)","") | 249 | ifneq ("$(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 |
308 | endif | 280 | endif |
309 | 281 | ||
310 | # Save the defines and includes here, so we don't include any keymap specific ones | ||
311 | PROJECT_DEFS := $(OPT_DEFS) | ||
312 | PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS) | ||
313 | PROJECT_CONFIG := $(CONFIG_H) | ||
314 | |||
315 | # Userspace setup and definitions | 282 | # Userspace setup and definitions |
316 | ifeq ("$(USER_NAME)","") | 283 | ifeq ("$(USER_NAME)","") |
317 | USER_NAME := $(KEYMAP) | 284 | USER_NAME := $(KEYMAP) |
@@ -357,23 +324,17 @@ SRC += $(TMK_COMMON_SRC) | |||
357 | OPT_DEFS += $(TMK_COMMON_DEFS) | 324 | OPT_DEFS += $(TMK_COMMON_DEFS) |
358 | EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS) | 325 | EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS) |
359 | 326 | ||
360 | ifeq ($(PLATFORM),AVR) | 327 | include $(TMK_PATH)/$(PLATFORM_KEY).mk |
361 | ifeq ($(strip $(PROTOCOL)), VUSB) | 328 | ifneq ($(strip $(PROTOCOL)),) |
362 | include $(TMK_PATH)/protocol/vusb.mk | 329 | include $(TMK_PATH)/protocol/$(strip $(shell echo $(PROTOCOL) | tr '[:upper:]' '[:lower:]')).mk |
363 | else | 330 | else |
364 | include $(TMK_PATH)/protocol/lufa.mk | 331 | include $(TMK_PATH)/protocol/$(PLATFORM_KEY).mk |
365 | endif | ||
366 | include $(TMK_PATH)/avr.mk | ||
367 | endif | ||
368 | |||
369 | ifeq ($(PLATFORM),ARM_ATSAM) | ||
370 | include $(TMK_PATH)/arm_atsam.mk | ||
371 | include $(TMK_PATH)/protocol/arm_atsam.mk | ||
372 | endif | 332 | endif |
373 | 333 | ||
374 | ifeq ($(PLATFORM),CHIBIOS) | 334 | # TODO: remove this bodge? |
375 | include $(TMK_PATH)/protocol/chibios.mk | 335 | PROJECT_DEFS := $(OPT_DEFS) |
376 | endif | 336 | PROJECT_INC := $(VPATH) $(EXTRAINCDIRS) $(KEYBOARD_PATHS) |
337 | PROJECT_CONFIG := $(CONFIG_H) | ||
377 | 338 | ||
378 | ifeq ($(strip $(VISUALIZER_ENABLE)), yes) | 339 | ifeq ($(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)),) | |||
213 | endif | 213 | endif |
214 | 214 | ||
215 | ifneq (,$(filter $(MCU),atmega16u2 atmega32u2 atmega16u4 atmega32u4 at90usb646 at90usb1286)) | 215 | ifneq (,$(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 |
27 | OPT_OS = chibios | ||
27 | CHIBIOS = $(TOP_DIR)/lib/chibios | 28 | CHIBIOS = $(TOP_DIR)/lib/chibios |
28 | CHIBIOS_CONTRIB = $(TOP_DIR)/lib/chibios-contrib | 29 | CHIBIOS_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 | |||
49 | endif | 50 | endif |
50 | include $(PLATFORM_MK) | 51 | include $(PLATFORM_MK) |
51 | 52 | ||
53 | # Bootloader address | ||
54 | ifdef STM32_BOOTLOADER_ADDRESS | ||
55 | OPT_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS) | ||
56 | endif | ||
57 | |||
58 | ifneq ("$(wildcard $(KEYBOARD_PATH_5)/bootloader_defs.h)","") | ||
59 | OPT_DEFS += -include $(KEYBOARD_PATH_5)/bootloader_defs.h | ||
60 | else ifneq ("$(wildcard $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h)","") | ||
61 | OPT_DEFS += -include $(KEYBOARD_PATH_5)/boards/$(BOARD)/bootloader_defs.h | ||
62 | else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/bootloader_defs.h)","") | ||
63 | OPT_DEFS += -include $(KEYBOARD_PATH_4)/bootloader_defs.h | ||
64 | else ifneq ("$(wildcard $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h)","") | ||
65 | OPT_DEFS += -include $(KEYBOARD_PATH_4)/boards/$(BOARD)/bootloader_defs.h | ||
66 | else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/bootloader_defs.h)","") | ||
67 | OPT_DEFS += -include $(KEYBOARD_PATH_3)/bootloader_defs.h | ||
68 | else ifneq ("$(wildcard $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h)","") | ||
69 | OPT_DEFS += -include $(KEYBOARD_PATH_3)/boards/$(BOARD)/bootloader_defs.h | ||
70 | else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/bootloader_defs.h)","") | ||
71 | OPT_DEFS += -include $(KEYBOARD_PATH_2)/bootloader_defs.h | ||
72 | else ifneq ("$(wildcard $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h)","") | ||
73 | OPT_DEFS += -include $(KEYBOARD_PATH_2)/boards/$(BOARD)/bootloader_defs.h | ||
74 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/bootloader_defs.h)","") | ||
75 | OPT_DEFS += -include $(KEYBOARD_PATH_1)/bootloader_defs.h | ||
76 | else ifneq ("$(wildcard $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h)","") | ||
77 | OPT_DEFS += -include $(KEYBOARD_PATH_1)/boards/$(BOARD)/bootloader_defs.h | ||
78 | else ifneq ("$(wildcard $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h)","") | ||
79 | OPT_DEFS += -include $(TOP_DIR)/drivers/boards/$(BOARD)/bootloader_defs.h | ||
80 | endif | ||
52 | 81 | ||
53 | BOARD_MK := | 82 | BOARD_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 |
167 | endif | 167 | endif |
168 | 168 | ||
169 | # Bootloader address | ||
170 | ifdef STM32_BOOTLOADER_ADDRESS | ||
171 | TMK_COMMON_DEFS += -DSTM32_BOOTLOADER_ADDRESS=$(STM32_BOOTLOADER_ADDRESS) | ||
172 | endif | ||
173 | |||
174 | # Search Path | 169 | # Search Path |
175 | VPATH += $(TMK_PATH)/$(COMMON_DIR) | 170 | VPATH += $(TMK_PATH)/$(COMMON_DIR) |
176 | VPATH += $(TMK_PATH)/$(PLATFORM_COMMON_DIR) | 171 | VPATH += $(TMK_PATH)/$(PLATFORM_COMMON_DIR) |