skylark-qmk/users/bcat/rules.mk
2022-05-30 22:38:08 -07:00

68 lines
2.2 KiB
Makefile

# Enable Bootmagic Lite for keyboards that don't have an easily accessible
# reset button, but keep it disabled for all others to reduce firmware size.
ifneq ($(filter $(strip $(KEYBOARD)),ai03/polaris dz60 kbdfans/kbd67/hotswap yanghu/unicorne/f411),)
BOOTMAGIC_ENABLE = yes
else
BOOTMAGIC_ENABLE = no
endif
# Enable media keys on all keyboards.
EXTRAKEY_ENABLE = yes
# Enable N-key rollover on all keyboards. In addition to its intended
# functionality, as of July 2020, this is required for Chrome OS to process
# media keys. (It appears that Chrome OS filters out key events from the second
# USB endpoint's consumer and system control devices unless that endpoint also
# reports a keyboard or mouse device.)
NKRO_ENABLE = yes
# Enable link-time optimization to reduce binary size.
LTO_ENABLE = yes
# Include common utilities shared across all our keymaps.
SRC += bcat.c
# Include additional utilities that extend optional QMK features only enabled
# on some keyboards.
ifeq ($(strip $(OLED_ENABLE)), yes)
SRC += bcat_oled.c
WPM_ENABLE = yes # for WPM and animated "keyboard pet" widgets
# OLED pets (animated critters that react to typing) take up a lot of
# firmware space, so only compile one, and only if requested.
BCAT_OLED_PET ?= no
ifneq ($(strip $(BCAT_OLED_PET)), no)
SRC += bcat_oled_pet_$(strip $(BCAT_OLED_PET)).c
OPT_DEFS += -DBCAT_OLED_PET
endif
endif
ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
SRC += bcat_rgblight.c
endif
# Disable unwanted build options on all keyboards. (Mouse keys are turned off
# due to https://github.com/qmk/qmk_firmware/issues/8323, and the rest are
# turned off to reduce firmware size.)
COMMAND_ENABLE = no
CONSOLE_ENABLE = no
MOUSEKEY_ENABLE = no
# Disable unwanted hardware options on all keyboards. (Some keyboards turn
# these features on by default even though they aren't actually required.)
MIDI_ENABLE = no
SLEEP_LED_ENABLE = no
# Disable other unused options on all keyboards.
AUTO_SHIFT_ENABLE = no
COMBO_ENABLE = no
GRAVE_ESC_ENABLE = no
KEY_LOCK_ENABLE = no
LEADER_ENABLE = no
MAGIC_ENABLE = no
SPACE_CADET_ENABLE = no
SWAP_HANDS_ENABLE = no
TAP_DANCE_ENABLE = no
UCIS_ENABLE = no
UNICODEMAP_ENABLE = no
UNICODE_ENABLE = no