summaryrefslogtreecommitdiff
path: root/usr/src/cmd/mail/Makefile
blob: c55889cba471f900b20986bfc06f975b65290a73 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#
# CDDL HEADER START
#
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
# or http://www.opensolaris.org/os/licensing.
# See the License for the specific language governing permissions
# and limitations under the License.
#
# When distributing Covered Code, include this CDDL HEADER in each
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
# CDDL HEADER END
#
#
# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#
# Copyright (c) 2018, Joyent, Inc.
#

BINPROG=	mail

PROG=	       $(BINPROG)

include ../Makefile.cmd

CLOBBERFILES=	$(PROG)
CLEANFILES=	$(MAILOBJS)

MAILOBJS=	add_recip.o cat.o ckdlivopts.o \
		cksaved.o clr_hinfo.o copyback.o copylet.o \
		copymt.o createmf.o del_recipl.o Dout.o	 delete.o \
		done.o doopen.o dumpaff.o dumprcv.o \
		errmsg.o gendeliv.o getarg.o getcomment.o \
		gethead.o goback.o init.o \
		isheader.o isit.o islocal.o istext.o legal.o \
		lock.o	main.o mkdead.o mta_ercode.o \
		new_recipl.o parse.o pckaffspot.o pckrcvspot.o \
		pickFrom.o pipletr.o poplist.o printhdr.o printmail.o \
		pushlist.o savehdrs.o sel_disp.o  sendlist.o \
		sendmail.o  setsig.o \
		stamp.o Tout.o

MAILSRC=	 $(MAILOBJS:%.o=%.c)

CPROG=		mail
CPROGSRC=	$(CPROG:%=_%.c)

# ROOT directories
ROOTMAILD=	$(ROOTLIB)/mail
ROOTINC=	$(ROOT)/usr/include

# installed modules
ROOTBINPROG=	$(BINPROG:%=$(ROOTBIN)/%)

ROOTSYMLINKS=	$(ROOTBIN)/rmail


EDITPATH= \
	$(SED) -e 's!REAL_PATH!/usr/bin!g' \
	    -e 's!USR_SHARE_LIB!/usr/share/lib!g' \
	    -e 's!VAR_MAIL!/var/mail!g' < $? > $@

CPPFLAGS =	-DSVR4 -I. $(CPPFLAGS.master)
CERRWARN +=	-_gcc=-Wno-implicit-function-declaration
CERRWARN +=	-_gcc=-Wno-unused-variable
CERRWARN +=	$(CNOWARN_UNINIT)
CERRWARN +=	-_gcc=-Wno-clobbered
CERRWARN +=	-_gcc=-Wno-extra

# missing type declarations for old-style functions
SMATCH =	off

LDLIBS +=	-lmail -lsocket

# mail defines its own delete() - reduce symbols to locals to remove name clash.
LDFLAGS +=	$(MAPFILE.NGB:%=-Wl,-M%)

# conditional assignments
#
all:=		TARGET= all
install:=	TARGET= install
clean:=		TARGET= clean
clobber:=	TARGET= clobber

# file modes, owners and groups for the install target
#
$(ROOTBIN)/mail :=	FILEMODE =	02511


# install rules
$(ROOTINC)/% : %
	$(INS.file)

.KEEP_STATE:

.PARALLEL: $(MAILOBJS) $(OBJS)

all:		$(PROG)

mail:		$(MAILOBJS)
	$(LINK.c) -o $@ $(MAILOBJS) $(LDLIBS)
	$(POST_PROCESS)

install: all .WAIT $(ROOTBINPROG) $(ROOTSYMLINKS)

# ROOTSYMLINKS
#
$(ROOTBIN)/rmail:
	$(RM) $@; $(SYMLINK) mail $@

clean:
	$(RM) $(OBJS) $(MAILOBJS)

clobber:
	$(RM) $(OBJS) $(MAILOBJS) mail