freebsd-src/usr.sbin/sendmail/Makefile
Bryan Drewery 864c53ead8 In preparation for ASLR [1] support add WITH_PIE to support building with -fPIE.
This is currently an opt-in build flag. Once ASLR support is ready and stable
it should changed to opt-out and be enabled by default along with ASLR.

Each application Makefile uses opt-out to ensure that ASLR will be enabled by
default in new directories when the system is compiled with PIE/ASLR. [2]

Mark known build failures as NO_PIE for now.

The only known runtime failure was rtld.

[1] http://www.bsdcan.org/2014/schedule/events/452.en.html
Submitted by:		Shawn Webb <lattera@gmail.com>
Discussed between:	des@ and Shawn Webb [2]
2014-06-08 17:29:31 +00:00

82 lines
1.9 KiB
Makefile

# @(#)Makefile 8.8 (Berkeley) 3/28/97
# $FreeBSD$
.include <src.opts.mk>
SENDMAIL_DIR=${.CURDIR}/../../contrib/sendmail
SMDIR= ${SENDMAIL_DIR}/src
.PATH: ${SMDIR}
NO_PIE= yes
BINDIR= /usr/libexec/sendmail
PROG= sendmail
MAN= mailq.1 newaliases.1 aliases.5 sendmail.8
MLINKS+=sendmail.8 hoststat.8
MLINKS+=sendmail.8 purgestat.8
SRCS= alias.c arpadate.c bf.c collect.c conf.c control.c \
convtime.c daemon.c deliver.c domain.c envelope.c err.c headers.c \
macro.c main.c map.c mci.c milter.c mime.c parseaddr.c queue.c \
ratectrl.c readcf.c recipient.c savemail.c sasl.c sfsasl.c \
shmticklib.c sm_resolve.c srvrsmtp.c stab.c stats.c sysexits.c \
timers.c tls.c trace.c udb.c usersmtp.c util.c version.c
BINOWN= root
BINGRP= smmsp
.ifdef SENDMAIL_SET_USER_ID
BINMODE=4555
.else
BINMODE=2555
.endif
# Define the database format to use for aliases et al.
DBMDEF= -DNEWDB
# If you don't want NIS alias/map support, comment out this line
.if ${MK_NIS} != "no"
NIS= -DNIS
.endif
# Map extensions
MAPS= -DMAP_REGEX -DDNSMAP
CFLAGS+= -I${SMDIR} -I${SENDMAIL_DIR}/include -I.
CFLAGS+= ${DBMDEF} ${NIS} -DTCPWRAPPERS ${MAPS}
.if ${MK_INET6_SUPPORT} != "no"
CFLAGS+= -DNETINET6
.endif
WARNS?= 1
DPADD= ${LIBUTIL} ${LIBWRAP}
LDADD= -lutil -lwrap
LIBSMDIR= ${.OBJDIR}/../../lib/libsm
LIBSM= ${LIBSMDIR}/libsm.a
LIBSMUTILDIR= ${.OBJDIR}/../../lib/libsmutil
LIBSMUTIL= ${LIBSMUTILDIR}/libsmutil.a
DPADD+= ${LIBSMUTIL} ${LIBSM}
LDADD+= ${LIBSMUTIL} ${LIBSM}
SRCS+= sm_os.h
CLEANFILES+=sm_os.h
.if ${MK_OPENSSL} != "no"
# STARTTLS support
CFLAGS+= -DSTARTTLS -D_FFR_TLS_1
DPADD+= ${LIBSSL} ${LIBCRYPTO}
LDADD+= -lssl -lcrypto
.endif
# User customizations to the sendmail build environment
CFLAGS+=${SENDMAIL_CFLAGS}
DPADD+=${SENDMAIL_DPADD}
LDADD+=${SENDMAIL_LDADD}
LDFLAGS+=${SENDMAIL_LDFLAGS}
sm_os.h:
ln -sf ${SENDMAIL_DIR}/include/sm/os/sm_os_freebsd.h sm_os.h
.include <bsd.prog.mk>