xref: /illumos-gate/usr/src/cmd/sendmail/util/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# Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
22# Use is subject to license terms.
23#
24
25# cmd/sendmail/aux/Makefile
26#
27include		../../Makefile.cmd
28include		../Makefile.cmd
29
30PROG=		mailstats mconnect vacation mailcompat praliases
31
32LIBPROG=	mail.local smrsh
33
34USRSBINPROG=	etrn makemap editmap
35
36LIBSMTPSMPROG= mailq
37
38# $(PROG) by default
39CLOBBERFILES=	$(LIBPROG) $(USRSBINPROG) $(LIBSMTPSMPROG)
40
41OBJS=		$(PROG:%=%.o)
42
43.PARALLEL:	$(OBJS) $(PROG) $(LIBPROG) $(USRSBINPROG)
44
45SRCS=		$(PROG:%=%.c)
46
47editmap :=	LDLIBS += -lldap
48mail.local :=	LDLIBS += -lsocket -lnsl -lmail -lldap
49mailq :=	LDLIBS += -lsecdb
50mailstats :=	LDLIBS += -lldap
51makemap :=	LDLIBS += -lldap
52mconnect :=	LDLIBS += -lsocket -lnsl
53praliases :=	LDLIBS += -lldap
54smrsh :=	LDLIBS += -lldap
55vacation :=	LDLIBS += -lldap
56$(ROOTLIBSMTPSM)/mailq :=	FILEMODE = 4555
57
58INCPATH=	-I../src -I../db -I../include
59
60ENVDEF=		-DNOT_SENDMAIL
61SUNENVDEF=	-DSUN_EXTENSIONS -DUSE_VENDOR_CF_PATH
62DBMDEF=		-DNDBM -DNEWDB
63
64CPPFLAGS =	$(INCPATH) $(ENVDEF) $(SUNENVDEF) $(DBMDEF) $(CPPFLAGS.sm)
65
66# Nearly every support application provides sleep().  This isn't incompatible
67# with libc, but can be confined to the applications themselves.
68LDFLAGS +=	$(MAPFILE.NGB:%=-Wl,-M%)
69
70.KEEP_STATE:
71
72all:		$(PROG) $(LIBSMTPSMPROG) $(LIBPROG) $(USRSBINPROG)
73
74convtime.o:	../src/convtime.c
75	$(COMPILE.c) ../src/convtime.c
76	$(POST_PROCESS_O)
77
78vacation:	vacation.o convtime.o rfc2047.o ../libsm/libsm.a
79	$(LINK.c) vacation.o convtime.o rfc2047.o -o $@ $(LDLIBS) \
80		../libsm/libsm.a
81	$(POST_PROCESS)
82
83mail.local:	mail.local.o ../libsmutil/libsmutil.a ../libsm/libsm.a
84	$(LINK.c) mail.local.o -o $@ $(LDLIBS) ../libsmutil/libsmutil.a \
85		../libsm/libsm.a
86	$(POST_PROCESS)
87
88smrsh:	smrsh.o ../libsm/libsm.a
89	$(LINK.c) smrsh.o -o $@ $(LDLIBS) ../libsm/libsm.a
90	$(POST_PROCESS)
91
92makemap:	makemap.o ../libsmutil/libsmutil.a ../libsmdb/libsmdb.a \
93			../db/libdb.a ../libsm/libsm.a
94	$(LINK.c) makemap.o -o $@ $(LDLIBS) ../libsmdb/libsmdb.a \
95		../libsmutil/libsmutil.a ../db/libdb.a ../libsm/libsm.a
96	$(POST_PROCESS)
97
98editmap:	editmap.o ../libsmutil/libsmutil.a ../libsmdb/libsmdb.a \
99			../db/libdb.a ../libsm/libsm.a
100	$(LINK.c) editmap.o -o $@ $(LDLIBS) ../libsmdb/libsmdb.a \
101		../libsmutil/libsmutil.a ../db/libdb.a ../libsm/libsm.a
102	$(POST_PROCESS)
103
104praliases:	praliases.o ../libsmutil/libsmutil.a ../libsmdb/libsmdb.a \
105			../libsm/libsm.a
106	$(LINK.c) praliases.o -o $@ $(LDLIBS) ../libsmdb/libsmdb.a \
107		../libsmutil/libsmutil.a ../db/libdb.a ../libsm/libsm.a
108	$(POST_PROCESS)
109
110mailstats:	mailstats.o ../libsmutil/libsmutil.a ../libsm/libsm.a
111	$(LINK.c) mailstats.o -o $@ $(LDLIBS) ../libsmutil/libsmutil.a \
112		../libsm/libsm.a
113	$(POST_PROCESS)
114
115install: all $(ROOTPROG) $(ROOTLIB)/mail.local $(ROOTLIB)/smrsh \
116	$(ROOTLIBSMTPSM)/mailq $(ROOTUSRSBIN)/makemap \
117	$(ROOTUSRSBIN)/etrn $(ROOTUSRSBIN)/editmap
118
119clean:
120	$(RM) $(OBJS) *.o
121
122include	../../Makefile.targ
123