diff options
author | Takeshi ISHII <2170248+mtei@users.noreply.github.com> | 2019-02-15 10:52:58 +0900 |
---|---|---|
committer | Drashna Jaelre <drashna@live.com> | 2019-02-14 17:52:58 -0800 |
commit | d5bc7fc1575543eb27cffcc465a8f0c4e11b7de7 (patch) | |
tree | e37cfceb42232ce03afa62146eaf73fe7e8a2e47 | |
parent | a08be85780692021943bb11fb716d91994ddb223 (diff) | |
download | qmk_firmware-d5bc7fc1575543eb27cffcc465a8f0c4e11b7de7.tar.gz |
Add makefile target 'show_build_options' and 'show_all_features' (#5048)
* Add makefile target 'show_build_options' and 'show_all_features'
Example:
```
$ make planck:default:show_all_features
QMK Firmware 0.6.266
Making planck/rev5 with keymap default and target show_all_features
PLATFORM = AVR
FIRMWARE_FORMAT = hex
Build Options:
BOOTMAGIC_ENABLE = no
MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = yes
CONSOLE_ENABLE = yes
COMMAND_ENABLE = no
SLEEP_LED_ENABLE = no
NKRO_ENABLE = yes
BACKLIGHT_ENABLE = no
RGBLIGHT_ENABLE = no
MIDI_ENABLE = no
UNICODE_ENABLE = no
BLUETOOTH_ENABLE = no
AUDIO_ENABLE = yes
FAUXCLICKY_ENABLE =
HD44780_ENABLE =
Other Features:
API_SYSEX_ENABLE = no
RGB_MATRIX_ENABLE = no
```
* remove duplicate 'SPLIT_KEYBOARD'
* add .PHONY, change 'echo' -> '@echo'
* update show_options.mk: useing variable BUILD_OPTION_NAMES, HARDWARE_OPTION_NAMES and OTHER_OPTION_NAMES
* update show_options.mk: add KEYBOARD,KEYMAP
* update show_options.mk: add sorting
* update show_options.mk: add show_full_features, add $(origin XXX)
* update show_options.mk: Macro names was collected from keyboards/.
* update show_options.mk: add some Macro Names
-rw-r--r-- | build_keyboard.mk | 1 | ||||
-rw-r--r-- | show_options.mk | 136 |
2 files changed, 137 insertions, 0 deletions
diff --git a/build_keyboard.mk b/build_keyboard.mk index 0239a58b7..71ba80523 100644 --- a/build_keyboard.mk +++ b/build_keyboard.mk @@ -371,4 +371,5 @@ all: build check-size build: elf cpfirmware check-size: build +include show_options.mk include $(TMK_PATH)/rules.mk diff --git a/show_options.mk b/show_options.mk new file mode 100644 index 000000000..e72dd75cf --- /dev/null +++ b/show_options.mk @@ -0,0 +1,136 @@ +BUILD_OPTION_NAMES = \ + BOOTMAGIC_ENABLE \ + MOUSEKEY_ENABLE \ + EXTRAKEY_ENABLE \ + CONSOLE_ENABLE \ + COMMAND_ENABLE \ + NKRO_ENABLE \ + TERMINAL_ENABLE \ + CUSTOM_MATRIX \ + CUSTOM_DEBOUNCE \ + SPLIT_KEYBOARD \ + DYNAMIC_KEYMAP_ENABLE \ + USB_HID_ENABLE + +HARDWARE_OPTION_NAMES = \ + SLEEP_LED_ENABLE \ + BACKLIGHT_ENABLE \ + BACKLIGHT_CUSTOM_DRIVER \ + RGBLIGHT_ENABLE \ + RGBLIGHT_CUSTOM_DRIVER \ + RGB_MATRIX_ENABLE \ + SERIAL_LINK_ENABLE \ + CIE1931_CURVE \ + MIDI_ENABLE \ + BLUETOOTH_ENABLE \ + AUDIO_ENABLE \ + FAUXCLICKY_ENABLE \ + HD44780_ENABLE \ + ENCODER_ENABLE \ + LCD_ENABLE \ + LED_BREATHING_TABLE \ + LED_TABLES \ + POINTING_DEVICE_ENABLE \ + VISUALIZER_ENABLE + +OTHER_OPTION_NAMES = \ + UNICODE_ENABLE \ + UCIS_ENABLE \ + UNICODEMAP_ENABLE \ + UNICODE_COMMON \ + API_SYSEX_ENABLE \ + AUTO_SHIFT_ENABLE \ + AUTO_SHIFT_MODIFIERS \ + COMBO_ENABLE \ + KEY_LOCK_ENABLE \ + LEADER_ENABLE \ + PRINTING_ENABLE \ + STENO_ENABLE \ + TAP_DANCE_ENABLE \ + VIRTSER_ENABLE \ + OLED_ENABLE \ + LED_BACK_ENABLE \ + LED_UNDERGLOW_ENABLE \ + LED_ANIMATIONS \ + IOS_DEVICE_ENABLE \ + HELIX ZINC \ + ADAFRUIT_BLE_ENABLE \ + AUTOLOG_ENABLE \ + BREATHING_LED_ENABLE \ + DEBUG_ENABLE \ + ENCODER_ENABLE_CUSTOM \ + FADING_LED_ENABLE \ + GERMAN_ENABLE \ + HAPTIC_ENABLE \ + HHKB_RN42_ENABLE \ + ISSI_ENABLE \ + KEYBOARD_LOCK_ENABLE \ + KEYLOGGER_ENABLE \ + KEYMAP_IN_EEPROM_ENABLE \ + KEYMAP_SECTION_ENABLE \ + LCD_BACKLIGHT_ENABLE \ + LEDMAP_ENABLE \ + LEDMAP_IN_EEPROM_ENABLE \ + MACROS_ENABLED \ + ONEHAND_ENABLE \ + PS2_MOUSE_ENABLE \ + RAW_ENABLE \ + SOFTPWM_LED_ENABLE \ + SWAP_HANDS_ENABLE \ + USB_6KRO_ENABLE \ + WATCHDOG_ENABLE \ + XT_ENABLE \ + ERGOINU \ + NO_USB_STARTUP_CHECK \ + DISABLE_PROMICRO_LEDs \ + MITOSIS_DATAGROK_BOTTOMSPACE \ + MITOSIS_DATAGROK_SLOWUART \ + RGB_MATRIX_KEYPRESSES \ + LED_MIRRORED \ + RGBLIGHT_FULL_POWER \ + Link_Time_Optimization + +define NAME_ECHO + @echo " $1 = $($1) # $(origin $1)" + +endef + +.PHONY: show_build_options0 show_build_options +show_build_options0: + @echo " KEYBOARD = $(KEYBOARD)" + @echo " KEYMAP = $(KEYMAP)" + @echo " MCU = $(MCU)" + @echo " MCU_SERIES = $(MCU_SERIES)" + @echo " PLATFORM = $(PLATFORM)" + @echo " FIRMWARE_FORMAT = $(FIRMWARE_FORMAT)" + @echo + @echo "Build Options:" + $(foreach A_OPTION_NAME,$(sort $(BUILD_OPTION_NAMES)),\ + $(call NAME_ECHO,$(A_OPTION_NAME))) + +show_build_options: show_build_options0 + @echo + @echo "If you want to know more, please try 'show_all_features' or 'show_full_features'" + @echo + +.PHONY: show_all_features +show_all_features: show_build_options0 + @echo + @echo "Hardware Options:" + $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\ + $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME)))) + @echo + @echo "Other Options:" + $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\ + $(if $($(A_OPTION_NAME)),$(call NAME_ECHO,$(A_OPTION_NAME)))) + +.PHONY: show_full_features +show_full_features: show_build_options0 + @echo + @echo "Hardware Options:" + $(foreach A_OPTION_NAME,$(sort $(HARDWARE_OPTION_NAMES)),\ + $(call NAME_ECHO,$(A_OPTION_NAME))) + @echo + @echo "Other Options:" + $(foreach A_OPTION_NAME,$(sort $(OTHER_OPTION_NAMES)),\ + $(call NAME_ECHO,$(A_OPTION_NAME))) |