# Example config.mk # # Copyright (c) 2018-2022, Arm Limited. # SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception # Subprojects to build SUBS = math string networking # Subsubprojects to build if subproject pl is built PLSUBS = math # Target architecture: aarch64, arm or x86_64 ARCH = aarch64 # Use for cross compilation with gcc. #CROSS_COMPILE = aarch64-none-linux-gnu- # Compiler for the target CC = $(CROSS_COMPILE)gcc CFLAGS = -std=c99 -pipe -O3 CFLAGS += -Wall -Wno-missing-braces CFLAGS += -Werror=implicit-function-declaration # Used for test case generator that is executed on the host HOST_CC = gcc HOST_CFLAGS = -std=c99 -O2 HOST_CFLAGS += -Wall -Wno-unused-function # Enable debug info. HOST_CFLAGS += -g CFLAGS += -g # Optimize the shared libraries on aarch64 assuming they fit in 1M. #CFLAGS_SHARED = -fPIC -mcmodel=tiny # Enable MTE support. #CFLAGS += -march=armv8.5-a+memtag -DWANT_MTE_TEST=1 # Use with cross testing. #EMULATOR = qemu-aarch64-static #EMULATOR = sh -c 'scp $$1 user@host:/dir && ssh user@host /dir/"$$@"' -- # Additional flags for subprojects. math-cflags = math-ldlibs = math-ulpflags = math-testflags = string-cflags = networking-cflags = # Use if mpfr is available on the target for ulp error checking. #math-ldlibs += -lmpfr -lgmp #math-cflags += -DUSE_MPFR # Use with gcc. math-cflags += -frounding-math -fexcess-precision=standard -fno-stack-protector math-cflags += -ffp-contract=fast -fno-math-errno # Use with clang. #math-cflags += -ffp-contract=fast # Disable vector math code #math-cflags += -DWANT_VMATH=0 # Disable/enable SVE vector math code and tests WANT_SVE_MATH = 0 ifeq ($(WANT_SVE_MATH), 1) math-cflags += -march=armv8.2-a+sve endif math-cflags += -DWANT_SVE_MATH=$(WANT_SVE_MATH) # If defined to 1, set errno in math functions according to ISO C. Many math # libraries do not set errno, so this is 0 by default. It may need to be # set to 1 if math.h has (math_errhandling & MATH_ERRNO) != 0. WANT_ERRNO = 0 math-cflags += -DWANT_ERRNO=$(WANT_ERRNO) # If set to 1, set fenv in vector math routines. WANT_SIMD_EXCEPT = 0 math-cflags += -DWANT_SIMD_EXCEPT=$(WANT_SIMD_EXCEPT) # Disable fenv checks #math-ulpflags = -q -f #math-testflags = -nostatus # Remove GNU Property Notes from asm files. #string-cflags += -DWANT_GNU_PROPERTY=0 # Enable assertion checks. #networking-cflags += -DWANT_ASSERT # Avoid auto-vectorization of scalar code and unroll loops networking-cflags += -O2 -fno-tree-vectorize -funroll-loops