diff options
author | Joel Challis <git@zvecr.com> | 2020-01-04 20:29:44 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-04 20:29:44 +0000 |
commit | dcb7ca3f7910420cfa85ba659d48285b3633a978 (patch) | |
tree | d571ff362775734c533ed5b9d1982c62a609d20b /common_features.mk | |
parent | c1feeaa57f28c781e39996e5d4eea3a31f083439 (diff) | |
download | qmk_firmware-dcb7ca3f7910420cfa85ba659d48285b3633a978.tar.gz |
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.mk | 26 |
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:= \ $(QUANTUM_DIR)/keymap_common.c \ $(QUANTUM_DIR)/keycode_config.c -# Include the standard or split matrix code if needed + + +VALID_CUSTOM_MATRIX_TYPES:= yes lite no + +CUSTOM_MATRIX ?= no + ifneq ($(strip $(CUSTOM_MATRIX)), yes) - ifeq ($(strip $(SPLIT_KEYBOARD)), yes) - QUANTUM_SRC += $(QUANTUM_DIR)/split_common/matrix.c - else - QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c + ifeq ($(filter $(CUSTOM_MATRIX),$(VALID_CUSTOM_MATRIX_TYPES)),) + $(error CUSTOM_MATRIX="$(CUSTOM_MATRIX)" is not a valid custom matrix type) + endif + + # Include common stuff for all non custom matrix users + QUANTUM_SRC += $(QUANTUM_DIR)/matrix_common.c + + # if 'lite' then skip the actual matrix implementation + ifneq ($(strip $(CUSTOM_MATRIX)), lite) + # Include the standard or split matrix code if needed + ifeq ($(strip $(SPLIT_KEYBOARD)), yes) + QUANTUM_SRC += $(QUANTUM_DIR)/split_common/matrix.c + else + QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c + endif endif endif |