aboutsummaryrefslogtreecommitdiff
path: root/common_features.mk
diff options
context:
space:
mode:
Diffstat (limited to 'common_features.mk')
-rw-r--r--common_features.mk82
1 files changed, 51 insertions, 31 deletions
diff --git a/common_features.mk b/common_features.mk
index f4f79000b..3c956b7aa 100644
--- a/common_features.mk
+++ b/common_features.mk
@@ -13,8 +13,6 @@
13# You should have received a copy of the GNU General Public License 13# You should have received a copy of the GNU General Public License
14# along with this program. If not, see <http://www.gnu.org/licenses/>. 14# along with this program. If not, see <http://www.gnu.org/licenses/>.
15 15
16SERIAL_PATH := $(QUANTUM_PATH)/serial_link
17
18QUANTUM_SRC += \ 16QUANTUM_SRC += \
19 $(QUANTUM_DIR)/quantum.c \ 17 $(QUANTUM_DIR)/quantum.c \
20 $(QUANTUM_DIR)/send_string.c \ 18 $(QUANTUM_DIR)/send_string.c \
@@ -29,6 +27,7 @@ QUANTUM_SRC += \
29 $(QUANTUM_DIR)/keyboard.c \ 27 $(QUANTUM_DIR)/keyboard.c \
30 $(QUANTUM_DIR)/keymap_common.c \ 28 $(QUANTUM_DIR)/keymap_common.c \
31 $(QUANTUM_DIR)/keycode_config.c \ 29 $(QUANTUM_DIR)/keycode_config.c \
30 $(QUANTUM_DIR)/usb_device_state.c \
32 $(QUANTUM_DIR)/logging/debug.c \ 31 $(QUANTUM_DIR)/logging/debug.c \
33 $(QUANTUM_DIR)/logging/sendchar.c \ 32 $(QUANTUM_DIR)/logging/sendchar.c \
34 33
@@ -45,14 +44,6 @@ else ifeq ($(strip $(DEBUG_MATRIX_SCAN_RATE_ENABLE)), api)
45 OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE 44 OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
46endif 45endif
47 46
48ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
49 OPT_DEFS += -DAPI_SYSEX_ENABLE
50 OPT_DEFS += -DAPI_ENABLE
51 MIDI_ENABLE=yes
52 SRC += $(QUANTUM_DIR)/api/api_sysex.c
53 SRC += $(QUANTUM_DIR)/api.c
54endif
55
56ifeq ($(strip $(COMMAND_ENABLE)), yes) 47ifeq ($(strip $(COMMAND_ENABLE)), yes)
57 SRC += $(QUANTUM_DIR)/command.c 48 SRC += $(QUANTUM_DIR)/command.c
58 OPT_DEFS += -DCOMMAND_ENABLE 49 OPT_DEFS += -DCOMMAND_ENABLE
@@ -82,7 +73,7 @@ ifeq ($(strip $(AUDIO_ENABLE)), yes)
82 SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c 73 SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c
83 SRC += $(QUANTUM_DIR)/process_keycode/process_clicky.c 74 SRC += $(QUANTUM_DIR)/process_keycode/process_clicky.c
84 SRC += $(QUANTUM_DIR)/audio/audio.c ## common audio code, hardware agnostic 75 SRC += $(QUANTUM_DIR)/audio/audio.c ## common audio code, hardware agnostic
85 SRC += $(QUANTUM_DIR)/audio/driver_$(PLATFORM_KEY)_$(strip $(AUDIO_DRIVER)).c 76 SRC += $(PLATFORM_PATH)/$(PLATFORM_KEY)/$(DRIVER_DIR)/audio_$(strip $(AUDIO_DRIVER)).c
86 SRC += $(QUANTUM_DIR)/audio/voices.c 77 SRC += $(QUANTUM_DIR)/audio/voices.c
87 SRC += $(QUANTUM_DIR)/audio/luts.c 78 SRC += $(QUANTUM_DIR)/audio/luts.c
88endif 79endif
@@ -127,6 +118,12 @@ ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
127 SRC += $(QUANTUM_DIR)/pointing_device.c 118 SRC += $(QUANTUM_DIR)/pointing_device.c
128endif 119endif
129 120
121ifeq ($(strip $(PROGRAMMABLE_BUTTON_ENABLE)), yes)
122 OPT_DEFS += -DPROGRAMMABLE_BUTTON_ENABLE
123 SRC += $(QUANTUM_DIR)/programmable_button.c
124 SRC += $(QUANTUM_DIR)/process_keycode/process_programmable_button.c
125endif
126
130VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi 127VALID_EEPROM_DRIVER_TYPES := vendor custom transient i2c spi
131EEPROM_DRIVER ?= vendor 128EEPROM_DRIVER ?= vendor
132ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),) 129ifeq ($(filter $(EEPROM_DRIVER),$(VALID_EEPROM_DRIVER_TYPES)),)
@@ -157,31 +154,45 @@ else
157 # Automatically provided by avr-libc, nothing required 154 # Automatically provided by avr-libc, nothing required
158 else ifeq ($(PLATFORM),CHIBIOS) 155 else ifeq ($(PLATFORM),CHIBIOS)
159 ifeq ($(MCU_SERIES), STM32F3xx) 156 ifeq ($(MCU_SERIES), STM32F3xx)
157 OPT_DEFS += -DEEPROM_DRIVER
158 COMMON_VPATH += $(DRIVER_PATH)/eeprom
159 SRC += eeprom_driver.c
160 SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c 160 SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
161 SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c 161 SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
162 OPT_DEFS += -DEEPROM_EMU_STM32F303xC 162 OPT_DEFS += -DEEPROM_EMU_STM32F303xC
163 OPT_DEFS += -DSTM32_EEPROM_ENABLE
164 else ifeq ($(MCU_SERIES), STM32F1xx) 163 else ifeq ($(MCU_SERIES), STM32F1xx)
164 OPT_DEFS += -DEEPROM_DRIVER
165 COMMON_VPATH += $(DRIVER_PATH)/eeprom
166 SRC += eeprom_driver.c
165 SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c 167 SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
166 SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c 168 SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
167 OPT_DEFS += -DEEPROM_EMU_STM32F103xB 169 OPT_DEFS += -DEEPROM_EMU_STM32F103xB
168 OPT_DEFS += -DSTM32_EEPROM_ENABLE
169 else ifeq ($(MCU_SERIES)_$(MCU_LDSCRIPT), STM32F0xx_STM32F072xB) 170 else ifeq ($(MCU_SERIES)_$(MCU_LDSCRIPT), STM32F0xx_STM32F072xB)
171 OPT_DEFS += -DEEPROM_DRIVER
172 COMMON_VPATH += $(DRIVER_PATH)/eeprom
173 SRC += eeprom_driver.c
170 SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c 174 SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
171 SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c 175 SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
172 OPT_DEFS += -DEEPROM_EMU_STM32F072xB 176 OPT_DEFS += -DEEPROM_EMU_STM32F072xB
173 OPT_DEFS += -DSTM32_EEPROM_ENABLE 177 else ifneq ($(filter $(MCU_SERIES)_$(MCU_LDSCRIPT),STM32F4xx_STM32F401xC STM32F4xx_STM32F411xE STM32F4xx_STM32F405xG),)
178 OPT_DEFS += -DEEPROM_DRIVER
179 COMMON_VPATH += $(DRIVER_PATH)/eeprom
180 SRC += eeprom_driver.c
181 SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
182 SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
183 OPT_DEFS += -DEEPROM_EMU_STM32F401xC
174 else ifeq ($(MCU_SERIES)_$(MCU_LDSCRIPT), STM32F0xx_STM32F042x6) 184 else ifeq ($(MCU_SERIES)_$(MCU_LDSCRIPT), STM32F0xx_STM32F042x6)
175
176 # Stack sizes: Since this chip has limited RAM capacity, the stack area needs to be reduced. 185 # Stack sizes: Since this chip has limited RAM capacity, the stack area needs to be reduced.
177 # This ensures that the EEPROM page buffer fits into RAM 186 # This ensures that the EEPROM page buffer fits into RAM
178 USE_PROCESS_STACKSIZE = 0x600 187 USE_PROCESS_STACKSIZE = 0x600
179 USE_EXCEPTIONS_STACKSIZE = 0x300 188 USE_EXCEPTIONS_STACKSIZE = 0x300
180 189
190 OPT_DEFS += -DEEPROM_DRIVER
191 COMMON_VPATH += $(DRIVER_PATH)/eeprom
192 SRC += eeprom_driver.c
181 SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c 193 SRC += $(PLATFORM_COMMON_DIR)/eeprom_stm32.c
182 SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c 194 SRC += $(PLATFORM_COMMON_DIR)/flash_stm32.c
183 OPT_DEFS += -DEEPROM_EMU_STM32F042x6 195 OPT_DEFS += -DEEPROM_EMU_STM32F042x6
184 OPT_DEFS += -DSTM32_EEPROM_ENABLE
185 else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),) 196 else ifneq ($(filter $(MCU_SERIES),STM32L0xx STM32L1xx),)
186 OPT_DEFS += -DEEPROM_DRIVER 197 OPT_DEFS += -DEEPROM_DRIVER
187 COMMON_VPATH += $(DRIVER_PATH)/eeprom 198 COMMON_VPATH += $(DRIVER_PATH)/eeprom
@@ -350,17 +361,6 @@ ifeq ($(strip $(PRINTING_ENABLE)), yes)
350 SRC += $(TMK_DIR)/protocol/serial_uart.c 361 SRC += $(TMK_DIR)/protocol/serial_uart.c
351endif 362endif
352 363
353ifeq ($(strip $(SERIAL_LINK_ENABLE)), yes)
354 SERIAL_SRC := $(wildcard $(SERIAL_PATH)/protocol/*.c)
355 SERIAL_SRC += $(wildcard $(SERIAL_PATH)/system/*.c)
356 SERIAL_DEFS += -DSERIAL_LINK_ENABLE
357 COMMON_VPATH += $(SERIAL_PATH)
358
359 SRC += $(patsubst $(QUANTUM_PATH)/%,%,$(SERIAL_SRC))
360 OPT_DEFS += $(SERIAL_DEFS)
361 VAPTH += $(SERIAL_PATH)
362endif
363
364VARIABLE_TRACE ?= no 364VARIABLE_TRACE ?= no
365ifneq ($(strip $(VARIABLE_TRACE)),no) 365ifneq ($(strip $(VARIABLE_TRACE)),no)
366 SRC += $(QUANTUM_DIR)/variable_trace.c 366 SRC += $(QUANTUM_DIR)/variable_trace.c
@@ -437,10 +437,6 @@ ifeq ($(strip $(APA102_DRIVER_REQUIRED)), yes)
437 SRC += apa102.c 437 SRC += apa102.c
438endif 438endif
439 439
440ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
441 CIE1931_CURVE := yes
442endif
443
444ifeq ($(strip $(CIE1931_CURVE)), yes) 440ifeq ($(strip $(CIE1931_CURVE)), yes)
445 OPT_DEFS += -DUSE_CIE1931_CURVE 441 OPT_DEFS += -DUSE_CIE1931_CURVE
446 LED_TABLES := yes 442 LED_TABLES := yes
@@ -745,3 +741,27 @@ ifeq ($(strip $(USBPD_ENABLE)), yes)
745 endif 741 endif
746 endif 742 endif
747endif 743endif
744
745BLUETOOTH_ENABLE ?= no
746VALID_BLUETOOTH_DRIVER_TYPES := AdafruitBLE RN42 custom
747ifeq ($(strip $(BLUETOOTH_ENABLE)), yes)
748 ifeq ($(filter $(strip $(BLUETOOTH_DRIVER)),$(VALID_BLUETOOTH_DRIVER_TYPES)),)
749 $(error "$(BLUETOOTH_DRIVER)" is not a valid Bluetooth driver type)
750 endif
751 OPT_DEFS += -DBLUETOOTH_ENABLE
752 NO_USB_STARTUP_CHECK := yes
753 COMMON_VPATH += $(DRIVER_PATH)/bluetooth
754 SRC += outputselect.c
755
756 ifeq ($(strip $(BLUETOOTH_DRIVER)), AdafruitBLE)
757 OPT_DEFS += -DMODULE_ADAFRUIT_BLE
758 SRC += analog.c
759 SRC += $(DRIVER_PATH)/bluetooth/adafruit_ble.cpp
760 QUANTUM_LIB_SRC += spi_master.c
761 endif
762
763 ifeq ($(strip $(BLUETOOTH_DRIVER)), RN42)
764 OPT_DEFS += -DMODULE_RN42
765 SRC += $(TMK_DIR)/protocol/serial_uart.c
766 endif
767endif