@@ -64,13 +64,18 @@ INC += -Ilwip_inc
6464CFLAGS_CORTEX_M = -mthumb
6565
6666# Select hardware floating-point support
67+ SUPPORTS_HARDWARE_FP_SINGLE = 0
68+ SUPPORTS_HARDWARE_FP_DOUBLE = 0
6769ifeq ($(CMSIS_MCU ) ,$(filter $(CMSIS_MCU ) ,STM32F765xx STM32F767xx STM32F769xx STM32H743xx) )
6870CFLAGS_CORTEX_M += -mfpu=fpv5-d16 -mfloat-abi=hard
71+ SUPPORTS_HARDWARE_FP_SINGLE = 1
72+ SUPPORTS_HARDWARE_FP_DOUBLE = 1
6973else
7074ifeq ($(MCU_SERIES ) ,$(filter $(MCU_SERIES ) ,f0 l0) )
7175CFLAGS_CORTEX_M += -msoft-float
7276else
7377CFLAGS_CORTEX_M += -mfpu=fpv4-sp-d16 -mfloat-abi=hard
78+ SUPPORTS_HARDWARE_FP_SINGLE = 1
7479endif
7580endif
7681
@@ -180,7 +185,7 @@ SRC_LIBM = $(addprefix lib/libm_dbl/,\
180185 tgamma.c \
181186 trunc.c \
182187 )
183- ifeq ($(MCU_SERIES ) , $( filter $( MCU_SERIES ) ,f7 h7) )
188+ ifeq ($(SUPPORTS_HARDWARE_FP_DOUBLE ) ,1 )
184189SRC_LIBM += lib/libm_dbl/thumb_vfp_sqrt.c
185190else
186191SRC_LIBM += lib/libm_dbl/sqrt.c
@@ -213,10 +218,10 @@ SRC_LIBM = $(addprefix lib/libm/,\
213218 wf_lgamma.c \
214219 wf_tgamma.c \
215220 )
216- ifeq ($(MCU_SERIES ) ,$(filter $(MCU_SERIES ) ,f0 l0) )
217- SRC_LIBM += lib/libm/ef_sqrt.c
218- else
221+ ifeq ($(SUPPORTS_HARDWARE_FP_SINGLE ) ,1)
219222SRC_LIBM += lib/libm/thumb_vfp_sqrtf.c
223+ else
224+ SRC_LIBM += lib/libm/ef_sqrt.c
220225endif
221226endif
222227
0 commit comments