Fix clang build
[exim.git] / src / OS / Makefile-Linux
index cc8dce72832fb0e84ca4c999a48dead2a21481b8..dfb2fa8e7046ef70e038f50630083b96361b5953 100644 (file)
@@ -1,7 +1,10 @@
-# $Cambridge: exim/src/OS/Makefile-Linux,v 1.4 2008/08/11 15:30:02 fanf2 Exp $
-
 # Exim: OS-specific make file for Linux. This is for modern Linuxes,
 # which use libc6.
 # Exim: OS-specific make file for Linux. This is for modern Linuxes,
 # which use libc6.
+# Copyright (c) The Exim Maintainers 2020
+#
+# 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
 
 
 HAVE_ICONV=yes
 
@@ -10,12 +13,16 @@ CHOWN_COMMAND=look_for_it
 CHGRP_COMMAND=look_for_it
 CHMOD_COMMAND=look_for_it
 
 CHGRP_COMMAND=look_for_it
 CHMOD_COMMAND=look_for_it
 
-CFLAGS=-O -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE
+# 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
 
 DBMLIB = -ldb
 USE_DB = yes
 
 
 DBMLIB = -ldb
 USE_DB = yes
 
-LIBS = -lnsl -lcrypt -lm
+LIBS = -lcrypt -lm
 LIBRESOLV = -lresolv
 
 X11=/usr/X11R6
 LIBRESOLV = -lresolv
 
 X11=/usr/X11R6