show_options.mk 3.7 KB

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