aboutsummaryrefslogtreecommitdiff
path: root/common_features.mk
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2020-01-04 20:29:44 +0000
committerGitHub <noreply@github.com>2020-01-04 20:29:44 +0000
commitdcb7ca3f7910420cfa85ba659d48285b3633a978 (patch)
treed571ff362775734c533ed5b9d1982c62a609d20b /common_features.mk
parentc1feeaa57f28c781e39996e5d4eea3a31f083439 (diff)
downloadqmk_firmware-dcb7ca3f7910420cfa85ba659d48285b3633a978.tar.gz
qmk_firmware-dcb7ca3f7910420cfa85ba659d48285b3633a978.zip
Move some common matrix code to a common location (#7699)
* Move some common matrix code to a common location * Refactor some 'custom_matrix_helper' logic to use custom matrix lite * Fix build for kinesis/stapelberg - abuse of vpath was picking up matrix.c from core when custom matrix was enabled * Add validation for CUSTOM_MATRIX
Diffstat (limited to 'common_features.mk')
-rw-r--r--common_features.mk26
1 files changed, 21 insertions, 5 deletions
diff --git a/common_features.mk b/common_features.mk
index 92b24bb20..67c64b425 100644
--- a/common_features.mk
+++ b/common_features.mk
@@ -374,12 +374,28 @@ QUANTUM_SRC:= \
374 $(QUANTUM_DIR)/keymap_common.c \ 374 $(QUANTUM_DIR)/keymap_common.c \
375 $(QUANTUM_DIR)/keycode_config.c 375 $(QUANTUM_DIR)/keycode_config.c
376 376
377# Include the standard or split matrix code if needed 377
378
379VALID_CUSTOM_MATRIX_TYPES:= yes lite no
380
381CUSTOM_MATRIX ?= no
382
378ifneq ($(strip $(CUSTOM_MATRIX)), yes) 383ifneq ($(strip $(CUSTOM_MATRIX)), yes)
379 ifeq ($(strip $(SPLIT_KEYBOARD)), yes) 384 ifeq ($(filter $(CUSTOM_MATRIX),$(VALID_CUSTOM_MATRIX_TYPES)),)
380 QUANTUM_SRC += $(QUANTUM_DIR)/split_common/matrix.c 385 $(error CUSTOM_MATRIX="$(CUSTOM_MATRIX)" is not a valid custom matrix type)
381 else 386 endif
382 QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c 387
388 # Include common stuff for all non custom matrix users
389 QUANTUM_SRC += $(QUANTUM_DIR)/matrix_common.c
390
391 # if 'lite' then skip the actual matrix implementation
392 ifneq ($(strip $(CUSTOM_MATRIX)), lite)
393 # Include the standard or split matrix code if needed
394 ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
395 QUANTUM_SRC += $(QUANTUM_DIR)/split_common/matrix.c
396 else
397 QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c
398 endif
383 endif 399 endif
384endif 400endif
385 401