summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi ISHII <2170248+mtei@users.noreply.github.com>2019-02-15 10:52:58 +0900
committerDrashna Jaelre <drashna@live.com>2019-02-14 17:52:58 -0800
commitd5bc7fc1575543eb27cffcc465a8f0c4e11b7de7 (patch)
treee37cfceb42232ce03afa62146eaf73fe7e8a2e47
parenta08be85780692021943bb11fb716d91994ddb223 (diff)
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.mk1
-rw-r--r--show_options.mk136
2 files changed, 137 insertions, 0 deletions
diff --git a/build_keyboard.mk b/build_keyboard.mk
index 0239a58b79..71ba805236 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 0000000000..e72dd75cfa
--- /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)))