# Exim: OS-specific make file for Linux. This is for modern Linuxes,
# which use libc6.
+#
+# For Linux, we assume GNU Make; at time of writing, the only extension
+# used is ?= which is actually portable to other maintained Make variants,
+# just is not POSIX.
HAVE_ICONV=yes
CHGRP_COMMAND=look_for_it
CHMOD_COMMAND=look_for_it
-CFLAGS=-O -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
-CFLAGS_DYNAMIC=-shared -rdynamic
+# The system cc may be gcc or clang; do not force gcc
+CC=cc
+# Preserve CFLAGS and CFLAGS_DYNAMIC from the caller/environment
+CFLAGS ?= -O -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+CFLAGS_DYNAMIC ?= -shared -rdynamic
+
+# We have mmap/malloc addr spaces separate
+CFLAGS += -DTAINT_CHECK_FAST
DBMLIB = -ldb
USE_DB = yes
-LIBS = -lnsl -lcrypt -lm
+LIBS = -lcrypt -lm
LIBRESOLV = -lresolv
X11=/usr/X11R6