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 28 BINPROG= mail 29 30 PROG= $(BINPROG) 31 32 GREP= grep 33 34 include ../Makefile.cmd 35 36 CLOBBERFILES= $(PROG) 37 CLEANFILES= $(MAILOBJS) 38 39 MAILOBJS= 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 53 MAILSRC= $(MAILOBJS:%.o=%.c) 54 55 CPROG= mail 56 CPROGSRC= $(CPROG:%=_%.c) 57 58 # ROOT directories 59 ROOTMAILD= $(ROOTLIB)/mail 60 ROOTINC= $(ROOT)/usr/include 61 62 # installed modules 63 ROOTBINPROG= $(BINPROG:%=$(ROOTBIN)/%) 64 65 ROOTSYMLINKS= $(ROOTBIN)/rmail 66 67 68 EDITPATH= \ 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 73 CPPFLAGS = -DSVR4 -I. $(CPPFLAGS.master) 74 CERRWARN += -_gcc=-Wno-implicit-function-declaration 75 CERRWARN += -_gcc=-Wno-unused-variable 76 CERRWARN += -_gcc=-Wno-uninitialized 77 CERRWARN += -_gcc=-Wno-clobbered 78 CERRWARN += -_gcc=-Wno-extra 79 80 # missing type declarations for old-style functions 81 SMATCH = off 82 83 LDLIBS += -lmail -lsocket 84 85 # mail defines its own delete() - reduce symbols to locals to remove name clash. 86 LDFLAGS += $(MAPFILE.NGB:%=-M%) 87 88 # conditional assignments 89 # 90 all:= TARGET= all 91 install:= TARGET= install 92 clean:= TARGET= clean 93 clobber:= TARGET= clobber 94 lint:= TARGET= lint 95 96 # file modes, owners and groups for the install target 97 # 98 99 100 $(ROOTBIN)/mail := FILEMODE = 02511 101 102 103 # install rules 104 $(ROOTINC)/% : % 105 $(INS.file) 106 107 .KEEP_STATE: 108 109 .PARALLEL: $(MAILOBJS) $(OBJS) 110 111 all: $(PROG) 112 113 mail: $(MAILOBJS) 114 $(LINK.c) -o $@ $(MAILOBJS) $(LDLIBS) 115 $(POST_PROCESS) 116 117 install: all .WAIT $(ROOTBINPROG) $(ROOTSYMLINKS) 118 119 # ROOTSYMLINKS 120 # 121 $(ROOTBIN)/rmail: 122 $(RM) $@; $(SYMLINK) mail $@ 123 124 lint: 125 $(LINT.c) $(MAILSRC) 126 127 clean: 128 $(RM) $(OBJS) $(MAILOBJS) 129 130 clobber: 131 $(RM) $(OBJS) $(MAILOBJS) mail