diff options
author | Joel Challis <git@zvecr.com> | 2020-05-20 16:28:39 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-20 16:28:39 +0100 |
commit | b0c780ed32712d2eb38c69a2b9465a00b861381e (patch) | |
tree | 500c8c4f797e8a38a49fee8bbafaaf8efd4481c6 | |
parent | 3ad2be52a7098c269d741f8d59a424afdbd7302d (diff) | |
download | qmk_firmware-b0c780ed32712d2eb38c69a2b9465a00b861381e.tar.gz qmk_firmware-b0c780ed32712d2eb38c69a2b9465a00b861381e.zip |
Fix ChibiOS FPU build logic (#9132)
-rw-r--r-- | tmk_core/chibios.mk | 28 | ||||
-rw-r--r-- | tmk_core/rules.mk | 2 |
2 files changed, 13 insertions, 17 deletions
diff --git a/tmk_core/chibios.mk b/tmk_core/chibios.mk index d0f1032acb..09aaddeef0 100644 --- a/tmk_core/chibios.mk +++ b/tmk_core/chibios.mk @@ -220,6 +220,18 @@ COMPILEFLAGS += -fno-common COMPILEFLAGS += -fshort-wchar COMPILEFLAGS += $(THUMBFLAGS) +# FPU options default (Cortex-M4 and Cortex-M7 single precision). +USE_FPU_OPT ?= -mfloat-abi=hard -mfpu=fpv4-sp-d16 -fsingle-precision-constant + +# FPU-related options +USE_FPU ?= no +ifneq ($(USE_FPU),no) + COMPILEFLAGS += $(USE_FPU_OPT) + OPT_DEFS += -DCORTEX_USE_FPU=TRUE +else + OPT_DEFS += -DCORTEX_USE_FPU=FALSE +endif + CFLAGS += $(COMPILEFLAGS) ASFLAGS += $(THUMBFLAGS) @@ -241,22 +253,6 @@ OPT_DEFS += -DPORT_IGNORE_GCC_VERSION_CHECK=1 MCUFLAGS = -mcpu=$(MCU) -# FPU options default (Cortex-M4 and Cortex-M7 single precision). -ifeq ($(USE_FPU_OPT),) - USE_FPU_OPT = -mfloat-abi=$(USE_FPU) -mfpu=fpv4-sp-d16 -fsingle-precision-constant -endif - -# FPU-related options -ifeq ($(USE_FPU),) - USE_FPU = no -endif -ifneq ($(USE_FPU),no) - OPT += $(USE_FPU_OPT) - OPT_DEFS += -DCORTEX_USE_FPU=TRUE -else - OPT_DEFS += -DCORTEX_USE_FPU=FALSE -endif - DEBUG = gdb DFU_ARGS ?= diff --git a/tmk_core/rules.mk b/tmk_core/rules.mk index f45fd37929..9bb341ecb1 100644 --- a/tmk_core/rules.mk +++ b/tmk_core/rules.mk @@ -46,7 +46,7 @@ FORMAT = ihex # Optimization level, can be [0, 1, 2, 3, s]. # 0 = turn off optimization. s = optimize for size. # (Note: 3 is not always the best optimization level. See avr-libc FAQ.) -OPT = s +OPT ?= s # Compiler flag to set the C Standard level. # c89 = "ANSI" C |