# Example config.mk # # Copyright (c) 2018-2020, Arm Limited. # SPDX-License-Identifier: MIT # Subprojects to build SUBS = math string networking # 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 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