Peter's keyboard firmware (QMK) https://qmk.fm/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

rules.mk 4.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  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.
  17. SWAP_HANDS_ENABLE = no # Enable one-hand typing
  18. TAP_DANCE_ENABLE = yes
  19. define HELIX_CUSTOMISE_MSG
  20. $(info Helix customize)
  21. $(info - OLED_ENABLE=$(OLED_ENABLE))
  22. $(info - LED_BACK_ENABLE=$(LED_BACK_ENABLE))
  23. $(info - LED_UNDERGLOW_ENABLE=$(LED_UNDERGLOW_ENABLE))
  24. $(info - LED_ANIMATION=$(LED_ANIMATIONS))
  25. $(info - IOS_DEVICE_ENABLE=$(IOS_DEVICE_ENABLE))
  26. endef
  27. # Helix keyboard customize
  28. # you can edit follows 7 Variables
  29. # jp: 以下の7つの変数を必要に応じて編集します。
  30. HELIX_ROWS = 5 # Helix Rows is 4 or 5
  31. OLED_ENABLE = no # OLED_ENABLE
  32. LOCAL_GLCDFONT = no # use each keymaps "helixfont.h" instead of "common/glcdfont.c"
  33. LED_BACK_ENABLE = no # LED backlight (Enable WS2812 RGB underlight.)
  34. LED_UNDERGLOW_ENABLE = no # LED underglow (Enable WS2812 RGB underlight.)
  35. LED_ANIMATIONS = yes # LED animations
  36. IOS_DEVICE_ENABLE = no # connect to IOS device (iPad,iPhone)
  37. Link_Time_Optimization = no # if firmware size over limit, try this option
  38. #### LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE.
  39. #### Do not enable these with audio at the same time.
  40. ### Helix keyboard 'edvorakjp' keymap: convenient command line option
  41. ## make HELIX=<options> helix:edvorakjp
  42. ## option= oled | back | under | na | ios
  43. ## ex.
  44. ## make HELIX=oled helix:edvorakjp
  45. ## make HELIX=oled,back helix:edvorakjp
  46. ## make HELIX=oled,under helix:edvorakjp
  47. ## make HELIX=oled,back,na helix:edvorakjp
  48. ## make HELIX=oled,back,ios helix:edvorakjp
  49. ##
  50. ifneq ($(strip $(HELIX)),)
  51. ifeq ($(findstring oled,$(HELIX)), oled)
  52. OLED_ENABLE = yes
  53. endif
  54. ifeq ($(findstring back,$(HELIX)), back)
  55. LED_BACK_ENABLE = yes
  56. else ifeq ($(findstring under,$(HELIX)), under)
  57. LED_UNDERGLOW_ENABLE = yes
  58. endif
  59. ifeq ($(findstring na,$(HELIX)), na)
  60. LED_ANIMATIONS = no
  61. endif
  62. ifeq ($(findstring ios,$(HELIX)), ios)
  63. IOS_DEVICE_ENABLE = yes
  64. endif
  65. $(eval $(call HELIX_CUSTOMISE_MSG))
  66. $(info )
  67. endif
  68. # Uncomment these for checking
  69. # jp: コンパイル時にカスタマイズの状態を表示したい時はコメントをはずします。
  70. # $(eval $(call HELIX_CUSTOMISE_MSG))
  71. # $(info )
  72. ifeq ($(strip $(HELIX_ROWS)), 4)
  73. SRC += keymap_4rows.c
  74. else ifeq ($(strip $(HELIX_ROWS)), 5)
  75. SRC += keymap_5rows.c
  76. else
  77. $(error HELIX_ROWS = $(strip $(HELIX_ROWS)) is unexpected value)
  78. endif
  79. OPT_DEFS += -DHELIX_ROWS=$(strip $(HELIX_ROWS))
  80. ifeq ($(strip $(LED_BACK_ENABLE)), yes)
  81. RGBLIGHT_ENABLE = yes
  82. OPT_DEFS += -DRGBLED_BACK
  83. ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
  84. $(eval $(call HELIX_CUSTOMISE_MSG))
  85. $(error LED_BACK_ENABLE and LED_UNDERGLOW_ENABLE both 'yes')
  86. endif
  87. else ifeq ($(strip $(LED_UNDERGLOW_ENABLE)), yes)
  88. RGBLIGHT_ENABLE = yes
  89. OPT_DEFS += -DRGBLED_BACK
  90. else
  91. RGBLIGHT_ENABLE = no
  92. endif
  93. ifeq ($(strip $(IOS_DEVICE_ENABLE)), yes)
  94. OPT_DEFS += -DIOS_DEVICE_ENABLE
  95. endif
  96. ifeq ($(strip $(LED_ANIMATIONS)), yes)
  97. OPT_DEFS += -DLED_ANIMATIONS
  98. endif
  99. ifeq ($(strip $(OLED_ENABLE)), yes)
  100. OPT_DEFS += -DOLED_ENABLE
  101. SRC += oled.c
  102. endif
  103. ifeq ($(strip $(LOCAL_GLCDFONT)), yes)
  104. OPT_DEFS += -DLOCAL_GLCDFONT
  105. endif
  106. ifeq ($(strip $(Link_Time_Optimization)),yes)
  107. EXTRAFLAGS += -flto -DUSE_Link_Time_Optimization
  108. endif
  109. # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
  110. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
  111. # Uncomment these for debugging
  112. # $(info -- RGBLIGHT_ENABLE=$(RGBLIGHT_ENABLE))
  113. # $(info -- OPT_DEFS=$(OPT_DEFS))
  114. # $(info )