Align Makefile build options for embedded (Cortex M) systems with the CMAKE codetags/v0.3.28^2
| @@ -156,7 +156,7 @@ FreeBSD_task: | |||||
| image_family: freebsd-13-2 | image_family: freebsd-13-2 | ||||
| install_script: | install_script: | ||||
| - pkg update -f && pkg upgrade -y && pkg install -y gmake gcc | - pkg update -f && pkg upgrade -y && pkg install -y gmake gcc | ||||
| - ln -s /usr/local/lib/gcc12/libgfortran.so.5.0.0 /usr/lib/libgfortran.so | |||||
| - ln -s /usr/local/lib/gcc13/libgfortran.so.5.0.0 /usr/lib/libgfortran.so | |||||
| compile_script: | compile_script: | ||||
| - gmake CC=clang FC=gfortran USE_OPENMP=1 CPP_THREAD_SAFETY_TEST=1 | - gmake CC=clang FC=gfortran USE_OPENMP=1 CPP_THREAD_SAFETY_TEST=1 | ||||
| @@ -173,6 +173,10 @@ NO_AFFINITY = 1 | |||||
| # If you are compiling for Linux and you have more than 16 numa nodes or more than 256 cpus | # If you are compiling for Linux and you have more than 16 numa nodes or more than 256 cpus | ||||
| # BIGNUMA = 1 | # BIGNUMA = 1 | ||||
| # If you are compiling for an embedded system ("bare metal") like Cortex M series | |||||
| # Note that you will have to provide implementations of malloc() and free() in this case | |||||
| # EMBEDDED = 1 | |||||
| # Don't use AVX kernel on Sandy Bridge. It is compatible with old compilers | # Don't use AVX kernel on Sandy Bridge. It is compatible with old compilers | ||||
| # and OS. However, the performance is low. | # and OS. However, the performance is low. | ||||
| # NO_AVX = 1 | # NO_AVX = 1 | ||||
| @@ -811,8 +811,12 @@ ifeq ($(ARCH), arm) | |||||
| NO_BINARY_MODE = 1 | NO_BINARY_MODE = 1 | ||||
| BINARY_DEFINED = 1 | BINARY_DEFINED = 1 | ||||
| ifneq ($(EMBEDDED), 1) | |||||
| CCOMMON_OPT += -marm | CCOMMON_OPT += -marm | ||||
| FCOMMON_OPT += -marm | FCOMMON_OPT += -marm | ||||
| else | |||||
| CCOMMON_OPT += -DOS_EMBEDDED -mthumb -mcpu=cortex-m4 -mfloat-abi=hard -mfpu=fpv4-sp-d16 | |||||
| endif | |||||
| # If softfp abi is mentioned on the command line, force it. | # If softfp abi is mentioned on the command line, force it. | ||||
| ifeq ($(ARM_SOFTFP_ABI), 1) | ifeq ($(ARM_SOFTFP_ABI), 1) | ||||