xref: /illumos-gate/usr/src/cmd/mail/Makefile (revision fa4a3e77edc40df6d92e8da6fc4961d275e9896d)
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 2009 Sun Microsystems, Inc.  All rights reserved.
23# Use is subject to license terms.
24#
25# Copyright (c) 2018, Joyent, Inc.
26#
27
28BINPROG=	mail
29
30PROG=	       $(BINPROG)
31
32GREP=		grep
33
34include ../Makefile.cmd
35
36CLOBBERFILES=	$(PROG)
37CLEANFILES=	$(MAILOBJS)
38
39MAILOBJS=	add_recip.o cat.o ckdlivopts.o \
40		cksaved.o clr_hinfo.o copyback.o copylet.o \
41		copymt.o createmf.o del_recipl.o Dout.o	 delete.o \
42		done.o doopen.o dumpaff.o dumprcv.o \
43		errmsg.o gendeliv.o getarg.o getcomment.o \
44		gethead.o goback.o init.o \
45		isheader.o isit.o islocal.o istext.o legal.o \
46		lock.o	main.o mkdead.o mta_ercode.o \
47		new_recipl.o parse.o pckaffspot.o pckrcvspot.o \
48		pickFrom.o pipletr.o poplist.o printhdr.o printmail.o \
49		pushlist.o savehdrs.o sel_disp.o  sendlist.o \
50		sendmail.o  setsig.o \
51		stamp.o Tout.o
52
53MAILSRC=	 $(MAILOBJS:%.o=%.c)
54
55CPROG=		mail
56CPROGSRC=	$(CPROG:%=_%.c)
57
58# ROOT directories
59ROOTMAILD=	$(ROOTLIB)/mail
60ROOTINC=	$(ROOT)/usr/include
61
62# installed modules
63ROOTBINPROG=	$(BINPROG:%=$(ROOTBIN)/%)
64
65ROOTSYMLINKS=	$(ROOTBIN)/rmail
66
67
68EDITPATH= \
69	sed -e 's!REAL_PATH!/usr/bin!g' \
70	    -e 's!USR_SHARE_LIB!/usr/share/lib!g' \
71	    -e 's!VAR_MAIL!/var/mail!g' < $? > $@
72
73CPPFLAGS =	-DSVR4 -I. $(CPPFLAGS.master)
74CERRWARN +=	-_gcc=-Wno-implicit-function-declaration
75CERRWARN +=	-_gcc=-Wno-unused-variable
76CERRWARN +=	$(CNOWARN_UNINIT)
77CERRWARN +=	-_gcc=-Wno-clobbered
78CERRWARN +=	-_gcc=-Wno-extra
79
80# missing type declarations for old-style functions
81SMATCH =	off
82
83LDLIBS +=	-lmail -lsocket
84
85# mail defines its own delete() - reduce symbols to locals to remove name clash.
86LDFLAGS +=	$(MAPFILE.NGB:%=-Wl,-M%)
87
88# conditional assignments
89#
90all:=		TARGET= all
91install:=	TARGET= install
92clean:=		TARGET= clean
93clobber:=	TARGET= clobber
94
95# file modes, owners and groups for the install target
96#
97$(ROOTBIN)/mail :=	FILEMODE =	02511
98
99
100# install rules
101$(ROOTINC)/% : %
102	$(INS.file)
103
104.KEEP_STATE:
105
106.PARALLEL: $(MAILOBJS) $(OBJS)
107
108all:		$(PROG)
109
110mail:		$(MAILOBJS)
111	$(LINK.c) -o $@ $(MAILOBJS) $(LDLIBS)
112	$(POST_PROCESS)
113
114install: all .WAIT $(ROOTBINPROG) $(ROOTSYMLINKS)
115
116# ROOTSYMLINKS
117#
118$(ROOTBIN)/rmail:
119	$(RM) $@; $(SYMLINK) mail $@
120
121clean:
122	$(RM) $(OBJS) $(MAILOBJS)
123
124clobber:
125	$(RM) $(OBJS) $(MAILOBJS) mail
126