@ -6,40 +6,24 @@
#
KEYBOARD_LOCAL_FEATURES_MK :=
d e f i n e H E L I X _ C U S T O M I S E _ M S G
$( info Helix Spacific Build Options)
$( info - OLED_ENABLE = $( OLED_ENABLE) )
$( info - OLED_SELECT = $( OLED_SELECT) )
$( info - LED_BACK_ENABLE = $( LED_BACK_ENABLE) )
$( info - LED_UNDERGLOW_ENABLE = $( LED_UNDERGLOW_ENABLE) )
$( info - LED_ANIMATIONS = $( LED_ANIMATIONS) )
$( info - IOS_DEVICE_ENABLE = $( IOS_DEVICE_ENABLE) )
$( info )
e n d e f
d e f i n e H E L I X _ H E L P _ M S G
$( info Helix keyboard convenient command line option)
$( info - make HELIX = <options> helix:<keymap>)
$( info - option = oled | core-oled | local-oled | no-oled )
$( info - back | no-back | under | na | no-ani )
$( info - ios | sc | split-common | scan | verbose)
$( info - eg.)
$( info - make HELIX = no-oled helix:<keymap>)
$( info - make HELIX = oled,no-back helix:<keymap>)
$( info - make HELIX = oled,under helix:<keymap>)
$( info - make HELIX = oled,back,na helix:<keymap>)
$( info - make HELIX = oled,back,ios helix:<keymap>)
$( info )
e n d e f
ifneq ( $( strip $( HELIX) ) ,)
- i n c l u d e $( strip $ ( HELIX_TOP_DIR ) /pico /override_helix_options .mk ) ## File dedicated to maintenance
# Parse 'HELIX=xx,yy,zz' option
i f n e q ( $( strip $ ( HELIX ) ) , )
# make HELIX=ios helix/pico:AKEYMAP
# make HELIX=no-ani helix/pico:AKEYMAP
# make HELIX=no-oled helix/pico:AKEYMAP
# make HELIX=ios,no-ani,no-oled helix/pico:AKEYMAP
define HELIX_OPTION_PARSE
# parce 'oled' 'back' 'under' 'ios' etc.
$( if $( SHOW_PARCE) ,$( info parse .$1 .) ) #debug
# parce 'no-ani' 'ios' 'no-oled'
$( if $( SHOW_PARCE) ,$( info parse .$1 .) ) #debug
$( if $( HELIX_OVERRIDE_PARSE) ,$( call HELIX_OVERRIDE_PARSE,$1 ) )
ifeq ( $( strip $1 ) ,help)
HELP = on
ifeq ( $( strip $1 ) ,ios)
IOS_DEVICE_ENABLE = yes
endif
ifneq ( $( filter na no_ani no-ani,$( strip $1 ) ) ,)
LED_ANIMATIONS = no
endif
ifneq ( $( filter nooled no-oled,$( strip $1 ) ) ,)
OLED_ENABLE = no
@ -47,68 +31,17 @@ endef
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
ifneq ( $( filter noback no-back nounder no-under,$( strip $1 ) ) ,)
LED_BACK_ENABLE = no
LED_UNDERGLOW_ENABLE = no
endif
ifeq ( $( strip $1 ) ,back)
LED_BACK_ENABLE = yes
LED_UNDERGLOW_ENABLE = no
endif
ifeq ( $( strip $1 ) ,under)
LED_BACK_ENABLE = no
LED_UNDERGLOW_ENABLE = yes
endif
ifneq ( $( filter na no_ani no-ani,$( strip $1 ) ) ,)
LED_ANIMATIONS = no
endif
ifeq ( $( strip $1 ) ,ios)
IOS_DEVICE_ENABLE = yes
endif
ifneq ( $( filter sc split-common split_common,$( strip $1 ) ) ,)
SPLIT_KEYBOARD = yes
endif
ifneq ( $( filter nosc no-sc no-split-common no-split_common,$( strip $1 ) ) ,)
SPLIT_KEYBOARD = no
endif
ifeq ( $( strip $1 ) ,scan)
# use DEBUG_MATRIX_SCAN_RATE
# see docs/newbs_testing_debugging.md
OPT_DEFS += -DDEBUG_MATRIX_SCAN_RATE
CONSOLE_ENABLE = yes
SHOW_VERBOSE_INFO = yes
endif
ifeq ( $( strip $1 ) ,verbose)
SHOW_VERBOSE_INFO = 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 HELIX_OPTION_PARSE
COMMA = ,
$( eval $( foreach A_OPTION_NAME,$( subst $( COMMA) , ,$( HELIX) ) , \
$( call HELIX_OPTION_PARSE,$( A_OPTION_NAME) ) ) )
ifeq ( $( strip $( HELP) ) ,on)
$( eval $( call HELIX_HELP_MSG) )
$( error )
endif
SHOW_HELIX_OPTIONS = yes
endif
e n d i f
i f n e q ( $( strip $ ( SPLIT_KEYBOARD ) ) , y e s )
# In the very near future, all keymaps will be compatible with split_common and this block will be removed.
SRC += local_drivers/serial.c
KEYBOARD_PATHS += $( HELIX_TOP_DIR) /local_drivers
@ -139,7 +72,6 @@ ifeq ($(strip $(LED_BACK_ENABLE)), yes)
RGBLIGHT_ENABLE = yes
OPT_DEFS += -DRGBLED_BACK
ifeq ( $( strip $( LED_UNDERGLOW_ENABLE) ) , yes)
$( eval $( call HELIX_CUSTOMISE_MSG) )
$( error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes' )
endif
e l s e i f e q ( $( strip $ ( LED_UNDERGLOW_ENABLE ) ) , y e s )
@ -164,6 +96,8 @@ ifeq ($(strip $(OLED_ENABLE)), yes)
OPT_DEFS += -DOLED_FONT_H= \" common/glcdfont.c\"
endif
else
# In the very near future, all keymaps will be compatible with QMK standard oled_driver and this block will be removed.
ifeq ( $( strip $( SPLIT_KEYBOARD) ) , yes)
$( info Helix/rev2: The following combinations are not supported.)
$( info - SPLIT_KEYBOARD = $( SPLIT_KEYBOARD) ) # yes
@ -188,15 +122,21 @@ ifeq ($(strip $(OLED_ENABLE)), yes)
e n d i f
i f n e q ( $( strip $ ( SHOW_HELIX_OPTIONS ) ) , )
$( eval $( call HELIX_CUSTOMISE_MSG) )
ifneq ( $( strip $( SHOW_VERBOSE_INFO) ) ,)
$( info -- RGBLIGHT_ENABLE = $( RGBLIGHT_ENABLE) )
$( info -- OLED_DRIVER = $( OLED_DRIVER) )
$( info -- OLED_LOCAL_ENABLE = $( OLED_LOCAL_ENABLE) )
$( info -- CONSOLE_ENABLE = $( CONSOLE_ENABLE) )
$( info -- OPT_DEFS = $( OPT_DEFS) )
$( info -- SPLIT_KEYBOARD = $( SPLIT_KEYBOARD) )
$( info -- LTO_ENABLE = $( LTO_ENABLE) )
$( info )
endif
$( info Helix Spacific Build Options)
$( info - OLED_ENABLE = $( OLED_ENABLE) )
$( info - OLED_SELECT = $( OLED_SELECT) )
$( info - LED_BACK_ENABLE = $( LED_BACK_ENABLE) )
$( info - LED_UNDERGLOW_ENABLE = $( LED_UNDERGLOW_ENABLE) )
$( info - LED_ANIMATIONS = $( LED_ANIMATIONS) )
$( info - IOS_DEVICE_ENABLE = $( IOS_DEVICE_ENABLE) )
$( info )
$( info QMK Build Options)
$( info -- SPLIT_KEYBOARD = $( SPLIT_KEYBOARD) )
$( info -- RGBLIGHT_ENABLE = $( RGBLIGHT_ENABLE) )
$( info -- OLED_DRIVER = $( OLED_DRIVER) )
$( info -- OLED_LOCAL_ENABLE = $( OLED_LOCAL_ENABLE) )
$( info -- CONSOLE_ENABLE = $( CONSOLE_ENABLE) )
$( info -- OPT_DEFS = $( OPT_DEFS) )
$( info -- LTO_ENABLE = $( LTO_ENABLE) )
$( info )
e n d i f