summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrashna Jaelre <drashna@live.com>2020-08-22 01:21:06 -0700
committerJames Young <18669334+noroadsleft@users.noreply.github.com>2020-08-29 14:30:02 -0700
commit92385b3fb617326b129609726020453c8949c7f8 (patch)
tree29d881897a59f0b1568bbaf21534c81360ad21e6
parent3f392c09b60d46d9e4a4d3cc150a26294dea4da7 (diff)
Better handle LTO_ENABLE (#9832)
* Better handle LTO_ENABLE Especially when calling from command line * Replace LINK_TIME_OPTIMIZATION_ENABLE with LTO_ENABLE * Remove long for LTO from show_options.mk
-rw-r--r--docs/config_options.md4
-rw-r--r--docs/ja/config_options.md4
-rw-r--r--keyboards/1upkeyboards/sweet16/v1/rules.mk2
-rw-r--r--keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk2
-rw-r--r--keyboards/bm60rgb/rules.mk2
-rw-r--r--keyboards/clueboard/66/keymaps/via/rules.mk2
-rw-r--r--keyboards/clueboard/card/rules.mk2
-rw-r--r--keyboards/converter/usb_usb/keymaps/chriskopher/rules.mk2
-rw-r--r--keyboards/crkbd/keymaps/ninjonas/rules.mk2
-rw-r--r--keyboards/crkbd/keymaps/rpbaptist/rules.mk2
-rw-r--r--keyboards/dz60/keymaps/via/rules.mk2
-rw-r--r--keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk3
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/chocol8/rules.mk3
-rw-r--r--keyboards/dztech/dz65rgb/keymaps/matthewrobo/rules.mk3
-rw-r--r--keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk2
-rw-r--r--keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk2
-rw-r--r--keyboards/flx/virgo/rules.mk3
-rw-r--r--keyboards/gray_studio/think65/hotswap/rules.mk2
-rw-r--r--keyboards/gray_studio/think65/solder/rules.mk2
-rw-r--r--keyboards/handwired/promethium/rules.mk2
-rw-r--r--keyboards/helix/pico/keymaps/biacco/rules.mk2
-rw-r--r--keyboards/helix/pico/keymaps/default/rules.mk2
-rw-r--r--keyboards/helix/pico/keymaps/mtei/rules.mk2
-rw-r--r--keyboards/helix/pico/local_features.mk6
-rw-r--r--keyboards/helix/rev2/keymaps/default/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/edvorakjp/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/froggy/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/froggy_106/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/led_test/rules.mk2
-rw-r--r--keyboards/helix/rev2/keymaps/yshrsmz/rules.mk2
-rw-r--r--keyboards/helix/rev2/local_features.mk2
-rw-r--r--keyboards/hineybush/h88/rules.mk2
-rw-r--r--keyboards/hotdox/keymaps/ninjonas/rules.mk2
-rw-r--r--keyboards/id80/keymaps/via/rules.mk2
-rw-r--r--keyboards/kc60/keymaps/noroadsleft/rules.mk2
-rw-r--r--keyboards/keebio/bdn9/keymaps/via/rules.mk2
-rw-r--r--keyboards/keebio/iris/keymaps/pvinis/rules.mk2
-rw-r--r--keyboards/keebio/iris/keymaps/via/rules.mk2
-rw-r--r--keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk2
-rw-r--r--keyboards/keebio/quefrency/keymaps/via/rules.mk2
-rw-r--r--keyboards/kyria/keymaps/ninjonas/rules.mk4
-rw-r--r--keyboards/kyria/rules.mk2
-rw-r--r--keyboards/launchpad/keymaps/via/rules.mk2
-rw-r--r--keyboards/lily58/keymaps/ninjonas/rules.mk2
-rw-r--r--keyboards/pinky/3/keymaps/ninjonas/rules.mk2
-rw-r--r--keyboards/planck/keymaps/oryx/rules.mk2
-rw-r--r--keyboards/planck/keymaps/sascha/rules.mk2
-rw-r--r--keyboards/planck/keymaps/tylerwince/rules.mk2
-rw-r--r--keyboards/preonic/rev1/rules.mk2
-rw-r--r--keyboards/preonic/rev2/rules.mk2
-rw-r--r--keyboards/rgbkb/sol/keymaps/kageurufu/rules.mk3
-rw-r--r--keyboards/rgbkb/sol/rev2/rules.mk2
-rw-r--r--keyboards/rgbkb/zygomorph/keymaps/5x6pad/rules.mk2
-rw-r--r--keyboards/rgbkb/zygomorph/keymaps/default/rules.mk2
-rw-r--r--keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk2
-rw-r--r--keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk2
-rw-r--r--keyboards/tg4x/rules.mk2
-rw-r--r--keyboards/tkc/candybar/lefty/rules.mk2
-rw-r--r--keyboards/tkc/candybar/righty/rules.mk2
-rw-r--r--keyboards/v60_type_r/rules.mk2
-rw-r--r--keyboards/vitamins_included/rules.mk2
-rw-r--r--keyboards/xd004/v1/config.h2
-rw-r--r--keyboards/xd004/v1/rules.mk2
-rw-r--r--keyboards/xd84/rules.mk2
-rw-r--r--keyboards/xd96/rules.mk2
-rw-r--r--keyboards/yushakobo/quick7/config.h2
-rw-r--r--show_options.mk3
-rw-r--r--tmk_core/common.mk9
-rw-r--r--tmk_core/common/action.h2
-rw-r--r--tmk_core/common/command.c2
-rw-r--r--users/bcat/rules.mk2
-rw-r--r--users/dshields/rules.mk3
-rw-r--r--users/issmirnov/rules.mk2
-rw-r--r--users/kuchosauronad0/rules.mk4
-rw-r--r--users/pvinis/rules.mk2
-rw-r--r--users/yanfali/rules.mk2
-rw-r--r--users/yet-another-developer/rules.mk2
79 files changed, 85 insertions, 99 deletions
diff --git a/docs/config_options.md b/docs/config_options.md
index 81a3b4b61c..a323741c2a 100644
--- a/docs/config_options.md
+++ b/docs/config_options.md
@@ -324,11 +324,9 @@ This is a [make](https://www.gnu.org/software/make/manual/make.html) file that i
```
* `LAYOUTS`
* A list of [layouts](feature_layouts.md) this keyboard supports.
-* `LINK_TIME_OPTIMIZATION_ENABLE`
+* `LTO_ENABLE`
* Enables Link Time Optimization (LTO) when compiling the keyboard. This makes the process take longer, but it can significantly reduce the compiled size (and since the firmware is small, the added time is not noticeable).
However, this will automatically disable the legacy TMK Macros and Functions features, as these break when LTO is enabled. It does this by automatically defining `NO_ACTION_MACRO` and `NO_ACTION_FUNCTION`. (Note: This does not affect QMK [Macros](feature_macros.md) and [Layers](feature_layers.md).)
-* `LTO_ENABLE`
- * Has the same meaning as `LINK_TIME_OPTIMIZATION_ENABLE`. You can use `LTO_ENABLE` instead of `LINK_TIME_OPTIMIZATION_ENABLE`.
## AVR MCU Options
* `MCU = atmega32u4`
diff --git a/docs/ja/config_options.md b/docs/ja/config_options.md
index b4cf3c888c..6ba7f6f1f3 100644
--- a/docs/ja/config_options.md
+++ b/docs/ja/config_options.md
@@ -322,11 +322,9 @@ QMK での全ての利用可能な設定にはデフォルトがあります。
```
* `LAYOUTS`
* このキーボードがサポートする[レイアウト](ja/feature_layouts.md)のリスト
-* `LINK_TIME_OPTIMIZATION_ENABLE`
+* `LTO_ENABLE`
* キーボードをコンパイルする時に、Link Time Optimization (LTO) を有効にします。これは処理に時間が掛かりますが、コンパイルされたサイズを大幅に減らします (そして、ファームウェアが小さいため、追加の時間は分からないくらいです)。
ただし、LTO が有効な場合、古い TMK のマクロと関数の機能が壊れるため、自動的にこれらの機能を無効にします。これは `NO_ACTION_MACRO` と `NO_ACTION_FUNCTION` を自動的に定義することで行われます。(メモ: これは QMK の [マクロ](ja/feature_macros.md) と [レイヤー](ja/feature_layers.md) には影響を与えません。)
-* `LTO_ENABLE`
- * LINK_TIME_OPTIMIZATION_ENABLE と同じ意味です。`LINK_TIME_OPTIMIZATION_ENABLE` の代わりに `LTO_ENABLE` を使うことができます。
## AVR MCU オプション
* `MCU = atmega32u4`
diff --git a/keyboards/1upkeyboards/sweet16/v1/rules.mk b/keyboards/1upkeyboards/sweet16/v1/rules.mk
index 09bd9e9e25..4c4280cdd4 100644
--- a/keyboards/1upkeyboards/sweet16/v1/rules.mk
+++ b/keyboards/1upkeyboards/sweet16/v1/rules.mk
@@ -14,4 +14,4 @@ BOOTLOADER = caterina
RGBLIGHT_ENABLE = yes
BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk b/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk
index 9f38504a8c..16510f7674 100644
--- a/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk
+++ b/keyboards/1upkeyboards/sweet16/v2/promicro/rules.mk
@@ -18,4 +18,4 @@ CONSOLE_ENABLE = yes
RGBLIGHT_ENABLE = no
ENCODER_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/bm60rgb/rules.mk b/keyboards/bm60rgb/rules.mk
index 72bfd539da..d888399cfc 100644
--- a/keyboards/bm60rgb/rules.mk
+++ b/keyboards/bm60rgb/rules.mk
@@ -31,7 +31,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
RGB_MATRIX_ENABLE = WS2812
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
# partially generated by KBFirmware JSON to QMK Parser
# https://noroadsleft.github.io/kbf_qmk_converter/
diff --git a/keyboards/clueboard/66/keymaps/via/rules.mk b/keyboards/clueboard/66/keymaps/via/rules.mk
index e85bff468f..7a49719505 100644
--- a/keyboards/clueboard/66/keymaps/via/rules.mk
+++ b/keyboards/clueboard/66/keymaps/via/rules.mk
@@ -1,4 +1,4 @@
# rules.mk overrides to enable VIA
VIA_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes \ No newline at end of file
+LTO_ENABLE = yes
diff --git a/keyboards/clueboard/card/rules.mk b/keyboards/clueboard/card/rules.mk
index 37d1d866ef..a1b003f29c 100644
--- a/keyboards/clueboard/card/rules.mk
+++ b/keyboards/clueboard/card/rules.mk
@@ -26,4 +26,4 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = yes # Audio output on port C6
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/converter/usb_usb/keymaps/chriskopher/rules.mk b/keyboards/converter/usb_usb/keymaps/chriskopher/rules.mk
index d80022853b..643e1d013b 100644
--- a/keyboards/converter/usb_usb/keymaps/chriskopher/rules.mk
+++ b/keyboards/converter/usb_usb/keymaps/chriskopher/rules.mk
@@ -19,6 +19,6 @@ EXTRAKEY_ENABLE = yes # Used for audio control and system control keys
COMBO_ENABLE = yes # Used to allow chording of keys to trigger an action
TAP_DANCE_ENABLE = yes # Used to allow multiple taps of a key to perform different actions
-LINK_TIME_OPTIMIZATION_ENABLE = yes # Reduces the compiled firmware size
+LTO_ENABLE = yes # Reduces the compiled firmware size
SRC += combo.c tap_dance.c
diff --git a/keyboards/crkbd/keymaps/ninjonas/rules.mk b/keyboards/crkbd/keymaps/ninjonas/rules.mk
index 95cc3fed36..0c7fb3afcb 100644
--- a/keyboards/crkbd/keymaps/ninjonas/rules.mk
+++ b/keyboards/crkbd/keymaps/ninjonas/rules.mk
@@ -1,7 +1,7 @@
RGB_MATRIX_ENABLE = WS2812
MOUSEKEY_ENABLE = no
OLED_DRIVER_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
diff --git a/keyboards/crkbd/keymaps/rpbaptist/rules.mk b/keyboards/crkbd/keymaps/rpbaptist/rules.mk
index d9e8b701e2..dedd5753e5 100644
--- a/keyboards/crkbd/keymaps/rpbaptist/rules.mk
+++ b/keyboards/crkbd/keymaps/rpbaptist/rules.mk
@@ -1,5 +1,5 @@
#This enables Link Time Optimization.This can save a good chunk of space(several KB for me), but the macro and function... functions cause it to error out.
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
#Build Options
#change to "no" to disable the options, or define them in the Makefile in
diff --git a/keyboards/dz60/keymaps/via/rules.mk b/keyboards/dz60/keymaps/via/rules.mk
index ea9a831e17..ca9fed0e6b 100644
--- a/keyboards/dz60/keymaps/via/rules.mk
+++ b/keyboards/dz60/keymaps/via/rules.mk
@@ -1,2 +1,2 @@
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
VIA_ENABLE = yes
diff --git a/keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk b/keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk
index 7a77be4939..d12c8dc44e 100644
--- a/keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk
+++ b/keyboards/dztech/dz60rgb/keymaps/xunz/rules.mk
@@ -1,5 +1,4 @@
NKRO_ENABLE = yes # USB Nkey Rollover
# VELOCIKEY_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
-
+LTO_ENABLE = yes
diff --git a/keyboards/dztech/dz65rgb/keymaps/chocol8/rules.mk b/keyboards/dztech/dz65rgb/keymaps/chocol8/rules.mk
index 626329f811..1778a5e141 100644
--- a/keyboards/dztech/dz65rgb/keymaps/chocol8/rules.mk
+++ b/keyboards/dztech/dz65rgb/keymaps/chocol8/rules.mk
@@ -2,5 +2,4 @@ NKRO_ENABLE = yes # USB Nkey Rollover
VELOCIKEY_ENABLE = yes
# AUTO_SHIFT_ENABLE = yes # Auto Shift
-LINK_TIME_OPTIMIZATION_ENABLE = yes
-
+LTO_ENABLE = yes
diff --git a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/rules.mk b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/rules.mk
index 9a75bb29dc..29afe8cd03 100644
--- a/keyboards/dztech/dz65rgb/keymaps/matthewrobo/rules.mk
+++ b/keyboards/dztech/dz65rgb/keymaps/matthewrobo/rules.mk
@@ -2,5 +2,4 @@ NKRO_ENABLE = yes # USB Nkey Rollover
AUTO_SHIFT_ENABLE = yes # Auto Shift
# VELOCIKEY_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
-
+LTO_ENABLE = yes
diff --git a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk b/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk
index aa13f98bd6..2eda18ce4f 100644
--- a/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk
+++ b/keyboards/ergodox_ez/keymaps/hacker_dvorak/rules.mk
@@ -1,7 +1,7 @@
# Set any rules.mk overrides for your specific keymap here.
# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
TAP_DANCE_ENABLE = yes
MOUSEKEY_ENABLE = yes # Mouse keys(+4700b).
diff --git a/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk b/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk
index b41c275dd1..31c3fe3c74 100644
--- a/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk
+++ b/keyboards/ergodox_ez/keymaps/nathanvercaemert/rules.mk
@@ -1,6 +1,6 @@
# Set any rules.mk overrides for your specific keymap here.
# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
COMMAND_ENABLE = no
RGBLIGHT_ENABLE = no
TAP_DANCE_ENABLE=yes
diff --git a/keyboards/flx/virgo/rules.mk b/keyboards/flx/virgo/rules.mk
index 529d365b59..cbf45a2b9b 100644
--- a/keyboards/flx/virgo/rules.mk
+++ b/keyboards/flx/virgo/rules.mk
@@ -30,5 +30,4 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-LINK_TIME_OPTIMIZATION_ENABLE = yes
-
+LTO_ENABLE = yes
diff --git a/keyboards/gray_studio/think65/hotswap/rules.mk b/keyboards/gray_studio/think65/hotswap/rules.mk
index 2d789ff59a..5f85ff18ad 100644
--- a/keyboards/gray_studio/think65/hotswap/rules.mk
+++ b/keyboards/gray_studio/think65/hotswap/rules.mk
@@ -32,7 +32,7 @@ AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/gray_studio/think65/solder/rules.mk b/keyboards/gray_studio/think65/solder/rules.mk
index 2d789ff59a..5f85ff18ad 100644
--- a/keyboards/gray_studio/think65/solder/rules.mk
+++ b/keyboards/gray_studio/think65/solder/rules.mk
@@ -32,7 +32,7 @@ AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
LAYOUTS = 65_ansi_blocker
diff --git a/keyboards/handwired/promethium/rules.mk b/keyboards/handwired/promethium/rules.mk
index 19d20ee03f..4b96e2f691 100644
--- a/keyboards/handwired/promethium/rules.mk
+++ b/keyboards/handwired/promethium/rules.mk
@@ -45,4 +45,4 @@ SRC += rgbsps.c
SRC += analog.c
SRC += matrix.c
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/helix/pico/keymaps/biacco/rules.mk b/keyboards/helix/pico/keymaps/biacco/rules.mk
index 0c60c40f64..37e49977c5 100644
--- a/keyboards/helix/pico/keymaps/biacco/rules.mk
+++ b/keyboards/helix/pico/keymaps/biacco/rules.mk
@@ -7,7 +7,7 @@
#
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
AUDIO_ENABLE = yes # Audio output on port B5
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 6 Variables
diff --git a/keyboards/helix/pico/keymaps/default/rules.mk b/keyboards/helix/pico/keymaps/default/rules.mk
index c084457321..8f198e3803 100644
--- a/keyboards/helix/pico/keymaps/default/rules.mk
+++ b/keyboards/helix/pico/keymaps/default/rules.mk
@@ -7,7 +7,7 @@
#
EXTRAKEY_ENABLE = yes # Audio control and System control
AUDIO_ENABLE = yes # Audio output on port B5
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 6 Variables
diff --git a/keyboards/helix/pico/keymaps/mtei/rules.mk b/keyboards/helix/pico/keymaps/mtei/rules.mk
index 764b073007..165233f5fe 100644
--- a/keyboards/helix/pico/keymaps/mtei/rules.mk
+++ b/keyboards/helix/pico/keymaps/mtei/rules.mk
@@ -7,7 +7,7 @@
#
EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
AUDIO_ENABLE = yes # Audio output on port B5
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 6 Variables
diff --git a/keyboards/helix/pico/local_features.mk b/keyboards/helix/pico/local_features.mk
index 0277a3d227..a984446868 100644
--- a/keyboards/helix/pico/local_features.mk
+++ b/keyboards/helix/pico/local_features.mk
@@ -106,10 +106,10 @@ endif
ifeq ($(strip $(AUDIO_ENABLE)),yes)
ifeq ($(strip $(RGBLIGHT_ENABLE)),yes)
- LINK_TIME_OPTIMIZATION_ENABLE = yes
+ LTO_ENABLE = yes
endif
ifeq ($(strip $(OLED_ENABLE)),yes)
- LINK_TIME_OPTIMIZATION_ENABLE = yes
+ LTO_ENABLE = yes
endif
endif
@@ -120,7 +120,7 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
$(info -- OLED_DRIVER_ENABLE = $(OLED_DRIVER_ENABLE))
$(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE))
$(info -- OPT_DEFS = $(OPT_DEFS))
- $(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE))
+ $(info -- LTO_ENABLE = $(LTO_ENABLE))
$(info )
endif
endif
diff --git a/keyboards/helix/rev2/keymaps/default/rules.mk b/keyboards/helix/rev2/keymaps/default/rules.mk
index 6a42fcf73f..9801648dec 100644
--- a/keyboards/helix/rev2/keymaps/default/rules.mk
+++ b/keyboards/helix/rev2/keymaps/default/rules.mk
@@ -5,7 +5,7 @@
# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
# See TOP/docs/config_options.md for more information.
#
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
diff --git a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk b/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk
index e30690029b..18bef6bf71 100644
--- a/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk
+++ b/keyboards/helix/rev2/keymaps/edvorakjp/rules.mk
@@ -5,7 +5,7 @@
# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
# See TOP/docs/config_options.md for more information.
#
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
TAP_DANCE_ENABLE = yes
# Helix Spacific Build Options
diff --git a/keyboards/helix/rev2/keymaps/five_rows/rules.mk b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
index fb564b6e04..8c4239deb9 100644
--- a/keyboards/helix/rev2/keymaps/five_rows/rules.mk
+++ b/keyboards/helix/rev2/keymaps/five_rows/rules.mk
@@ -11,7 +11,7 @@
# yes, no +1500
# yes, yes +3200
# no, yes +400
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk b/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk
index 6c2057cfd6..d44382f86a 100644
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk
+++ b/keyboards/helix/rev2/keymaps/five_rows_jis/rules.mk
@@ -5,7 +5,7 @@
# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
# See TOP/docs/config_options.md for more information.
#
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
diff --git a/keyboards/helix/rev2/keymaps/froggy/rules.mk b/keyboards/helix/rev2/keymaps/froggy/rules.mk
index bea059ca16..5a0fd9a2b1 100644
--- a/keyboards/helix/rev2/keymaps/froggy/rules.mk
+++ b/keyboards/helix/rev2/keymaps/froggy/rules.mk
@@ -5,7 +5,7 @@
# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
# See TOP/docs/config_options.md for more information.
#
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
diff --git a/keyboards/helix/rev2/keymaps/froggy_106/rules.mk b/keyboards/helix/rev2/keymaps/froggy_106/rules.mk
index bea059ca16..5a0fd9a2b1 100644
--- a/keyboards/helix/rev2/keymaps/froggy_106/rules.mk
+++ b/keyboards/helix/rev2/keymaps/froggy_106/rules.mk
@@ -5,7 +5,7 @@
# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
# See TOP/docs/config_options.md for more information.
#
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
diff --git a/keyboards/helix/rev2/keymaps/led_test/rules.mk b/keyboards/helix/rev2/keymaps/led_test/rules.mk
index fb0b5a5476..013ef1482d 100644
--- a/keyboards/helix/rev2/keymaps/led_test/rules.mk
+++ b/keyboards/helix/rev2/keymaps/led_test/rules.mk
@@ -5,7 +5,7 @@
# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
# See TOP/docs/config_options.md for more information.
#
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
diff --git a/keyboards/helix/rev2/keymaps/yshrsmz/rules.mk b/keyboards/helix/rev2/keymaps/yshrsmz/rules.mk
index 13d8099317..83dcc9b3b8 100644
--- a/keyboards/helix/rev2/keymaps/yshrsmz/rules.mk
+++ b/keyboards/helix/rev2/keymaps/yshrsmz/rules.mk
@@ -5,7 +5,7 @@
# See TOP/keyboards/helix/rules.mk for a list of options that can be set.
# See TOP/docs/config_options.md for more information.
#
-LINK_TIME_OPTIMIZATION_ENABLE = no # if firmware size over limit, try this option
+LTO_ENABLE = no # if firmware size over limit, try this option
# Helix Spacific Build Options
# you can uncomment and edit follows 7 Variables
diff --git a/keyboards/helix/rev2/local_features.mk b/keyboards/helix/rev2/local_features.mk
index 4b120936de..3f8a7216f9 100644
--- a/keyboards/helix/rev2/local_features.mk
+++ b/keyboards/helix/rev2/local_features.mk
@@ -119,7 +119,7 @@ ifneq ($(strip $(SHOW_HELIX_OPTIONS)),)
$(info -- OLED_DRIVER_ENABLE = $(OLED_DRIVER_ENABLE))
$(info -- CONSOLE_ENABLE = $(CONSOLE_ENABLE))
$(info -- OPT_DEFS = $(OPT_DEFS))
- $(info -- LINK_TIME_OPTIMIZATION_ENABLE = $(LINK_TIME_OPTIMIZATION_ENABLE))
+ $(info -- LTO_ENABLE = $(LTO_ENABLE))
$(info )
endif
endif
diff --git a/keyboards/hineybush/h88/rules.mk b/keyboards/hineybush/h88/rules.mk
index f395375460..3d7de2731d 100644
--- a/keyboards/hineybush/h88/rules.mk
+++ b/keyboards/hineybush/h88/rules.mk
@@ -30,4 +30,4 @@ UNICODE_ENABLE = no # Unicode
BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/hotdox/keymaps/ninjonas/rules.mk b/keyboards/hotdox/keymaps/ninjonas/rules.mk
index 3ec5fb0628..4da205a168 100644
--- a/keyboards/hotdox/keymaps/ninjonas/rules.mk
+++ b/keyboards/hotdox/keymaps/ninjonas/rules.mk
@@ -1 +1 @@
-LINK_TIME_OPTIMIZATION_ENABLE = yes \ No newline at end of file
+LTO_ENABLE = yes
diff --git a/keyboards/id80/keymaps/via/rules.mk b/keyboards/id80/keymaps/via/rules.mk
index ea9a831e17..ca9fed0e6b 100644
--- a/keyboards/id80/keymaps/via/rules.mk
+++ b/keyboards/id80/keymaps/via/rules.mk
@@ -1,2 +1,2 @@
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
VIA_ENABLE = yes
diff --git a/keyboards/kc60/keymaps/noroadsleft/rules.mk b/keyboards/kc60/keymaps/noroadsleft/rules.mk
index c9805878d2..2eab7943dd 100644
--- a/keyboards/kc60/keymaps/noroadsleft/rules.mk
+++ b/keyboards/kc60/keymaps/noroadsleft/rules.mk
@@ -1,6 +1,6 @@
# https://github.com/qmk/qmk_firmware/issues/3448#issuecomment-406636125
# EXTRAFLAGS += -flto
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
MOUSEKEY_ENABLE = no # Mouse keys
# COMMAND_ENABLE = no # Commands for debug and configuration
diff --git a/keyboards/keebio/bdn9/keymaps/via/rules.mk b/keyboards/keebio/bdn9/keymaps/via/rules.mk
index aa554ae294..d96967a608 100644
--- a/keyboards/keebio/bdn9/keymaps/via/rules.mk
+++ b/keyboards/keebio/bdn9/keymaps/via/rules.mk
@@ -1,5 +1,5 @@
VIA_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
MOUSEKEY_ENABLE = yes
CONSOLE_ENABLE = yes
COMMAND_ENABLE = no
diff --git a/keyboards/keebio/iris/keymaps/pvinis/rules.mk b/keyboards/keebio/iris/keymaps/pvinis/rules.mk
index deeb312036..1e7e2d417a 100644
--- a/keyboards/keebio/iris/keymaps/pvinis/rules.mk
+++ b/keyboards/keebio/iris/keymaps/pvinis/rules.mk
@@ -4,6 +4,6 @@ RGBLIGHT_ENABLE = yes # rgb leds underlight
ENCODER_ENABLE = yes # rotary knob
# Some extra stuff to make firmware smaller.
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
CONSOLE_ENABLE = no
COMMAND_ENABLE = no
diff --git a/keyboards/keebio/iris/keymaps/via/rules.mk b/keyboards/keebio/iris/keymaps/via/rules.mk
index 92f9671eeb..36b7ba9cbc 100644
--- a/keyboards/keebio/iris/keymaps/via/rules.mk
+++ b/keyboards/keebio/iris/keymaps/via/rules.mk
@@ -1,2 +1,2 @@
VIA_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk b/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk
index 1b8b582abc..fb7f940c93 100644
--- a/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk
+++ b/keyboards/keebio/quefrency/keymaps/drashna_ms/rules.mk
@@ -1,4 +1,4 @@
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
RGBLIGHT_ENABLE = yes
EXTRAKEY_ENABLE = yes
AUDIO_ENABLE = yes
diff --git a/keyboards/keebio/quefrency/keymaps/via/rules.mk b/keyboards/keebio/quefrency/keymaps/via/rules.mk
index 540fc2ac3f..4b1bcabda8 100644
--- a/keyboards/keebio/quefrency/keymaps/via/rules.mk
+++ b/keyboards/keebio/quefrency/keymaps/via/rules.mk
@@ -1,3 +1,3 @@
VIA_ENABLE = yes
CONSOLE_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/kyria/keymaps/ninjonas/rules.mk b/keyboards/kyria/keymaps/ninjonas/rules.mk
index e7e4726bac..94c06b80eb 100644
--- a/keyboards/kyria/keymaps/ninjonas/rules.mk
+++ b/keyboards/kyria/keymaps/ninjonas/rules.mk
@@ -1,6 +1,6 @@
OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays
ENCODER_ENABLE = yes # Enables the use of one or more encoders
RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
-SRC += oled.c \ No newline at end of file
+SRC += oled.c
diff --git a/keyboards/kyria/rules.mk b/keyboards/kyria/rules.mk
index 57fbf76cfb..96f76241d1 100644
--- a/keyboards/kyria/rules.mk
+++ b/keyboards/kyria/rules.mk
@@ -31,6 +31,6 @@ AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
SPLIT_KEYBOARD = yes # Split common
-LINK_TIME_OPTIMIZATION_ENABLE =yes
+LTO_ENABLE = yes
DEFAULT_FOLDER = kyria/rev1
diff --git a/keyboards/launchpad/keymaps/via/rules.mk b/keyboards/launchpad/keymaps/via/rules.mk
index 87843cb0d6..37484844f5 100644
--- a/keyboards/launchpad/keymaps/via/rules.mk
+++ b/keyboards/launchpad/keymaps/via/rules.mk
@@ -1,3 +1,3 @@
VIA_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
RGBLIGHT_ENABLE = yes
diff --git a/keyboards/lily58/keymaps/ninjonas/rules.mk b/keyboards/lily58/keymaps/ninjonas/rules.mk
index dc3fe55bca..2cccbd077d 100644
--- a/keyboards/lily58/keymaps/ninjonas/rules.mk
+++ b/keyboards/lily58/keymaps/ninjonas/rules.mk
@@ -1,2 +1,2 @@
OLED_DRIVER_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes \ No newline at end of file
+LTO_ENABLE = yes
diff --git a/keyboards/pinky/3/keymaps/ninjonas/rules.mk b/keyboards/pinky/3/keymaps/ninjonas/rules.mk
index 155f56ef9f..8d32e22486 100644
--- a/keyboards/pinky/3/keymaps/ninjonas/rules.mk
+++ b/keyboards/pinky/3/keymaps/ninjonas/rules.mk
@@ -1,2 +1,2 @@
MOUSEKEY_ENABLE = no
-LINK_TIME_OPTIMIZATION_ENABLE = yes \ No newline at end of file
+LTO_ENABLE = yes
diff --git a/keyboards/planck/keymaps/oryx/rules.mk b/keyboards/planck/keymaps/oryx/rules.mk
index fb44d6b95e..7657a30434 100644
--- a/keyboards/planck/keymaps/oryx/rules.mk
+++ b/keyboards/planck/keymaps/oryx/rules.mk
@@ -1,6 +1,6 @@
SRC += muse.c
# Set any rules.mk overrides for your specific keymap here.
# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
COMMAND_ENABLE = no
MOUSEKEY_ENABLE = no
diff --git a/keyboards/planck/keymaps/sascha/rules.mk b/keyboards/planck/keymaps/sascha/rules.mk
index 57e5e2643e..ac69f9dbcb 100644
--- a/keyboards/planck/keymaps/sascha/rules.mk
+++ b/keyboards/planck/keymaps/sascha/rules.mk
@@ -1,7 +1,7 @@
AUTO_SHIFT_ENABLE = yes
AUTO_SHIFT_MODIFIERS = yes
UNICODE_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
ifeq ($(strip $(KEYBOARD)), planck/rev5)
BACKLIGHT_ENABLE = yes
diff --git a/keyboards/planck/keymaps/tylerwince/rules.mk b/keyboards/planck/keymaps/tylerwince/rules.mk
index a4f1a0b84f..2c1585883f 100644
--- a/keyboards/planck/keymaps/tylerwince/rules.mk
+++ b/keyboards/planck/keymaps/tylerwince/rules.mk
@@ -1,7 +1,7 @@
SRC += muse.c
# Set any rules.mk overrides for your specific keymap here.
# See rules at https://docs.qmk.fm/#/config_options?id=the-rulesmk-file
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
COMMAND_ENABLE = no
MOUSEKEY_ENABLE = no
TAP_DANCE_ENABLE=yes
diff --git a/keyboards/preonic/rev1/rules.mk b/keyboards/preonic/rev1/rules.mk
index 45edfa0b0f..dea2bbbca9 100644
--- a/keyboards/preonic/rev1/rules.mk
+++ b/keyboards/preonic/rev1/rules.mk
@@ -34,4 +34,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
LAYOUTS = ortho_5x12
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/preonic/rev2/rules.mk b/keyboards/preonic/rev2/rules.mk
index f24c6a49b7..1b72a622a2 100644
--- a/keyboards/preonic/rev2/rules.mk
+++ b/keyboards/preonic/rev2/rules.mk
@@ -34,4 +34,4 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
LAYOUTS = ortho_5x12
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/rgbkb/sol/keymaps/kageurufu/rules.mk b/keyboards/rgbkb/sol/keymaps/kageurufu/rules.mk
index 056959a550..f60fa5d4c9 100644
--- a/keyboards/rgbkb/sol/keymaps/kageurufu/rules.mk
+++ b/keyboards/rgbkb/sol/keymaps/kageurufu/rules.mk
@@ -11,11 +11,10 @@ LED_MIRRORED = no # Mirror LEDs across halves (enable DIP 1 on
RGB_MATRIX_ENABLE = WS2812 # Enable per-key coordinate based RGB effects. Do not enable with RGBlight
# Userspace implements their own LTO
-LINK_TIME_OPTIMIZATION_ENABLE = no
+LTO_ENABLE = no
# Do not edit past here
include keyboards/$(KEYBOARD)/post_rules.mk
-
diff --git a/keyboards/rgbkb/sol/rev2/rules.mk b/keyboards/rgbkb/sol/rev2/rules.mk
index debe8fe6bb..201a7b47b2 100644
--- a/keyboards/rgbkb/sol/rev2/rules.mk
+++ b/keyboards/rgbkb/sol/rev2/rules.mk
@@ -29,7 +29,7 @@ IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS dev
OLED_DRIVER_ENABLE = no # Enable the OLED Driver
EXTRA_ENCODERS_ENABLE = no # Enables 3 encoders per side (up from 1, not compatible with OLED_DRIVER_ENABLE)
SWAP_HANDS_ENABLE = no # Enable one-hand typing
-LINK_TIME_OPTIMIZATION_ENABLE = yes # Enable Link Time Optimizations greatly reducing firmware size by disabling the old Macros and Functions features
+LTO_ENABLE = yes # Enable Link Time Optimizations greatly reducing firmware size by disabling the old Macros and Functions features
# Special RGB Matrix, OLED, & Encoder Control Menu!
RGB_OLED_MENU = no # Enabled by setting this to the encoder index (0-5) you wish to use to control the menu.
diff --git a/keyboards/rgbkb/zygomorph/keymaps/5x6pad/rules.mk b/keyboards/rgbkb/zygomorph/keymaps/5x6pad/rules.mk
index 55d52d58e5..c223cb9ebb 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/5x6pad/rules.mk
+++ b/keyboards/rgbkb/zygomorph/keymaps/5x6pad/rules.mk
@@ -19,7 +19,7 @@ SWAP_HANDS_ENABLE = no # Enable one-hand typing
ENCODER_ENABLE = yes # Enable rotary encoder
OLED_DRIVER_ENABLE = no # Enable the OLED Driver
IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
-LINK_TIME_OPTIMIZATION_ENABLE = no # Enable optimizations to reduce firmware size. Also disables action macros and functions.
+LTO_ENABLE = no # Enable optimizations to reduce firmware size. Also disables action macros and functions.
# Do not edit past here
diff --git a/keyboards/rgbkb/zygomorph/keymaps/default/rules.mk b/keyboards/rgbkb/zygomorph/keymaps/default/rules.mk
index 55d52d58e5..c223cb9ebb 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/default/rules.mk
+++ b/keyboards/rgbkb/zygomorph/keymaps/default/rules.mk
@@ -19,7 +19,7 @@ SWAP_HANDS_ENABLE = no # Enable one-hand typing
ENCODER_ENABLE = yes # Enable rotary encoder
OLED_DRIVER_ENABLE = no # Enable the OLED Driver
IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
-LINK_TIME_OPTIMIZATION_ENABLE = no # Enable optimizations to reduce firmware size. Also disables action macros and functions.
+LTO_ENABLE = no # Enable optimizations to reduce firmware size. Also disables action macros and functions.
# Do not edit past here
diff --git a/keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk b/keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk
index 961edb6e2d..f2c194f0d3 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk
+++ b/keyboards/rgbkb/zygomorph/keymaps/default_oled/rules.mk
@@ -19,7 +19,7 @@ SWAP_HANDS_ENABLE = no # Enable one-hand typing
ENCODER_ENABLE = yes # Enable rotary encoder
OLED_DRIVER_ENABLE = yes # Enable the OLED Driver
IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
-LINK_TIME_OPTIMIZATION_ENABLE = yes # Enable optimizations to reduce firmware size. Also disables action macros and functions.
+LTO_ENABLE = yes # Enable optimizations to reduce firmware size. Also disables action macros and functions.
# Do not edit past here
diff --git a/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk b/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk
index dc687cbbd3..78969ad7a4 100644
--- a/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk
+++ b/keyboards/rgbkb/zygomorph/keymaps/xulkal/rules.mk
@@ -19,7 +19,7 @@ SWAP_HANDS_ENABLE = no # Enable one-hand typing
ENCODER_ENABLE = no # Enable rotary encoder
OLED_DRIVER_ENABLE = no # Enable the OLED Driver
IOS_DEVICE_ENABLE = no # Limit max brightness to connect to IOS device (iPad,iPhone)
-LINK_TIME_OPTIMIZATION_ENABLE = no # Enable optimizations to reduce firmware size. Also disables action macros and functions.
+LTO_ENABLE = no # Enable optimizations to reduce firmware size. Also disables action macros and functions.
# Do not edit past here
diff --git a/keyboards/tg4x/rules.mk b/keyboards/tg4x/rules.mk
index 41988177d3..4a86998cb9 100644
--- a/keyboards/tg4x/rules.mk
+++ b/keyboards/tg4x/rules.mk
@@ -31,4 +31,4 @@ AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
-LINK_TIME_OPTIMIZATION_ENABLE = yes \ No newline at end of file
+LTO_ENABLE = yes
diff --git a/keyboards/tkc/candybar/lefty/rules.mk b/keyboards/tkc/candybar/lefty/rules.mk
index 52ef91c47f..1edad08350 100644
--- a/keyboards/tkc/candybar/lefty/rules.mk
+++ b/keyboards/tkc/candybar/lefty/rules.mk
@@ -5,7 +5,7 @@ MCU = STM32F072
# comment out to disable the options.
#
# EXTRAFLAGS+=-flto
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
diff --git a/keyboards/tkc/candybar/righty/rules.mk b/keyboards/tkc/candybar/righty/rules.mk
index 52ef91c47f..1edad08350 100644
--- a/keyboards/tkc/candybar/righty/rules.mk
+++ b/keyboards/tkc/candybar/righty/rules.mk
@@ -5,7 +5,7 @@ MCU = STM32F072
# comment out to disable the options.
#
# EXTRAFLAGS+=-flto
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
BACKLIGHT_ENABLE = no
BOOTMAGIC_ENABLE = lite # Virtual DIP switch configuration
## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
diff --git a/keyboards/v60_type_r/rules.mk b/keyboards/v60_type_r/rules.mk
index 94205df11f..16ecb7df47 100644
--- a/keyboards/v60_type_r/rules.mk
+++ b/keyboards/v60_type_r/rules.mk
@@ -32,6 +32,6 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
LAYOUTS = 60_ansi 60_iso
diff --git a/keyboards/vitamins_included/rules.mk b/keyboards/vitamins_included/rules.mk
index 3eb3a1c306..c95ae27ecf 100644
--- a/keyboards/vitamins_included/rules.mk
+++ b/keyboards/vitamins_included/rules.mk
@@ -25,4 +25,4 @@ LAYOUTS = ortho_4x12
DEFAULT_FOLDER = vitamins_included/rev2
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
diff --git a/keyboards/xd004/v1/config.h b/keyboards/xd004/v1/config.h
index f7a262d4c0..b90e10b898 100644
--- a/keyboards/xd004/v1/config.h
+++ b/keyboards/xd004/v1/config.h
@@ -75,6 +75,6 @@ further optimizations can be done on that side.
/* disable action features */
// #define NO_ACTION_ONESHOT // 462 bytes <- this needs to be un-commented out if Link Time Optimization is disabled, otherwise file is too large
-// The two below are implicit since we use LINK_TIME_OPTIMIZATION_ENABLE (in rules.mk)
+// The two below are implicit since we use LTO_ENABLE (in rules.mk)
// #define NO_ACTION_MACRO
// #define NO_ACTION_FUNCTION
diff --git a/keyboards/xd004/v1/rules.mk b/keyboards/xd004/v1/rules.mk
index 18f7d8041c..e9afff93cf 100644
--- a/keyboards/xd004/v1/rules.mk
+++ b/keyboards/xd004/v1/rules.mk
@@ -27,6 +27,6 @@ RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight.
SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
SPACE_CADET_ENABLE = no
# Saves about 5% of space:
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
#LAYOUTS = ortho_1x4
diff --git a/keyboards/xd84/rules.mk b/keyboards/xd84/rules.mk
index cf4e643612..590038622f 100644
--- a/keyboards/xd84/rules.mk
+++ b/keyboards/xd84/rules.mk
@@ -31,7 +31,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/xd96/rules.mk b/keyboards/xd96/rules.mk
index 0c56a5ac00..3ede910c3e 100644
--- a/keyboards/xd96/rules.mk
+++ b/keyboards/xd96/rules.mk
@@ -31,7 +31,7 @@ BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
AUDIO_ENABLE = no # Audio output on port C6
FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
HD44780_ENABLE = no # Enable support for HD44780 based LCDs
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
# custom matrix setup
CUSTOM_MATRIX = lite
diff --git a/keyboards/yushakobo/quick7/config.h b/keyboards/yushakobo/quick7/config.h
index 4fb8ba6d96..b9abd137b8 100644
--- a/keyboards/yushakobo/quick7/config.h
+++ b/keyboards/yushakobo/quick7/config.h
@@ -192,7 +192,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
//#define NO_ACTION_ONESHOT
/* disable these deprecated features by default */
-#ifndef LINK_TIME_OPTIMIZATION_ENABLE
+#ifndef LTO_ENABLE
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION
#endif
diff --git a/show_options.mk b/show_options.mk
index 3f3243fbd0..2a57817735 100644
--- a/show_options.mk
+++ b/show_options.mk
@@ -82,8 +82,7 @@ OTHER_OPTION_NAMES = \
RGB_MATRIX_KEYPRESSES \
LED_MIRRORED \
RGBLIGHT_FULL_POWER \
- Link_Time_Optimization \
- LINK_TIME_OPTIMIZATION_ENABLE
+ LTO_ENABLE
define NAME_ECHO
@echo " $1 = $($1) # $(origin $1)"
diff --git a/tmk_core/common.mk b/tmk_core/common.mk
index 56ed4a8577..a6c439f5c1 100644
--- a/tmk_core/common.mk
+++ b/tmk_core/common.mk
@@ -160,16 +160,13 @@ ifeq ($(strip $(SHARED_EP_ENABLE)), yes)
endif
ifeq ($(strip $(LTO_ENABLE)), yes)
- LINK_TIME_OPTIMIZATION_ENABLE = yes
-endif
-
-ifeq ($(strip $(LINK_TIME_OPTIMIZATION_ENABLE)), yes)
ifeq ($(PLATFORM),CHIBIOS)
$(info Enabling LTO on ChibiOS-targeting boards is known to have a high likelihood of failure.)
- $(info If unsure, set LINK_TIME_OPTIMIZATION_ENABLE = no.)
+ $(info If unsure, set LTO_ENABLE = no.)
endif
EXTRAFLAGS += -flto
- TMK_COMMON_DEFS += -DLINK_TIME_OPTIMIZATION_ENABLE
+ TMK_COMMON_DEFS += -DLTO_ENABLE
+ TMK_COMMON_DEFS += -DLINK_TIME_OPTIMIZATON_ENABLE
endif
# Search Path
diff --git a/tmk_core/common/action.h b/tmk_core/common/action.h
index c82c9c81be..345c030c94 100644
--- a/tmk_core/common/action.h
+++ b/tmk_core/common/action.h
@@ -29,7 +29,7 @@ extern "C" {
#endif
/* Disable macro and function features when LTO is enabled, since they break */
-#ifdef LINK_TIME_OPTIMIZATION_ENABLE
+#ifdef LTO_ENABLE
# ifndef NO_ACTION_MACRO
# define NO_ACTION_MACRO
# endif
diff --git a/tmk_core/common/command.c b/tmk_core/common/command.c
index ef6a39c0fe..feeb2202e2 100644
--- a/tmk_core/common/command.c
+++ b/tmk_core/common/command.c
@@ -180,7 +180,7 @@ static void print_version(void) {
#ifdef NKRO_ENABLE
" NKRO"
#endif
-#ifdef LINK_TIME_OPTIMIZATION_ENABLE
+#ifdef LTO_ENABLE
" LTO"
#endif
diff --git a/users/bcat/rules.mk b/users/bcat/rules.mk
index a595d1f588..f87974ed96 100644
--- a/users/bcat/rules.mk
+++ b/users/bcat/rules.mk
@@ -14,7 +14,7 @@ EXTRAKEY_ENABLE = yes
NKRO_ENABLE = yes
# Enable link-time optimization to reduce binary size.
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
# Disable unused build options on all keyboards.
COMMAND_ENABLE = no
diff --git a/users/dshields/rules.mk b/users/dshields/rules.mk
index abfbe5e40e..462649289b 100644
--- a/users/dshields/rules.mk
+++ b/users/dshields/rules.mk
@@ -10,7 +10,7 @@ SPACE_CADET_ENABLE = no
LEADER_ENABLE = no
DYNAMIC_MACRO_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
ifeq ($(strip $(KEYBOARD)), planck/rev3)
AUDIO_ENABLE = no
@@ -29,4 +29,3 @@ ifeq ($(strip $(KEYBOARD)), planck/light)
BACKLIGHT_ENABLE = no
RGB_MATRIX_ENABLE = yes
endif
-
diff --git a/users/issmirnov/rules.mk b/users/issmirnov/rules.mk
index 096d7b4c0d..93ec21b01b 100644
--- a/users/issmirnov/rules.mk
+++ b/users/issmirnov/rules.mk
@@ -4,7 +4,7 @@ SRC += issmirnov.c
# https://www.reddit.com/r/olkb/comments/bmpgjm/programming_help/
# Should shave 2000 bytes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
# Enable debugging only when needed.
CONSOLE_ENABLE = yes # +400 bytes (hid_listen support)
diff --git a/users/kuchosauronad0/rules.mk b/users/kuchosauronad0/rules.mk
index b844d12c92..dfab85703c 100644
--- a/users/kuchosauronad0/rules.mk
+++ b/users/kuchosauronad0/rules.mk
@@ -1,7 +1,7 @@
SRC += kuchosauronad0.c \
process_records.c
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
SPACE_CADET_ENABLE = no
ifneq ($(strip $(RGBLIGHT_ENABLE)),yes )
@@ -24,7 +24,7 @@ ifeq ($(strip $(LEADER_ENABLE)), yes)
SRC += leader.c
endif
-ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
+ifneq ("$(wildcard $(USER_PATH)/secrets.c)","")
SRC += secrets.c
endif
ifeq ($(strip $(NO_SECRETS)), yes)
diff --git a/users/pvinis/rules.mk b/users/pvinis/rules.mk
index f6f09e54d9..6c7b47399a 100644
--- a/users/pvinis/rules.mk
+++ b/users/pvinis/rules.mk
@@ -14,6 +14,6 @@ SRC += pvinis.c # add userspace file
## Some extra stuff to make firmware smaller.
-# LINK_TIME_OPTIMIZATION_ENABLE = yes
+# LTO_ENABLE = yes
# CONSOLE_ENABLE = no
# COMMAND_ENABLE = no
diff --git a/users/yanfali/rules.mk b/users/yanfali/rules.mk
index 456d3bf320..a7208daa2c 100644
--- a/users/yanfali/rules.mk
+++ b/users/yanfali/rules.mk
@@ -2,7 +2,7 @@ BOOTMAGIC = lite
DYNAMIC_KEYMAP_ENABLE = no
CONSOLE_ENABLE = yes
COMMAND_ENABLE = yes
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
AUDIO_ENABLE = no
# only enable audio on specific boards
diff --git a/users/yet-another-developer/rules.mk b/users/yet-another-developer/rules.mk
index 597df6d0b9..64cf1f2fce 100644
--- a/users/yet-another-developer/rules.mk
+++ b/users/yet-another-developer/rules.mk
@@ -1,7 +1,7 @@
SRC += yet-another-developer.c \
process_records.c
-LINK_TIME_OPTIMIZATION_ENABLE = yes
+LTO_ENABLE = yes
SPACE_CADET_ENABLE = no
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)