1 #
   2 # CDDL HEADER START
   3 #
   4 # The contents of this file are subject to the terms of the
   5 # Common Development and Distribution License (the "License").
   6 # You may not use this file except in compliance with the License.
   7 #
   8 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9 # or http://www.opensolaris.org/os/licensing.
  10 # See the License for the specific language governing permissions
  11 # and limitations under the License.
  12 #
  13 # When distributing Covered Code, include this CDDL HEADER in each
  14 # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15 # If applicable, add the following below this CDDL HEADER, with the
  16 # fields enclosed by brackets "[]" replaced with your own identifying
  17 # information: Portions Copyright [yyyy] [name of copyright owner]
  18 #
  19 # CDDL HEADER END
  20 #
  21 
  22 # Copyright (c) 2011 Gary Mills
  23 
  24 #
  25 # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
  26 # Use is subject to license terms.
  27 #
  28 # Copyright 2017 RackTop Systems.
  29 #
  30 # cmd/sendmail/src/Makefile
  31 #
  32 
  33 PROG=   sendmail
  34 
  35 include         ../../Makefile.cmd
  36 include         ../Makefile.cmd
  37 
  38 OBJS= alias.o arpadate.o bf.o collect.o conf.o control.o convtime.o daemon.o \
  39         deliver.o domain.o envelope.o err.o headers.o macro.o main.o map.o \
  40         mci.o milter.o mime.o parseaddr.o queue.o ratectrl.o readcf.o \
  41         recipient.o sasl.o savemail.o sfsasl.o sm_resolve.o srvrsmtp.o stab.o \
  42         stats.o sysexits.o tls.o trace.o udb.o usersmtp.o util.o version.o
  43 
  44 SRCS=   $(OBJS:%.o=%.c)
  45 
  46 MAPFILES =      $(MAPFILE.INT) $(MAPFILE.NGB)
  47 LDFLAGS +=      $(MAPFILES:%=-M%)
  48 
  49 LDLIBS +=       ../libsmutil/libsmutil.a ../libsm/libsm.a -lresolv -lsocket \
  50                 -lnsl ../db/libdb.a -lldap -lsldap -lwrap -lumem \
  51                 -lssl -lcrypto -lsasl
  52 
  53 # Allow libssl and libcrypto to be taken from outside the proto area.
  54 $(ADJUNCT_PROTO_NOT_SET)LDFLAGS += $(ZASSERTDEFLIB)=libssl.so
  55 $(ADJUNCT_PROTO_NOT_SET)LDFLAGS += $(ZASSERTDEFLIB)=libcrypto.so
  56 
  57 INCPATH=        -I. -I../include -I../db
  58 
  59 ENVDEF=         -DNETINET6 -DTCPWRAPPERS -DSTARTTLS -DSASL=20115
  60 SUNENVDEF=      -DSUN_EXTENSIONS -DVENDOR_DEFAULT=VENDOR_SUN \
  61                 -DSUN_INIT_DOMAIN -DSUN_SIMPLIFIED_LDAP -D_FFR_LOCAL_DAEMON \
  62                 -D_FFR_MAIL_MACRO
  63 
  64 CPPFLAGS =      $(INCPATH) $(ENVDEF) $(SUNENVDEF) $(DBMDEF) $(CPPFLAGS.sm)
  65 
  66 FILEMODE=       2555
  67 
  68 ROOTSYMLINKS=   $(ROOTLIBSMTPSM)/newaliases
  69 
  70 # build rule
  71 #
  72 
  73 .KEEP_STATE:
  74 all:            $(PROG)
  75 
  76 .PARALLEL:      $(OBJS)
  77 
  78 $(PROG):        $(OBJS) $(MAPFILES) \
  79         ../libsmutil/libsmutil.a ../libsm/libsm.a ../db/libdb.a
  80         $(LINK.c) -o $@ $(OBJS) $(LDLIBS)
  81         $(POST_PROCESS)
  82 
  83 install:        $(ROOTLIBSMTPSM)/sendmail $(ROOTSYMLINKS)
  84 
  85 $(ROOTSYMLINKS):
  86         $(RM) $@; $(SYMLINK) sendmail $@
  87 
  88 clean:
  89         $(RM) $(PROG) $(OBJS)
  90 
  91 lint:   lint_SRCS
  92 
  93 include         ../../Makefile.targ