Merge pull request #2 from billiams/feature/billiams
[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
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 KEYMAP_IN_EEPROM_ENABLE \
70 KEYMAP_SECTION_ENABLE \
71 LCD_BACKLIGHT_ENABLE \
72 LEDMAP_ENABLE \
73 LEDMAP_IN_EEPROM_ENABLE \
74 MACROS_ENABLED \
75 ONEHAND_ENABLE \
76 PS2_MOUSE_ENABLE \
77 RAW_ENABLE \
78 SOFTPWM_LED_ENABLE \
79 SWAP_HANDS_ENABLE \
80 USB_6KRO_ENABLE \
81 WATCHDOG_ENABLE \
82 XT_ENABLE \
83 ERGOINU \
84 NO_USB_STARTUP_CHECK \
85 DISABLE_PROMICRO_LEDs \
86 MITOSIS_DATAGROK_BOTTOMSPACE \
87 MITOSIS_DATAGROK_SLOWUART \
88 RGB_MATRIX_KEYPRESSES \
89 LED_MIRRORED \
90 RGBLIGHT_FULL_POWER \
91 Link_Time_Optimization \
92 LINK_TIME_OPTIMIZATION_ENABLE
93
94 define NAME_ECHO
95 @echo " $1 = $($1) # $(origin $1)"
96
97 endef
98
99 .PHONY: show_build_options0 show_build_options
100 show_build_options0:
101 @echo " KEYBOARD = $(KEYBOARD)"
102 @echo " KEYMAP = $(KEYMAP)"
103 @echo " MCU = $(MCU)"
104 @echo " MCU_SERIES = $(MCU_SERIES)"
105 @echo " PLATFORM = $(PLATFORM)"
106 @echo " FIRMWARE_FORMAT = $(FIRMWARE_FORMAT)"
107 @echo
108 @echo "Build Options:"
109 $(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
110 $(call NAME_ECHO,$(A_OPTION_NAME)))
111
112 show_build_options: show_build_options0
113 @echo
114 @echo "If you want to know more, please try 'show_all_features' or 'show_full_features'"
115 @echo
116
117 .PHONY: show_all_features
118 show_all_features: show_build_options0
119 @echo
120 @echo "Hardware Options:"
121 $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
122 $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
123 @echo
124 @echo "Other Options:"
125 $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
126 $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
127
128 .PHONY: show_full_features
129 show_full_features: show_build_options0
130 @echo
131 @echo "Hardware Options:"
132 $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
133 $(call NAME_ECHO,$(A_OPTION_NAME)))
134 @echo
135 @echo "Other Options:"
136 $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
137 $(call NAME_ECHO,$(A_OPTION_NAME)))