ifeq ($(strip $(RGBLIGHT_CUSTOM_DRIVER)), yes)
OPT_DEFS += -DRGBLIGHT_CUSTOM_DRIVER
else
- SRC += ws2812.c
+ WS2812_DRIVER_REQUIRED = yes
endif
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)
BACKLIGHT_ENABLE = custom
endif
-VALID_BACKLIGHT_TYPES := yes custom
+VALID_BACKLIGHT_TYPES := yes software custom
BACKLIGHT_ENABLE ?= no
ifneq ($(strip $(BACKLIGHT_ENABLE)), no)
CIE1931_CURVE = yes
endif
- ifeq ($(strip $(BACKLIGHT_ENABLE)), custom)
- 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
- ifeq ($(PLATFORM),AVR)
- SRC += $(QUANTUM_DIR)/backlight/backlight_avr.c
+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 += $(QUANTUM_DIR)/backlight/backlight_arm.c
+ SRC += ws2812_$(strip $(WS2812_DRIVER)).c
+ endif
+
+ # add extra deps
+ ifeq ($(strip $(WS2812_DRIVER)), i2c)
+ QUANTUM_LIB_SRC += i2c_master.c
endif
endif
OPT_DEFS += -DSPACE_CADET_ENABLE
endif
+MAGIC_ENABLE ?= yes
+ifeq ($(strip $(MAGIC_ENABLE)), yes)
+ SRC += $(QUANTUM_DIR)/process_keycode/process_magic.c
+ OPT_DEFS += -DMAGIC_KEYCODE_ENABLE
+endif
+
+ifeq ($(strip $(DYNAMIC_MACRO_ENABLE)), yes)
+ SRC += $(QUANTUM_DIR)/process_keycode/process_dynamic_macro.c
+ OPT_DEFS += -DDYNAMIC_MACRO_ENABLE
+endif
ifeq ($(strip $(DIP_SWITCH_ENABLE)), yes)
SRC += $(QUANTUM_DIR)/dip_switch.c