show_options.mk 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  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_CUSTOM_DRIVER \
  19. RGBLIGHT_ENABLE \
  20. RGBLIGHT_CUSTOM_DRIVER \
  21. RGB_MATRIX_ENABLE \
  22. SERIAL_LINK_ENABLE \
  23. CIE1931_CURVE \
  24. MIDI_ENABLE \
  25. BLUETOOTH_ENABLE \
  26. AUDIO_ENABLE \
  27. FAUXCLICKY_ENABLE \
  28. HD44780_ENABLE \
  29. ENCODER_ENABLE \
  30. LCD_ENABLE \
  31. LED_BREATHING_TABLE \
  32. LED_TABLES \
  33. POINTING_DEVICE_ENABLE \
  34. VISUALIZER_ENABLE \
  35. DIP_SWITCH_ENABLE
  36. OTHER_OPTION_NAMES = \
  37. UNICODE_ENABLE \
  38. UCIS_ENABLE \
  39. UNICODEMAP_ENABLE \
  40. UNICODE_COMMON \
  41. API_SYSEX_ENABLE \
  42. AUTO_SHIFT_ENABLE \
  43. AUTO_SHIFT_MODIFIERS \
  44. COMBO_ENABLE \
  45. KEY_LOCK_ENABLE \
  46. LEADER_ENABLE \
  47. PRINTING_ENABLE \
  48. STENO_ENABLE \
  49. TAP_DANCE_ENABLE \
  50. VIRTSER_ENABLE \
  51. OLED_ENABLE \
  52. LED_BACK_ENABLE \
  53. LED_UNDERGLOW_ENABLE \
  54. LED_ANIMATIONS \
  55. IOS_DEVICE_ENABLE \
  56. HELIX ZINC \
  57. ADAFRUIT_BLE_ENABLE \
  58. AUTOLOG_ENABLE \
  59. BREATHING_LED_ENABLE \
  60. DEBUG_ENABLE \
  61. ENCODER_ENABLE_CUSTOM \
  62. FADING_LED_ENABLE \
  63. GERMAN_ENABLE \
  64. HAPTIC_ENABLE \
  65. HHKB_RN42_ENABLE \
  66. ISSI_ENABLE \
  67. KEYBOARD_LOCK_ENABLE \
  68. KEYLOGGER_ENABLE \
  69. LCD_BACKLIGHT_ENABLE \
  70. MACROS_ENABLED \
  71. ONEHAND_ENABLE \
  72. PS2_MOUSE_ENABLE \
  73. RAW_ENABLE \
  74. SWAP_HANDS_ENABLE \
  75. USB_6KRO_ENABLE \
  76. WATCHDOG_ENABLE \
  77. XT_ENABLE \
  78. ERGOINU \
  79. NO_USB_STARTUP_CHECK \
  80. DISABLE_PROMICRO_LEDs \
  81. MITOSIS_DATAGROK_BOTTOMSPACE \
  82. MITOSIS_DATAGROK_SLOWUART \
  83. RGB_MATRIX_KEYPRESSES \
  84. LED_MIRRORED \
  85. RGBLIGHT_FULL_POWER \
  86. Link_Time_Optimization \
  87. LINK_TIME_OPTIMIZATION_ENABLE
  88. define NAME_ECHO
  89. @echo " $1 = $($1) # $(origin $1)"
  90. endef
  91. .PHONY: show_build_options0 show_build_options
  92. show_build_options0:
  93. @echo " KEYBOARD = $(KEYBOARD)"
  94. @echo " KEYMAP = $(KEYMAP)"
  95. @echo " MCU = $(MCU)"
  96. @echo " MCU_SERIES = $(MCU_SERIES)"
  97. @echo " PLATFORM = $(PLATFORM)"
  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)))