]> git.donarmstrong.com Git - qmk_firmware.git/blob - keyboards/helix/pico/keymaps/default/rules.mk
Keyboard: fixed build break (size overflow) HelixPico with Backlight or Underglow...
[qmk_firmware.git] / keyboards / helix / pico / keymaps / default / rules.mk
1
2 # Build Options
3 #   change to "no" to disable the options, or define them in the Makefile in
4 #   the appropriate keymap folder that will get included automatically
5 #
6 BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
7 MOUSEKEY_ENABLE = no       # Mouse keys(+4700)
8 EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
9 CONSOLE_ENABLE = no         # Console for debug(+400)
10 COMMAND_ENABLE = no        # Commands for debug and configuration
11 NKRO_ENABLE = no            # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
12 BACKLIGHT_ENABLE = no      # Enable keyboard backlight functionality
13 MIDI_ENABLE = no            # MIDI controls
14 AUDIO_ENABLE = yes           # Audio output on port B5
15 UNICODE_ENABLE = no         # Unicode
16 BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
17 RGBLIGHT_ENABLE = no        # Enable WS2812 RGB underlight.  Do not enable this with audio at the same time.
18 SWAP_HANDS_ENABLE = no        # Enable one-hand typing
19
20 define HELIX_CUSTOMISE_MSG
21   $(info Helix customize)
22   $(info -  OLED_ENABLE=$(OLED_ENABLE))
23   $(info -  LED_BACK_ENABLE=$(LED_BACK_ENABLE))
24   $(info -  LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
25   $(info -  LED_ANIMATION=$(LED_ANIMATIONS))
26   $(info -  IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
27 endef
28
29 # Helix keyboard customize
30 # you can edit follows 6 Variables
31 #  jp: 以下の6つの変数を必要に応じて編集します。
32 OLED_ENABLE = no            # OLED_ENABLE
33 LOCAL_GLCDFONT = no         # use each keymaps "helixfont.h" insted of "common/glcdfont.c"
34 LED_BACK_ENABLE = no        # LED backlight (Enable WS2812 RGB underlight.)
35 LED_UNDERGLOW_ENABLE = no   # LED underglow (Enable WS2812 RGB underlight.)
36 LED_ANIMATIONS = yes        # LED animations
37 IOS_DEVICE_ENABLE = no      # connect to IOS device (iPad,iPhone)
38 Link_Time_Optimization = no # if firmware size over limit, try this option
39
40 ####  LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
41 ####    Do not enable these with audio at the same time.
42
43 ### Helix keyboard 'default' keymap: convenient command line option
44 ##    make HELIX=<options> helix:defualt
45 ##    option= oled | back | under | na | ios
46 ##    ex.
47 ##      make HELIX=oled          helix:defualt
48 ##      make HELIX=oled,back     helix:defualt
49 ##      make HELIX=oled,under    helix:defualt
50 ##      make HELIX=oled,back,na  helix:defualt
51 ##      make HELIX=oled,back,ios helix:defualt
52 ##
53 ifneq ($(strip $(HELIX)),)
54   ifeq ($(findstring oled,$(HELIX)), oled)
55     OLED_ENABLE = yes
56   endif
57   ifeq ($(findstring back,$(HELIX)), back)
58     LED_BACK_ENABLE = yes
59   else ifeq ($(findstring under,$(HELIX)), under)
60     LED_UNDERGLOW_ENABLE = yes
61   endif
62   ifeq ($(findstring na,$(HELIX)), na)
63     LED_ANIMATIONS = no
64   endif
65   ifeq ($(findstring ios,$(HELIX)), ios)
66     IOS_DEVICE_ENABLE = yes
67   endif
68   $(eval $(call HELIX_CUSTOMISE_MSG))
69   $(info )
70 endif
71
72 # Uncomment these for checking
73 #   jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
74 # $(eval $(call HELIX_CUSTOMISE_MSG))
75 # $(info )
76
77 ifeq ($(strip $(LED_BACK_ENABLE)), yes)
78   RGBLIGHT_ENABLE = yes
79   OPT_DEFS += -DRGBLED_BACK
80   ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
81     $(eval $(call HELIX_CUSTOMISE_MSG))
82     $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
83   endif
84 else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
85   RGBLIGHT_ENABLE = yes
86 else
87   RGBLIGHT_ENABLE = no
88 endif
89
90 ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
91     OPT_DEFS += -DIOS_DEVICE_ENABLE
92 endif
93
94 ifeq ($(strip $(LED_ANIMATIONS)), yes)
95     OPT_DEFS += -DRGBLIGHT_ANIMATIONS
96 endif
97
98 ifeq ($(strip $(OLED_ENABLE)), yes)
99     OPT_DEFS += -DOLED_ENABLE
100 endif
101
102 ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
103     OPT_DEFS += -DLOCAL_GLCDFONT
104 endif
105
106 ifeq ($(strip $(AUDIO_ENABLE)),yes)
107   ifeq ($(strip $(RGBLIGHT_ENABLE)),yes)
108     Link_Time_Optimization = yes
109   endif
110   ifeq ($(strip $(OLED_ENABLE)),yes)
111     Link_Time_Optimization = yes
112   endif
113 endif
114
115 ifeq ($(strip $(Link_Time_Optimization)),yes)
116     EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
117 endif
118
119 # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
120 SLEEP_LED_ENABLE = no    # Breathing sleep LED during USB suspend
121
122 ifndef QUANTUM_DIR
123         include ../../../../Makefile
124 endif
125
126 # Uncomment these for debugging
127 # $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
128 # $(info -- OPT_DEFS=$(OPT_DEFS))
129 # $(info )