show_options.mk 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  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_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. DYNAMIC_TAPPING_TERM_ENABLE \
  39. COMBO_ENABLE \
  40. KEY_LOCK_ENABLE \
  41. KEY_OVERRIDE_ENABLE \
  42. LEADER_ENABLE \
  43. STENO_ENABLE \
  44. STENO_PROTOCOL \
  45. TAP_DANCE_ENABLE \
  46. VIRTSER_ENABLE \
  47. OLED_ENABLE \
  48. OLED_DRIVER \
  49. LED_BACK_ENABLE \
  50. LED_UNDERGLOW_ENABLE \
  51. LED_ANIMATIONS \
  52. IOS_DEVICE_ENABLE \
  53. HELIX ZINC \
  54. AUTOLOG_ENABLE \
  55. DEBUG_ENABLE \
  56. ENCODER_MAP_ENABLE \
  57. ENCODER_ENABLE_CUSTOM \
  58. GERMAN_ENABLE \
  59. HAPTIC_ENABLE \
  60. KEYLOGGER_ENABLE \
  61. LCD_BACKLIGHT_ENABLE \
  62. MACROS_ENABLED \
  63. PS2_ENABLE \
  64. PLOVER_HID_ENABLE \
  65. PS2_MOUSE_ENABLE \
  66. PS2_DRIVER \
  67. RAW_ENABLE \
  68. SWAP_HANDS_ENABLE \
  69. WATCHDOG_ENABLE \
  70. ERGOINU \
  71. NO_USB_STARTUP_CHECK \
  72. DISABLE_PROMICRO_LEDs \
  73. MITOSIS_DATAGROK_BOTTOMSPACE \
  74. MITOSIS_DATAGROK_SLOWUART \
  75. RGB_MATRIX_KEYPRESSES \
  76. LED_MIRRORED \
  77. RGBLIGHT_FULL_POWER \
  78. LTO_ENABLE \
  79. PROGRAMMABLE_BUTTON_ENABLE \
  80. SECURE_ENABLE \
  81. CAPS_WORD_ENABLE \
  82. AUTOCORRECT_ENABLE \
  83. TRI_LAYER_ENABLE \
  84. REPEAT_KEY_ENABLE
  85. define NAME_ECHO
  86. @printf " %-30s = %-16s # %s\\n" "$1" "$($1)" "$(origin $1)"
  87. endef
  88. define YAML_NAME_ECHO
  89. @echo ' $1 : "$(strip $($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 " BOOTLOADER = $(BOOTLOADER)"
  99. @echo " FIRMWARE_FORMAT = $(FIRMWARE_FORMAT)"
  100. @echo
  101. @echo "Build Options:"
  102. $(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
  103. $(call NAME_ECHO,$(A_OPTION_NAME)))
  104. show_build_options: show_build_options0
  105. @echo
  106. @echo "If you want to know more, please try 'show_all_features' or 'show_full_features'"
  107. @echo
  108. .PHONY: show_all_features
  109. show_all_features: show_build_options0
  110. @echo
  111. @echo "Hardware Options:"
  112. $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
  113. $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
  114. @echo
  115. @echo "Other Options:"
  116. $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
  117. $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
  118. .PHONY: show_full_features
  119. show_full_features: show_build_options0
  120. @echo
  121. @echo "Hardware Options:"
  122. $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
  123. $(call NAME_ECHO,$(A_OPTION_NAME)))
  124. @echo
  125. @echo "Other Options:"
  126. $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
  127. $(call NAME_ECHO,$(A_OPTION_NAME)))
  128. .PHONY: yaml_build_options
  129. yaml_build_options:
  130. @echo '- KEYBOARD : "$(KEYBOARD)"'
  131. @echo ' KEYMAP : "$(KEYMAP)"'
  132. @echo ' MCU : "$(MCU)"'
  133. @echo ' MCU_SERIES : "$(MCU_SERIES)"'
  134. @echo ' PLATFORM : "$(PLATFORM)"'
  135. @echo ' FIRMWARE_FORMAT : "$(FIRMWARE_FORMAT)"'
  136. $(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
  137. $(call YAML_NAME_ECHO,$(A_OPTION_NAME)))
  138. $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
  139. $(if $($(A_OPTION_NAME)),$(call YAML_NAME_ECHO,$(A_OPTION_NAME))))
  140. $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
  141. $(if $($(A_OPTION_NAME)),$(call YAML_NAME_ECHO,$(A_OPTION_NAME))))