xref: /illumos-gate/usr/src/cmd/mail/Makefile (revision 02b17e23cf5bf66a5ea787e066ae3d1aa49bd856)
17c478bd9Sstevel@tonic-gate#
27c478bd9Sstevel@tonic-gate# CDDL HEADER START
37c478bd9Sstevel@tonic-gate#
47c478bd9Sstevel@tonic-gate# The contents of this file are subject to the terms of the
524da5b34Srie# Common Development and Distribution License (the "License").
624da5b34Srie# You may not use this file except in compliance with the License.
77c478bd9Sstevel@tonic-gate#
87c478bd9Sstevel@tonic-gate# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
97c478bd9Sstevel@tonic-gate# or http://www.opensolaris.org/os/licensing.
107c478bd9Sstevel@tonic-gate# See the License for the specific language governing permissions
117c478bd9Sstevel@tonic-gate# and limitations under the License.
127c478bd9Sstevel@tonic-gate#
137c478bd9Sstevel@tonic-gate# When distributing Covered Code, include this CDDL HEADER in each
147c478bd9Sstevel@tonic-gate# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
157c478bd9Sstevel@tonic-gate# If applicable, add the following below this CDDL HEADER, with the
167c478bd9Sstevel@tonic-gate# fields enclosed by brackets "[]" replaced with your own identifying
177c478bd9Sstevel@tonic-gate# information: Portions Copyright [yyyy] [name of copyright owner]
187c478bd9Sstevel@tonic-gate#
197c478bd9Sstevel@tonic-gate# CDDL HEADER END
207c478bd9Sstevel@tonic-gate#
217c478bd9Sstevel@tonic-gate#
2224fe0b3bSjmcp# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
237c478bd9Sstevel@tonic-gate# Use is subject to license terms.
247c478bd9Sstevel@tonic-gate#
255661bb76SJohn Levon# Copyright (c) 2018, Joyent, Inc.
265661bb76SJohn Levon#
277c478bd9Sstevel@tonic-gate
287c478bd9Sstevel@tonic-gateBINPROG=	mail
297c478bd9Sstevel@tonic-gate
307c478bd9Sstevel@tonic-gatePROG=	       $(BINPROG)
317c478bd9Sstevel@tonic-gate
327c478bd9Sstevel@tonic-gateinclude ../Makefile.cmd
337c478bd9Sstevel@tonic-gate
347c478bd9Sstevel@tonic-gateCLOBBERFILES=	$(PROG)
357c478bd9Sstevel@tonic-gateCLEANFILES=	$(MAILOBJS)
367c478bd9Sstevel@tonic-gate
377c478bd9Sstevel@tonic-gateMAILOBJS=	add_recip.o cat.o ckdlivopts.o \
387c478bd9Sstevel@tonic-gate		cksaved.o clr_hinfo.o copyback.o copylet.o \
397c478bd9Sstevel@tonic-gate		copymt.o createmf.o del_recipl.o Dout.o	 delete.o \
407c478bd9Sstevel@tonic-gate		done.o doopen.o dumpaff.o dumprcv.o \
417c478bd9Sstevel@tonic-gate		errmsg.o gendeliv.o getarg.o getcomment.o \
427c478bd9Sstevel@tonic-gate		gethead.o goback.o init.o \
437c478bd9Sstevel@tonic-gate		isheader.o isit.o islocal.o istext.o legal.o \
447c478bd9Sstevel@tonic-gate		lock.o	main.o mkdead.o mta_ercode.o \
457c478bd9Sstevel@tonic-gate		new_recipl.o parse.o pckaffspot.o pckrcvspot.o \
467c478bd9Sstevel@tonic-gate		pickFrom.o pipletr.o poplist.o printhdr.o printmail.o \
477c478bd9Sstevel@tonic-gate		pushlist.o savehdrs.o sel_disp.o  sendlist.o \
487c478bd9Sstevel@tonic-gate		sendmail.o  setsig.o \
49b7d62af5Sceastha		stamp.o Tout.o
507c478bd9Sstevel@tonic-gate
517c478bd9Sstevel@tonic-gateMAILSRC=	 $(MAILOBJS:%.o=%.c)
527c478bd9Sstevel@tonic-gate
537c478bd9Sstevel@tonic-gateCPROG=		mail
547c478bd9Sstevel@tonic-gateCPROGSRC=	$(CPROG:%=_%.c)
557c478bd9Sstevel@tonic-gate
567c478bd9Sstevel@tonic-gate# ROOT directories
577c478bd9Sstevel@tonic-gateROOTMAILD=	$(ROOTLIB)/mail
587c478bd9Sstevel@tonic-gateROOTINC=	$(ROOT)/usr/include
597c478bd9Sstevel@tonic-gate
607c478bd9Sstevel@tonic-gate# installed modules
617c478bd9Sstevel@tonic-gateROOTBINPROG=	$(BINPROG:%=$(ROOTBIN)/%)
627c478bd9Sstevel@tonic-gate
637c478bd9Sstevel@tonic-gateROOTSYMLINKS=	$(ROOTBIN)/rmail
647c478bd9Sstevel@tonic-gate
657c478bd9Sstevel@tonic-gate
667c478bd9Sstevel@tonic-gateEDITPATH= \
67*02b17e23SRichard Lowe	$(SED) -e 's!REAL_PATH!/usr/bin!g' \
687c478bd9Sstevel@tonic-gate	    -e 's!USR_SHARE_LIB!/usr/share/lib!g' \
697c478bd9Sstevel@tonic-gate	    -e 's!VAR_MAIL!/var/mail!g' < $? > $@
707c478bd9Sstevel@tonic-gate
717c478bd9Sstevel@tonic-gateCPPFLAGS =	-DSVR4 -I. $(CPPFLAGS.master)
727014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-implicit-function-declaration
737014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-unused-variable
74d3b5f563SJohn LevonCERRWARN +=	$(CNOWARN_UNINIT)
757014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-clobbered
767014882cSRichard LoweCERRWARN +=	-_gcc=-Wno-extra
777c478bd9Sstevel@tonic-gate
785661bb76SJohn Levon# missing type declarations for old-style functions
795661bb76SJohn LevonSMATCH =	off
805661bb76SJohn Levon
817c478bd9Sstevel@tonic-gateLDLIBS +=	-lmail -lsocket
827c478bd9Sstevel@tonic-gate
8324da5b34Srie# mail defines its own delete() - reduce symbols to locals to remove name clash.
8485f4cb87SRichard LoweLDFLAGS +=	$(MAPFILE.NGB:%=-Wl,-M%)
8524da5b34Srie
867c478bd9Sstevel@tonic-gate# conditional assignments
877c478bd9Sstevel@tonic-gate#
887c478bd9Sstevel@tonic-gateall:=		TARGET= all
897c478bd9Sstevel@tonic-gateinstall:=	TARGET= install
907c478bd9Sstevel@tonic-gateclean:=		TARGET= clean
917c478bd9Sstevel@tonic-gateclobber:=	TARGET= clobber
927c478bd9Sstevel@tonic-gate
937c478bd9Sstevel@tonic-gate# file modes, owners and groups for the install target
947c478bd9Sstevel@tonic-gate#
957c478bd9Sstevel@tonic-gate$(ROOTBIN)/mail :=	FILEMODE =	02511
967c478bd9Sstevel@tonic-gate
977c478bd9Sstevel@tonic-gate
987c478bd9Sstevel@tonic-gate# install rules
997c478bd9Sstevel@tonic-gate$(ROOTINC)/% : %
1007c478bd9Sstevel@tonic-gate	$(INS.file)
1017c478bd9Sstevel@tonic-gate
1027c478bd9Sstevel@tonic-gate.KEEP_STATE:
1037c478bd9Sstevel@tonic-gate
1047c478bd9Sstevel@tonic-gate.PARALLEL: $(MAILOBJS) $(OBJS)
1057c478bd9Sstevel@tonic-gate
1067c478bd9Sstevel@tonic-gateall:		$(PROG)
1077c478bd9Sstevel@tonic-gate
1087c478bd9Sstevel@tonic-gatemail:		$(MAILOBJS)
1097c478bd9Sstevel@tonic-gate	$(LINK.c) -o $@ $(MAILOBJS) $(LDLIBS)
1107c478bd9Sstevel@tonic-gate	$(POST_PROCESS)
1117c478bd9Sstevel@tonic-gate
1127c478bd9Sstevel@tonic-gateinstall: all .WAIT $(ROOTBINPROG) $(ROOTSYMLINKS)
1137c478bd9Sstevel@tonic-gate
1147c478bd9Sstevel@tonic-gate# ROOTSYMLINKS
1157c478bd9Sstevel@tonic-gate#
1167c478bd9Sstevel@tonic-gate$(ROOTBIN)/rmail:
1177c478bd9Sstevel@tonic-gate	$(RM) $@; $(SYMLINK) mail $@
1187c478bd9Sstevel@tonic-gate
1197c478bd9Sstevel@tonic-gateclean:
1207c478bd9Sstevel@tonic-gate	$(RM) $(OBJS) $(MAILOBJS)
1217c478bd9Sstevel@tonic-gate
1227c478bd9Sstevel@tonic-gateclobber:
1237c478bd9Sstevel@tonic-gate	$(RM) $(OBJS) $(MAILOBJS) mail
124