mirror of
https://github.com/qmk/qmk_firmware
synced 2024-12-22 16:36:58 +00:00
7e655a207e
* Add option to enable LTO easily and disable features that cause compiling errors with LTO * Add documentation about LTO option * Add to show_options
138 lines
3.1 KiB
Makefile
138 lines
3.1 KiB
Makefile
BUILD_OPTION_NAMES = \
|
|
BOOTMAGIC_ENABLE \
|
|
MOUSEKEY_ENABLE \
|
|
EXTRAKEY_ENABLE \
|
|
CONSOLE_ENABLE \
|
|
COMMAND_ENABLE \
|
|
NKRO_ENABLE \
|
|
TERMINAL_ENABLE \
|
|
CUSTOM_MATRIX \
|
|
DEBOUNCE_TYPE \
|
|
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 \
|
|
LINK_TIME_OPTIMIZATION_ENABLE
|
|
|
|
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)))
|