show_options.mk
3802 bytes
1BUILD_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
15HARDWARE_OPTION_NAMES = \
16 SLEEP_LED_ENABLE \
17 BACKLIGHT_ENABLE \
18 BACKLIGHT_DRIVER \
19 RGBLIGHT_ENABLE \
20 RGBLIGHT_DRIVER \
21 RGB_MATRIX_ENABLE \
22 RGB_MATRIX_DRIVER \
23 CIE1931_CURVE \
24 MIDI_ENABLE \
25 BLUETOOTH_ENABLE \
26 BLUETOOTH_DRIVER \
27 AUDIO_ENABLE \
28 HD44780_ENABLE \
29 ENCODER_ENABLE \
30 LED_TABLES \
31 POINTING_DEVICE_ENABLE \
32 DIP_SWITCH_ENABLE
33
34OTHER_OPTION_NAMES = \
35 UNICODE_ENABLE \
36 UCIS_ENABLE \
37 UNICODEMAP_ENABLE \
38 UNICODE_COMMON \
39 AUTO_SHIFT_ENABLE \
40 DYNAMIC_TAPPING_TERM_ENABLE \
41 COMBO_ENABLE \
42 KEY_LOCK_ENABLE \
43 KEY_OVERRIDE_ENABLE \
44 LEADER_ENABLE \
45 STENO_ENABLE \
46 STENO_PROTOCOL \
47 TAP_DANCE_ENABLE \
48 VIRTSER_ENABLE \
49 OLED_ENABLE \
50 OLED_DRIVER \
51 LED_BACK_ENABLE \
52 LED_UNDERGLOW_ENABLE \
53 LED_ANIMATIONS \
54 IOS_DEVICE_ENABLE \
55 HELIX ZINC \
56 AUTOLOG_ENABLE \
57 DEBUG_ENABLE \
58 ENCODER_MAP_ENABLE \
59 ENCODER_ENABLE_CUSTOM \
60 GERMAN_ENABLE \
61 HAPTIC_ENABLE \
62 KEYLOGGER_ENABLE \
63 LCD_BACKLIGHT_ENABLE \
64 MACROS_ENABLED \
65 PS2_ENABLE \
66 PS2_MOUSE_ENABLE \
67 PS2_DRIVER \
68 RAW_ENABLE \
69 SWAP_HANDS_ENABLE \
70 WATCHDOG_ENABLE \
71 ERGOINU \
72 NO_USB_STARTUP_CHECK \
73 DISABLE_PROMICRO_LEDs \
74 MITOSIS_DATAGROK_BOTTOMSPACE \
75 MITOSIS_DATAGROK_SLOWUART \
76 RGB_MATRIX_KEYPRESSES \
77 LED_MIRRORED \
78 RGBLIGHT_FULL_POWER \
79 LTO_ENABLE \
80 PROGRAMMABLE_BUTTON_ENABLE \
81 SECURE_ENABLE \
82 CAPS_WORD_ENABLE \
83 AUTOCORRECT_ENABLE \
84 TRI_LAYER_ENABLE \
85 REPEAT_KEY_ENABLE
86
87define NAME_ECHO
88 @printf " %-30s = %-16s # %s\\n" "$1" "$($1)" "$(origin $1)"
89
90endef
91
92define YAML_NAME_ECHO
93 @echo ' $1 : "$(strip $($1))"'
94
95endef
96
97.PHONY: show_build_options0 show_build_options
98show_build_options0:
99 @echo " KEYBOARD = $(KEYBOARD)"
100 @echo " KEYMAP = $(KEYMAP)"
101 @echo " MCU = $(MCU)"
102 @echo " MCU_SERIES = $(MCU_SERIES)"
103 @echo " PLATFORM = $(PLATFORM)"
104 @echo " BOOTLOADER = $(BOOTLOADER)"
105 @echo " FIRMWARE_FORMAT = $(FIRMWARE_FORMAT)"
106 @echo
107 @echo "Build Options:"
108 $(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
109 $(call NAME_ECHO,$(A_OPTION_NAME)))
110
111show_build_options: show_build_options0
112 @echo
113 @echo "If you want to know more, please try 'show_all_features' or 'show_full_features'"
114 @echo
115
116.PHONY: show_all_features
117show_all_features: show_build_options0
118 @echo
119 @echo "Hardware Options:"
120 $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
121 $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
122 @echo
123 @echo "Other Options:"
124 $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
125 $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME))))
126
127.PHONY: show_full_features
128show_full_features: show_build_options0
129 @echo
130 @echo "Hardware Options:"
131 $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
132 $(call NAME_ECHO,$(A_OPTION_NAME)))
133 @echo
134 @echo "Other Options:"
135 $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
136 $(call NAME_ECHO,$(A_OPTION_NAME)))
137
138.PHONY: yaml_build_options
139yaml_build_options:
140 @echo '- KEYBOARD : "$(KEYBOARD)"'
141 @echo ' KEYMAP : "$(KEYMAP)"'
142 @echo ' MCU : "$(MCU)"'
143 @echo ' MCU_SERIES : "$(MCU_SERIES)"'
144 @echo ' PLATFORM : "$(PLATFORM)"'
145 @echo ' FIRMWARE_FORMAT : "$(FIRMWARE_FORMAT)"'
146 $(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\
147 $(call YAML_NAME_ECHO,$(A_OPTION_NAME)))
148 $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\
149 $(if $($(A_OPTION_NAME)),$(call YAML_NAME_ECHO,$(A_OPTION_NAME))))
150 $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\
151 $(if $($(A_OPTION_NAME)),$(call YAML_NAME_ECHO,$(A_OPTION_NAME))))