rules.mk 4.4 KB

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