show_options.mk 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. BUILD_OPTION_NAMES = \
  2. BOOTMAGIC_ENABLE \
  3. MOUSEKEY_ENABLE \
  4. EXTRAKEY_ENABLE \
  5. CONSOLE_ENABLE \
  6. COMMAND_ENABLE \
  7. NKRO_ENABLE \
  8. CUSTOM_MATRIX \
  9. DEBOUNCE_TYPE \
  10. SPLIT_KEYBOARD \
  11. DYNAMIC_KEYMAP_ENABLE \
  12. USB_HID_ENABLE \
  13. VIA_ENABLE
  14. HARDWARE_OPTION_NAMES = \
  15. SLEEP_LED_ENABLE \
  16. BACKLIGHT_ENABLE \
  17. BACKLIGHT_DRIVER \
  18. RGBLIGHT_ENABLE \
  19. RGBLIGHT_CUSTOM_DRIVER \
  20. RGB_MATRIX_ENABLE \
  21. RGB_MATRIX_DRIVER \
  22. CIE1931_CURVE \
  23. MIDI_ENABLE \
  24. BLUETOOTH_ENABLE \
  25. BLUETOOTH_DRIVER \
  26. AUDIO_ENABLE \
  27. HD44780_ENABLE \
  28. ENCODER_ENABLE \
  29. LED_TABLES \
  30. POINTING_DEVICE_ENABLE \
  31. DIP_SWITCH_ENABLE
  32. OTHER_OPTION_NAMES = \
  33. UNICODE_ENABLE \
  34. UCIS_ENABLE \
  35. UNICODEMAP_ENABLE \
  36. UNICODE_COMMON \
  37. AUTO_SHIFT_ENABLE \
  38. AUTO_SHIFT_MODIFIERS \
  39. DYNAMIC_TAPPING_TERM_ENABLE \
  40. COMBO_ENABLE \
  41. KEY_LOCK_ENABLE \
  42. KEY_OVERRIDE_ENABLE \
  43. LEADER_ENABLE \
  44. STENO_ENABLE \
  45. STENO_PROTOCOL \
  46. TAP_DANCE_ENABLE \
  47. VIRTSER_ENABLE \
  48. OLED_ENABLE \
  49. OLED_DRIVER \
  50. LED_BACK_ENABLE \
  51. LED_UNDERGLOW_ENABLE \
  52. LED_ANIMATIONS \
  53. IOS_DEVICE_ENABLE \
  54. HELIX ZINC \
  55. AUTOLOG_ENABLE \
  56. DEBUG_ENABLE \
  57. ENCODER_MAP_ENABLE \
  58. ENCODER_ENABLE_CUSTOM \
  59. GERMAN_ENABLE \
  60. HAPTIC_ENABLE \
  61. HHKB_RN42_ENABLE \
  62. ISSI_ENABLE \
  63. KEYLOGGER_ENABLE \
  64. LCD_BACKLIGHT_ENABLE \
  65. MACROS_ENABLED \
  66. PS2_ENABLE \
  67. PS2_MOUSE_ENABLE \
  68. PS2_DRIVER \
  69. RAW_ENABLE \
  70. SWAP_HANDS_ENABLE \
  71. RING_BUFFERED_6KRO_REPORT_ENABLE \
  72. WATCHDOG_ENABLE \
  73. ERGOINU \
  74. NO_USB_STARTUP_CHECK \
  75. DISABLE_PROMICRO_LEDs \
  76. MITOSIS_DATAGROK_BOTTOMSPACE \
  77. MITOSIS_DATAGROK_SLOWUART \
  78. RGB_MATRIX_KEYPRESSES \
  79. LED_MIRRORED \
  80. RGBLIGHT_FULL_POWER \
  81. LTO_ENABLE \
  82. PROGRAMMABLE_BUTTON_ENABLE \
  83. SECURE_ENABLE \
  84. CAPS_WORD_ENABLE \
  85. AUTOCORRECT_ENABLE
  86. define NAME_ECHO
  87. @printf " %-30s = %-16s # %s\\n" "$1" "$($1)" "$(origin $1)"
  88. endef
  89. define YAML_NAME_ECHO
  90. @echo ' $1 : "$(strip $($1))"'
  91. endef
  92. .PHONY: show_build_options0 show_build_options
  93. show_build_options0:
  94. @echo " KEYBOARD = $(KEYBOARD)"
  95. @echo " KEYMAP = $(KEYMAP)"
  96. @echo " MCU = $(MCU)"
  97. @echo " MCU_SERIES = $(MCU_SERIES)"
  98. @echo " PLATFORM = $(PLATFORM)"
  99. @echo " BOOTLOADER = $(BOOTLOADER)"
  100. @echo " FIRMWARE_FORMAT = $(FIRMWARE_FORMAT)"
  101. @echo
  102. @echo "Build Options:"
  103. $(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
  104. $(call NAME_ECHO,$(A_OPTION_NAME)))
  105. show_build_options: show_build_options0
  106. @echo
  107. @echo "If you want to know more, please try 'show_all_features' or 'show_full_features'"
  108. @echo
  109. .PHONY: show_all_features
  110. show_all_features: show_build_options0
  111. @echo
  112. @echo "Hardware Options:"
  113. $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
  114. $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
  115. @echo
  116. @echo "Other Options:"
  117. $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
  118. $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
  119. .PHONY: show_full_features
  120. show_full_features: show_build_options0
  121. @echo
  122. @echo "Hardware Options:"
  123. $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
  124. $(call NAME_ECHO,$(A_OPTION_NAME)))
  125. @echo
  126. @echo "Other Options:"
  127. $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
  128. $(call NAME_ECHO,$(A_OPTION_NAME)))
  129. .PHONY: yaml_build_options
  130. yaml_build_options:
  131. @echo '- KEYBOARD : "$(KEYBOARD)"'
  132. @echo ' KEYMAP : "$(KEYMAP)"'
  133. @echo ' MCU : "$(MCU)"'
  134. @echo ' MCU_SERIES : "$(MCU_SERIES)"'
  135. @echo ' PLATFORM : "$(PLATFORM)"'
  136. @echo ' FIRMWARE_FORMAT : "$(FIRMWARE_FORMAT)"'
  137. $(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
  138. $(call YAML_NAME_ECHO,$(A_OPTION_NAME)))
  139. $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
  140. $(if $($(A_OPTION_NAME)),$(call YAML_NAME_ECHO,$(A_OPTION_NAME))))
  141. $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
  142. $(if $($(A_OPTION_NAME)),$(call YAML_NAME_ECHO,$(A_OPTION_NAME))))