keychron_qmk_firmware/users/drashna/rules.mk
Drashna Jaelre 4a87af0e9a
[Keymap] Drashna updates for 0.19 (#19175)
* Fix up bastardkb boards since blackpill support is officially added.
  * Check for blackpill version, not elite c.
  * Add checks in chibiOS config since multiple ARM controllers supported.
  * Rework rules.mk for keymaps to better handle arm vs avr support
* Start moving away from `matrix_*_*` functions.
  * `housekeeping_task_*` instead of `matrix_scan_*`
  * `keyboard_(pre|post)_init_*` instead of `matrix_init_*` 
* Add ℂℴmⅈℂ unicode input method.
* Clean up unicode code to be more compact and flexible.
* Remove/move Pro Micro LED commands to userspace and better filter them
* Fixup OLED code
  * Use newer quantum keycode functions/preprocessors rather than manual bit manipulation
  * Make unicode mode render much more compact/simple.
* Make qmk secrets more self contained
* Remove custom implementation of split watchdog
2022-11-29 11:43:42 -08:00

141 lines
3.9 KiB
Makefile

SRC += $(USER_PATH)/drashna.c \
$(USER_PATH)/callbacks.c \
$(USER_PATH)/keyrecords/process_records.c \
$(USER_PATH)/keyrecords/tapping.c
# TOP_SYMBOLS = yes
ifneq ($(PLATFORM),CHIBIOS)
ifneq ($(strip $(LTO_SUPPORTED)), no)
LTO_ENABLE = yes
endif
SPACE_CADET_ENABLE = no
GRAVE_ESC_ENABLE = no
endif
# DEBUG_MATRIX_SCAN_RATE_ENABLE = api
ifneq ($(strip $(NO_SECRETS)), yes)
ifneq ("$(wildcard $(USER_PATH)/../../../qmk_secrets/secrets.c)","")
SRC += $(USER_PATH)/../../../qmk_secrets/secrets.c
$(shell touch $(USER_PATH)/../../../qmk_secrets/secrets.c)
SECURE_ENABLE = yes
endif
ifeq ($(strip $(NO_SECRETS)), lite)
OPT_DEFS += -DNO_SECRETS
endif
endif
ifeq ($(strip $(MAKE_BOOTLOADER)), yes)
OPT_DEFS += -DMAKE_BOOTLOADER
endif
# At least until build.mk or the like drops, this is here to prevent
# VUSB boards from enabling NKRO, as they do not support it. Ideally
# this should be handled per keyboard, but until that happens ...
ifeq ($(strip $(PROTOCOL)), VUSB)
NKRO_ENABLE := no
endif
ifeq ($(strip $(PER_KEY_TAPPING)), yes)
OPT_DEFS += -DPER_KEY_TAPPING
endif
CUSTOM_UNICODE_ENABLE ?= yes
ifeq ($(strip $(CUSTOM_UNICODE_ENABLE)), yes)
UNICODE_ENABLE := no
UNICODEMAP_ENABLE := no
UCIS_ENABLE := no
UNICODE_COMMON := yes
OPT_DEFS += -DCUSTOM_UNICODE_ENABLE
SRC += $(USER_PATH)/keyrecords/unicode.c
endif
CUSTOM_TAP_DANCE ?= yes
ifeq ($(strip $(CUSTOM_TAP_DANCE)), yes)
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
SRC += $(USER_PATH)/keyrecords/tap_dances.c
endif
endif
CUSTOM_RGBLIGHT ?= yes
ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
ifeq ($(strip $(CUSTOM_RGBLIGHT)), yes)
SRC += $(USER_PATH)/rgb/rgb_stuff.c
OPT_DEFS += -DCUSTOM_RGBLIGHT
ifeq ($(strip $(RGBLIGHT_NOEEPROM)), yes)
OPT_DEFS += -DRGBLIGHT_NOEEPROM
endif
ifeq ($(strip $(RGBLIGHT_STARTUP_ANIMATION)), yes)
OPT_DEFS += -DRGBLIGHT_STARTUP_ANIMATION
DEFERRED_EXEC_ENABLE = yes
endif
endif
endif
CUSTOM_RGB_MATRIX ?= yes
ifeq ($(strip $(RGB_MATRIX_ENABLE)), yes)
ifeq ($(strip $(CUSTOM_RGB_MATRIX)), yes)
SRC += $(USER_PATH)/rgb/rgb_matrix_stuff.c
OPT_DEFS += -DCUSTOM_RGB_MATRIX
endif
endif
KEYLOGGER_ENABLE ?= no
ifdef CONSOLE_ENABLE
ifeq ($(strip $(KEYLOGGER_ENABLE)), yes)
OPT_DEFS += -DKEYLOGGER_ENABLE
endif
endif
ifeq ($(strip $(I2C_SCANNER_ENABLE)), yes)
OPT_DEFS += -DI2C_SCANNER_ENABLE
CONSOLE_ENABLE := yes
endif
CUSTOM_OLED_DRIVER ?= yes
ifeq ($(strip $(OLED_ENABLE)), yes)
ifeq ($(strip $(OLED_DRIVER)), custom)
OPT_DEFS += -DOLED_ENABLE \
-DOLED_DRIVER_SH1107
SRC += $(USER_PATH)/oled/sh110x.c
QUANTUM_LIB_SRC += i2c_master.c
endif
ifeq ($(strip $(CUSTOM_OLED_DRIVER)), yes)
OPT_DEFS += -DCUSTOM_OLED_DRIVER
SRC += $(USER_PATH)/oled/oled_stuff.c
endif
ifeq ($(strip $(OLED_DISPLAY_TEST)), yes)
OPT_DEFS += -DOLED_DISPLAY_TEST
endif
DEFERRED_EXEC_ENABLE = yes
endif
CUSTOM_POINTING_DEVICE ?= yes
ifeq ($(strip $(POINTING_DEVICE_ENABLE)), yes)
ifeq ($(strip $(CUSTOM_POINTING_DEVICE)), yes)
SRC += $(USER_PATH)/pointing/pointing.c
OPT_DEFS += -DCUSTOM_POINTING_DEVICE
OPT_DEFS += -DPOINTING_DEVICE_AUTO_MOUSE_ENABLE
endif
endif
CUSTOM_SPLIT_TRANSPORT_SYNC ?= yes
ifeq ($(strip $(CUSTOM_SPLIT_TRANSPORT_SYNC)), yes)
ifeq ($(strip $(SPLIT_KEYBOARD)), yes)
QUANTUM_LIB_SRC += $(USER_PATH)/split/transport_sync.c
OPT_DEFS += -DCUSTOM_SPLIT_TRANSPORT_SYNC
endif
endif
ifeq ($(strip $(AUTOCORRECTION_ENABLE)), yes)
AUTOCORRECT_ENABLE = yes
endif
CUSTOM_BOOTMAGIC_ENABLE ?= yes
ifeq ($(strip $(CUSTOM_BOOTMAGIC_ENABLE)), yes)
ifeq ($(strip $(BOOTMAGIC_ENABLE)), yes)
SRC += bootmagic_better.c
endif
endif