[Keyboard] Cleanup helix rules options (#6952)
* add temporary test shell-spript
* Use LINK_TIME_OPTIMIZATION_ENABLE instead of Link_Time_Optimization
No change in build result.
* Helix config.h use '#pragma once'
No change in build result.
* Helix helix.h,rev?/rev?.h,pico/pico.h use '#pragma once'
No change in build result.
* Use drivers/avr/pro_micro.h instead of keyboards/helix/pro_micro.h
No change in build result.
* remove keyboards/helix/{rev2|pico}/serial_config.h
No change in build result.
* 'HELIX_ROWS' macro is now referenced only in rev1/config.h and rev2/config.h.
No change in build result.
* The contents of helix/rules.mk were distributed to subdirectories.
This is a preparation to create a new subdirectory for helix code using split_common.
No change in build result.
remove 'USE_I2C = yes', 'SUBPROJECT_rev1 = no' from keyboards/helix/rules.mk.
follow code move from keyboards/helix/rules.mk to keyboards/helix/{rev1,rev2,pico}/rules.mk.
----
 SRC += i2c.c
 SRC += serial.c
 SRC += ssd1306.c
 CUSTOM_MATRIX = yes
---
* helix/{i2c.[ch], serial.[ch], ssd1306.[ch]} move into helix/local_drivers/
No change in build result.
* Simplified 'helix/pico/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK.
No change in build result.
 * add keyboards/helix/pico/local_features.mk
 * add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/pico/rules.mk
 * remove HELIX_CUSTOMISE_MSG from keyboards/helix/pico/keymaps/*/rules.mk
 * remove HELIX= process from keyboards/helix/pico/keymaps/*/rules.mk
 * remove convert code(helix to standaerd) from keyboards/helix/pico/keymaps/*/rules.mk
 * add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/pico/keymaps/*/rules.mk
* Simplified 'helix/rev2/keymap/*/rules.mk' using KEYBOARD_LOCAL_FEATURES_MK.
No change in build result.
* add keyboards/helix/rev2/local_features.mk
* add 'KEYBOARD_LOCAL_FEATURES_MK := $(dir $(lastword $(MAKEFILE_LIST)))local_features.mk' into keyboards/helix/rev2/rules.mk
* remove HELIX_CUSTOMISE_MSG from keyboards/helix/rev2/keymaps/*/rules.mk
* remove HELIX= process from keyboards/helix/rev2/keymaps/*/rules.mk
* remove convert code(helix to standaerd) from keyboards/helix/rev2/keymaps/*/rules.mk
* add 'include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))' into keyboards/helix/rev2/keymaps/*/rules.mk
* Added helix keyboard build NEW method.
No change in build result.
 ## Helix build
 $ make helix:default            ## no oled, no backlight, no underglow
 $ make helix/rev2/back:default  ## no oled, with backlight, no underglow
 $ make helix/rev2/under:default ## no oled, no backlight, with underglow
 $ make helix/rev2/oled:default  ## with oled, no backlight, not underglow
 $ make helix/rev2/oled/back:default  ## with oled, with backlight, no underglow
 $ make helix/rev2/back/oled:default  ## with oled, with backlight, no underglow
 $ make helix/rev2/oled/under:default ## with oled, no backlight, with underglow
 $ make helix/rev2/under/oled:default ## with oled, no backlight, with underglow
 ## Helix pico build
 $ make helix/pico:default       ## no oled, no backlight, no underglow
 $ make helix/pico/back:default  ## no oled, with backlight, no underglow
 $ make helix/pico/under:default ## no oled, no backlight, with underglow
 $ make helix/pico/oled:default  ## with oled, no backlight, not underglow
* add temporary test shell-spript
* test end remove test script. Revert "add temporary test shell-spript"
This reverts commit 5dac20cd0f8b4bc192edb2313652c1635f829657.
* test end remove test script. Revert "add temporary test shell-spript"
This reverts commit ec49f63b2dc0f2b3fe8c1c36ffa615cee2f7e3ed.
* Extended the 'HELIX=' option. add keyword 'verbose', 'no_ani'.
No change in build result.
* update keyboards/helix/{rev2,pico}/keymaps/default/readme.md
* rename KEYBOARD_TOP_DIR to HELIX_TOP_DIR in rules.mk
* update keyboards/helix/{rev2,pico}/keymaps/default/readme_jp.md
* rm keyboards/helix/pico/oled/rules.mk
* update helix's readmes. All the ':avrdude' was replaced with ':flash'.
* remove F_CPU, ARCH, F_USB, INTERRUPT_CONTROL_ENDPOINT from helix/rules.mk
No change in build result.
			
			
This commit is contained in:
		
							parent
							
								
									81f36ab74d
								
							
						
					
					
						commit
						881f27b461
					
				
					 54 changed files with 638 additions and 1766 deletions
				
			
		| 
						 | 
				
			
			@ -1,125 +1,24 @@
 | 
			
		|||
 | 
			
		||||
# Build Options
 | 
			
		||||
# 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
 | 
			
		||||
#
 | 
			
		||||
BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
 | 
			
		||||
MOUSEKEY_ENABLE = no       # Mouse keys(+4700)
 | 
			
		||||
#   See TOP/keyboards/helix/rules.mk for a list of options that can be set.
 | 
			
		||||
#   See TOP/docs/config_options.md for more information.
 | 
			
		||||
#
 | 
			
		||||
EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
 | 
			
		||||
CONSOLE_ENABLE = no         # Console for debug(+400)
 | 
			
		||||
COMMAND_ENABLE = no        # Commands for debug and configuration
 | 
			
		||||
NKRO_ENABLE = no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
 | 
			
		||||
BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
 | 
			
		||||
MIDI_ENABLE = no            # MIDI controls
 | 
			
		||||
AUDIO_ENABLE = yes           # Audio output on port B5
 | 
			
		||||
UNICODE_ENABLE = no         # Unicode
 | 
			
		||||
BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
 | 
			
		||||
RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.
 | 
			
		||||
SWAP_HANDS_ENABLE = no        # Enable one-hand typing
 | 
			
		||||
AUDIO_ENABLE = yes          # Audio output on port B5
 | 
			
		||||
LINK_TIME_OPTIMIZATION_ENABLE = no  # if firmware size over limit, try this option
 | 
			
		||||
 | 
			
		||||
define HELIX_CUSTOMISE_MSG
 | 
			
		||||
  $(info Helix customize)
 | 
			
		||||
  $(info -  OLED_ENABLE=$(OLED_ENABLE))
 | 
			
		||||
  $(info -  LED_BACK_ENABLE=$(LED_BACK_ENABLE))
 | 
			
		||||
  $(info -  LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
 | 
			
		||||
  $(info -  LED_ANIMATION=$(LED_ANIMATIONS))
 | 
			
		||||
  $(info -  IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
 | 
			
		||||
endef
 | 
			
		||||
# Helix Spacific Build Options
 | 
			
		||||
# you can uncomment and edit follows 6 Variables
 | 
			
		||||
#  jp: 以下の6つの変数を必要に応じて編集し、コメントアウトをはずします。
 | 
			
		||||
# 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)
 | 
			
		||||
 | 
			
		||||
# Helix keyboard customize
 | 
			
		||||
# you can edit follows 6 Variables
 | 
			
		||||
#  jp: 以下の6つの変数を必要に応じて編集します。
 | 
			
		||||
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)
 | 
			
		||||
Link_Time_Optimization = no # if firmware size over limit, try this option
 | 
			
		||||
 | 
			
		||||
####  LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
 | 
			
		||||
####    Do not enable these with audio at the same time.
 | 
			
		||||
 | 
			
		||||
### Helix keyboard 'default' keymap: convenient command line option
 | 
			
		||||
##    make HELIX=<options> helix:defualt
 | 
			
		||||
##    option= oled | back | under | na | ios
 | 
			
		||||
##    ex.
 | 
			
		||||
##      make HELIX=oled          helix:defualt
 | 
			
		||||
##      make HELIX=oled,back     helix:defualt
 | 
			
		||||
##      make HELIX=oled,under    helix:defualt
 | 
			
		||||
##      make HELIX=oled,back,na  helix:defualt
 | 
			
		||||
##      make HELIX=oled,back,ios helix:defualt
 | 
			
		||||
##
 | 
			
		||||
ifneq ($(strip $(HELIX)),)
 | 
			
		||||
  ifeq ($(findstring oled,$(HELIX)), oled)
 | 
			
		||||
    OLED_ENABLE = yes
 | 
			
		||||
  endif
 | 
			
		||||
  ifeq ($(findstring back,$(HELIX)), back)
 | 
			
		||||
    LED_BACK_ENABLE = yes
 | 
			
		||||
  else ifeq ($(findstring under,$(HELIX)), under)
 | 
			
		||||
    LED_UNDERGLOW_ENABLE = yes
 | 
			
		||||
  endif
 | 
			
		||||
  ifeq ($(findstring na,$(HELIX)), na)
 | 
			
		||||
    LED_ANIMATIONS = no
 | 
			
		||||
  endif
 | 
			
		||||
  ifeq ($(findstring ios,$(HELIX)), ios)
 | 
			
		||||
    IOS_DEVICE_ENABLE = yes
 | 
			
		||||
  endif
 | 
			
		||||
  $(eval $(call HELIX_CUSTOMISE_MSG))
 | 
			
		||||
  $(info )
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Uncomment these for checking
 | 
			
		||||
#   jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
 | 
			
		||||
# $(eval $(call HELIX_CUSTOMISE_MSG))
 | 
			
		||||
# $(info )
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
 | 
			
		||||
  RGBLIGHT_ENABLE = yes
 | 
			
		||||
else
 | 
			
		||||
  RGBLIGHT_ENABLE = no
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
 | 
			
		||||
    OPT_DEFS += -DIOS_DEVICE_ENABLE
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(LED_ANIMATIONS)), yes)
 | 
			
		||||
    OPT_DEFS += -DLED_ANIMATIONS
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(OLED_ENABLE)), yes)
 | 
			
		||||
    OPT_DEFS += -DOLED_ENABLE
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
 | 
			
		||||
    OPT_DEFS += -DLOCAL_GLCDFONT
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(AUDIO_ENABLE)),yes)
 | 
			
		||||
  ifeq ($(strip $(RGBLIGHT_ENABLE)),yes)
 | 
			
		||||
    Link_Time_Optimization = yes
 | 
			
		||||
  endif
 | 
			
		||||
  ifeq ($(strip $(OLED_ENABLE)),yes)
 | 
			
		||||
    Link_Time_Optimization = yes
 | 
			
		||||
  endif
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
ifeq ($(strip $(Link_Time_Optimization)),yes)
 | 
			
		||||
    EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
 | 
			
		||||
SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
 | 
			
		||||
 | 
			
		||||
# Uncomment these for debugging
 | 
			
		||||
# $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
 | 
			
		||||
# $(info -- OPT_DEFS=$(OPT_DEFS))
 | 
			
		||||
# $(info )
 | 
			
		||||
# convert Helix-specific options (that represent combinations of standard options)
 | 
			
		||||
#   into QMK standard options.
 | 
			
		||||
include $(strip $(KEYBOARD_LOCAL_FEATURES_MK))
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue