Add Dip Switch as a core feature (#6140)
[jackhill/qmk/firmware.git] / show_options.mk
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
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
37 OTHER_OPTION_NAMES = \
38 UNICODE_ENABLE \
39 UCIS_ENABLE \
40 UNICODEMAP_ENABLE \
41 UNICODE_COMMON \
42 API_SYSEX_ENABLE \
43 AUTO_SHIFT_ENABLE \
44 AUTO_SHIFT_MODIFIERS \
45 COMBO_ENABLE \
46 KEY_LOCK_ENABLE \
47 LEADER_ENABLE \
48 PRINTING_ENABLE \
49 STENO_ENABLE \
50 TAP_DANCE_ENABLE \
51 VIRTSER_ENABLE \
52 OLED_ENABLE \
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 BREATHING_LED_ENABLE \
61 DEBUG_ENABLE \
62 ENCODER_ENABLE_CUSTOM \
63 FADING_LED_ENABLE \
64 GERMAN_ENABLE \
65 HAPTIC_ENABLE \
66 HHKB_RN42_ENABLE \
67 ISSI_ENABLE \
68 KEYBOARD_LOCK_ENABLE \
69 KEYLOGGER_ENABLE \
70 KEYMAP_IN_EEPROM_ENABLE \
71 KEYMAP_SECTION_ENABLE \
72 LCD_BACKLIGHT_ENABLE \
73 LEDMAP_ENABLE \
74 LEDMAP_IN_EEPROM_ENABLE \
75 MACROS_ENABLED \
76 ONEHAND_ENABLE \
77 PS2_MOUSE_ENABLE \
78 RAW_ENABLE \
79 SOFTPWM_LED_ENABLE \
80 SWAP_HANDS_ENABLE \
81 USB_6KRO_ENABLE \
82 WATCHDOG_ENABLE \
83 XT_ENABLE \
84 ERGOINU \
85 NO_USB_STARTUP_CHECK \
86 DISABLE_PROMICRO_LEDs \
87 MITOSIS_DATAGROK_BOTTOMSPACE \
88 MITOSIS_DATAGROK_SLOWUART \
89 RGB_MATRIX_KEYPRESSES \
90 LED_MIRRORED \
91 RGBLIGHT_FULL_POWER \
92 Link_Time_Optimization \
93 LINK_TIME_OPTIMIZATION_ENABLE
94
95 define NAME_ECHO
96 @echo " $1 = $($1) # $(origin $1)"
97
98 endef
99
100 .PHONY: show_build_options0 show_build_options
101 show_build_options0:
102 @echo " KEYBOARD = $(KEYBOARD)"
103 @echo " KEYMAP = $(KEYMAP)"
104 @echo " MCU = $(MCU)"
105 @echo " MCU_SERIES = $(MCU_SERIES)"
106 @echo " PLATFORM = $(PLATFORM)"
107 @echo " FIRMWARE_FORMAT = $(FIRMWARE_FORMAT)"
108 @echo
109 @echo "Build Options:"
110 $(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
111 $(call NAME_ECHO,$(A_OPTION_NAME)))
112
113 show_build_options: show_build_options0
114 @echo
115 @echo "If you want to know more, please try 'show_all_features' or 'show_full_features'"
116 @echo
117
118 .PHONY: show_all_features
119 show_all_features: show_build_options0
120 @echo
121 @echo "Hardware Options:"
122 $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
123 $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
124 @echo
125 @echo "Other Options:"
126 $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
127 $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
128
129 .PHONY: show_full_features
130 show_full_features: show_build_options0
131 @echo
132 @echo "Hardware Options:"
133 $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
134 $(call NAME_ECHO,$(A_OPTION_NAME)))
135 @echo
136 @echo "Other Options:"
137 $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
138 $(call NAME_ECHO,$(A_OPTION_NAME)))