qmk-keychron-q3-colemak-dh/keyboards/helix/rev2/keymaps/five_rows/rules.mk
Takeshi ISHII 49dc332a04
[Keymap] cleanup keyboards/helix/{rev2|rev3_5rows}/keymaps/five_rows (#12259)
* cleanup keyboards/helix/{rev2|rev3_5rows}/keymaps/five_rows

* Made the layout data easier to read.
  * helix/rev2/keymaps/five_rows/keymap.c
  * helix/rev3_5rows/keymaps/five_rows/keymap.c

* The following two were made the same.
  * keymaps/five_rows/config.h
  * keymaps/five_rows/oled_display.c

The binary of the compilation result has not changed.

* update keyboards/helix/rev2/keymaps/five_rows/rules.mk

KEYBOARD_LOCAL_FEATURES_MK was moved to the end.

* add '#define DISABLE_SYNC_TIMER' into helix/rev3_5rows/keymaps/five_rows/config.h

The sync timer features worsen the matrix scan rate of the Helix keyboard. I'm not sure if it makes sense to have sync timer features enabled on the Helix keyboard. So in my keymap I disable this.
2021-04-04 04:42:29 +09:00

103 lines
3.3 KiB
Makefile

# QMK Standard Build Options
# change to "no" to disable the options, or define them in the Makefile in
# the appropriate keymap folder that will get included automatically
#
# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
# See TOP/docs/config_options.md for more information.
#
CONSOLE_ENABLE = no # Console for debug
COMMAND_ENABLE = no # Commands for debug and configuration
# CONSOLE_ENABLE and COMMAND_ENABLE
# yes, no +1500
# yes, yes +3200
# no, yes +400
LTO_ENABLE = no # if firmware size over limit, try this option
LED_ANIMATIONS = yes
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
# jp: 以下の7つの変数を必要に応じて編集し、コメントアウトをはずします。
HELIX_ROWS = 5 # Helix Rows is 4 or 5
# OLED_ENABLE = no # OLED_ENABLE
# LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
# LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
# LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
# LED_ANIMATIONS = yes # LED animations
# IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
ifneq ($(strip $(HELIX)),)
define KEYMAP_OPTION_PARSE
# parse 'dispoff', 'consloe', 'na', 'ani', 'mini-ani'
$(if $(SHOW_PARCE),$(info parse -$1-)) #debug
ifeq ($(strip $1),dispoff)
OLED_ENABLE = no
OLED_DRIVER_ENABLE = no
LED_BACK_ENABLE = no
LED_UNDERGLOW_ENABLE = no
endif
ifneq ($(filter nooled no-oled,$(strip $1)),)
OLED_ENABLE = no
endif
ifeq ($(strip $1),oled)
OLED_ENABLE = yes
endif
ifneq ($(filter core-oled core_oled newoled new-oled olednew oled-new,$(strip $1)),)
OLED_ENABLE = yes
OLED_SELECT = core
endif
ifneq ($(filter local-oled local_oled oldoled old-oled oledold oled-old,$(strip $1)),)
OLED_ENABLE = yes
OLED_SELECT = local
endif
ifeq ($(strip $1),console)
CONSOLE_ENABLE = yes
endif
ifeq ($(strip $1),debug)
DEBUG_CONFIG = yes
endif
ifneq ($(filter nodebug no-debug no_debug,$(strip $1)),)
DEBUG_CONFIG = no
endif
ifneq ($(filter na no_ani no-ani,$(strip $1)),)
LED_ANIMATIONS = no
endif
ifneq ($(filter mini-ani mini_ani,$(strip $1)),)
LED_ANIMATIONS = mini
endif
ifneq ($(filter ani animation,$(strip $1)),)
LED_ANIMATIONS = yes
endif
ifeq ($(strip $1),lto)
LTO_ENABLE = yes
endif
ifneq ($(filter nolto no-lto no_lto,$(strip $1)),)
LTO_ENABLE = no
endif
endef # end of KEYMAP_OPTION_PARSE
COMMA=,
$(eval $(foreach A_OPTION_NAME,$(subst $(COMMA), ,$(HELIX)), \
$(call KEYMAP_OPTION_PARSE,$(A_OPTION_NAME))))
endif
ifeq ($(strip $(LED_ANIMATIONS)), yes)
OPT_DEFS += -DLED_ANIMATIONS_LEVEL=2
endif
ifeq ($(strip $(LED_ANIMATIONS)), mini)
OPT_DEFS += -DLED_ANIMATIONS_LEVEL=1
LED_ANIMATIONS = yes
endif
ifeq ($(strip $(DEBUG_CONFIG)), yes)
OPT_DEFS += -DDEBUG_CONFIG
endif
ifeq ($(strip $(OLED_ENABLE)), yes)
SRC += oled_display.c
endif
# convert Helix-specific options (that represent combinations of standard options)
# into QMK standard options.
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))