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