1# Example config.mk 2# 3# Copyright (c) 2018-2020, Arm Limited. 4# SPDX-License-Identifier: MIT 5 6# Subprojects to build 7SUBS = math string networking 8 9# Target architecture: aarch64, arm or x86_64 10ARCH = aarch64 11 12# Use for cross compilation with gcc. 13#CROSS_COMPILE = aarch64-none-linux-gnu- 14 15# Compiler for the target 16CC = $(CROSS_COMPILE)gcc 17CFLAGS = -std=c99 -pipe -O3 18CFLAGS += -Wall -Wno-missing-braces 19CFLAGS += -Werror=implicit-function-declaration 20 21# Used for test case generator that is executed on the host 22HOST_CC = gcc 23HOST_CFLAGS = -std=c99 -O2 24HOST_CFLAGS += -Wall -Wno-unused-function 25 26# Enable debug info. 27HOST_CFLAGS += -g 28CFLAGS += -g 29 30# Optimize the shared libraries on aarch64 assuming they fit in 1M. 31#CFLAGS_SHARED = -fPIC -mcmodel=tiny 32 33# Enable MTE support. 34#CFLAGS += -march=armv8.5-a+memtag -DWANT_MTE_TEST=1 35 36# Use with cross testing. 37#EMULATOR = qemu-aarch64-static 38#EMULATOR = sh -c 'scp $$1 user@host:/dir && ssh user@host /dir/"$$@"' -- 39 40# Additional flags for subprojects. 41math-cflags = 42math-ldlibs = 43math-ulpflags = 44math-testflags = 45string-cflags = 46networking-cflags = 47 48# Use if mpfr is available on the target for ulp error checking. 49#math-ldlibs += -lmpfr -lgmp 50#math-cflags += -DUSE_MPFR 51 52# Use with gcc. 53math-cflags += -frounding-math -fexcess-precision=standard -fno-stack-protector 54math-cflags += -ffp-contract=fast -fno-math-errno 55 56# Use with clang. 57#math-cflags += -ffp-contract=fast 58 59# Disable vector math code 60#math-cflags += -DWANT_VMATH=0 61 62# Disable fenv checks 63#math-ulpflags = -q -f 64#math-testflags = -nostatus 65 66# Remove GNU Property Notes from asm files. 67#string-cflags += -DWANT_GNU_PROPERTY=0 68 69# Enable assertion checks. 70#networking-cflags += -DWANT_ASSERT 71 72# Avoid auto-vectorization of scalar code and unroll loops 73networking-cflags += -O2 -fno-tree-vectorize -funroll-loops 74