diff options
Diffstat (limited to 'common_features.mk')
-rw-r--r-- | common_features.mk | 84 |
1 files changed, 71 insertions, 13 deletions
diff --git a/common_features.mk b/common_features.mk index 3296424a1..e50207b0b 100644 --- a/common_features.mk +++ b/common_features.mk @@ -112,7 +112,7 @@ ifeq ($(strip $(RGBLIGHT_ENABLE)), yes) ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes) OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER else - SRC += ws2812.c + WS2812_DRIVER_REQUIRED = yes endif endif @@ -176,7 +176,7 @@ endif ifeq ($(strip $(RGB_MATRIX_ENABLE)), WS2812) OPT_DEFS += -DWS2812 - SRC += ws2812.c + WS2812_DRIVER_REQUIRED = yes endif ifeq ($(strip $(RGB_MATRIX_CUSTOM_KB)), yes) @@ -229,12 +229,59 @@ ifeq ($(strip $(LCD_ENABLE)), yes) CIE1931_CURVE = yes endif -ifeq ($(strip $(BACKLIGHT_ENABLE)), yes) +# backward compat +ifeq ($(strip $(BACKLIGHT_CUSTOM_DRIVER)), yes) + BACKLIGHT_ENABLE = custom +endif + +VALID_BACKLIGHT_TYPES := yes software custom + +BACKLIGHT_ENABLE ?= no +ifneq ($(strip $(BACKLIGHT_ENABLE)), no) + ifeq ($(filter $(BACKLIGHT_ENABLE),$(VALID_BACKLIGHT_TYPES)),) + $(error BACKLIGHT_ENABLE="$(BACKLIGHT_ENABLE)" is not a valid backlight type) + endif + ifeq ($(strip $(VISUALIZER_ENABLE)), yes) CIE1931_CURVE = yes endif - ifeq ($(strip $(BACKLIGHT_CUSTOM_DRIVER)), yes) - OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER + + COMMON_VPATH += $(QUANTUM_DIR)/backlight + SRC += $(QUANTUM_DIR)/backlight/backlight.c + OPT_DEFS += -DBACKLIGHT_ENABLE + + ifeq ($(strip $(BACKLIGHT_ENABLE)), software) + SRC += $(QUANTUM_DIR)/backlight/backlight_soft.c + else + ifeq ($(strip $(BACKLIGHT_ENABLE)), custom) + OPT_DEFS += -DBACKLIGHT_CUSTOM_DRIVER + endif + + ifeq ($(PLATFORM),AVR) + SRC += $(QUANTUM_DIR)/backlight/backlight_avr.c + else + SRC += $(QUANTUM_DIR)/backlight/backlight_arm.c + endif + endif +endif + +VALID_WS2812_DRIVER_TYPES := bitbang pwm spi i2c + +WS2812_DRIVER ?= bitbang +ifeq ($(strip $(WS2812_DRIVER_REQUIRED)), yes) + ifeq ($(filter $(WS2812_DRIVER),$(VALID_WS2812_DRIVER_TYPES)),) + $(error WS2812_DRIVER="$(WS2812_DRIVER)" is not a valid WS2812 driver) + endif + + ifeq ($(strip $(WS2812_DRIVER)), bitbang) + SRC += ws2812.c + else + SRC += ws2812_$(strip $(WS2812_DRIVER)).c + endif + + # add extra deps + ifeq ($(strip $(WS2812_DRIVER)), i2c) + QUANTUM_LIB_SRC += i2c_master.c endif endif @@ -267,20 +314,21 @@ ifeq ($(strip $(ENCODER_ENABLE)), yes) OPT_DEFS += -DENCODER_ENABLE endif -ifeq ($(strip $(HAPTIC_ENABLE)), DRV2605L) - COMMON_VPATH += $(DRIVER_PATH)/haptic - SRC += haptic.c +HAPTIC_ENABLE ?= no +ifneq ($(strip $(HAPTIC_ENABLE)),no) + COMMON_VPATH += $(DRIVER_PATH)/haptic + SRC += haptic.c + OPT_DEFS += -DHAPTIC_ENABLE +endif + +ifneq ($(filter DRV2605L, $(HAPTIC_ENABLE)), ) SRC += DRV2605L.c QUANTUM_LIB_SRC += i2c_master.c - OPT_DEFS += -DHAPTIC_ENABLE OPT_DEFS += -DDRV2605L endif -ifeq ($(strip $(HAPTIC_ENABLE)), SOLENOID) - COMMON_VPATH += $(DRIVER_PATH)/haptic - SRC += haptic.c +ifneq ($(filter SOLENOID, $(HAPTIC_ENABLE)), ) SRC += solenoid.c - OPT_DEFS += -DHAPTIC_ENABLE OPT_DEFS += -DSOLENOID_ENABLE endif @@ -358,3 +406,13 @@ ifeq ($(strip $(SPACE_CADET_ENABLE)), yes) SRC += $(QUANTUM_DIR)/process_keycode/process_space_cadet.c OPT_DEFS += -DSPACE_CADET_ENABLE endif + +ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes) + SRC += $(QUANTUM_DIR)/dip_switch.c + OPT_DEFS += -DDIP_SWITCH_ENABLE +endif + +ifeq ($(strip $(DYNAMIC_MACRO_ENABLE)), yes) + SRC += $(QUANTUM_DIR)/process_keycode/process_dynamic_macro.c + OPT_DEFS += -DDYNAMIC_MACRO_ENABLE +endif |