1#
2#  This Makefile is designed to work on the old "make" program.  It does
3#  not use the obj subdirectory.  It also does not install documentation
4#  automatically -- think of it as a quick start for sites that have the
5#  old make program (I recommend that you get and port the new make if you
6#  are going to be doing any signficant work on sendmail).
7#
8#  This has been tested on Solaris 2.1 and 2.2.  If you are compiling
9#  for Solaris 2.3, use Makefile.SunOS.5.x.
10#
11#	@(#)Makefile.Solaris	8.11 (Berkeley) 04/10/95
12#
13
14# use O=-O (usual) or O=-g (debugging)
15# warning: do not use -O with gcc
16O=
17
18CC=	gcc
19
20# define the database mechanism used for alias lookups:
21#	-DNDBM -- use new DBM
22#	-DNEWDB -- use new Berkeley DB
23#	-DNIS -- include NIS support
24# The really old (V7) DBM library is no longer supported.
25# See READ_ME for a description of how these flags interact.
26#
27DBMDEF=	-DNDBM -DNIS
28
29# environment definitions (e.g., -D_AIX3)
30# include -DSOLARIS_2_3 for version 2.3 and higher
31ENVDEF=	-DSOLARIS
32
33# see also conf.h for additional compilation flags
34
35# include directories
36INCDIRS=-I/usr/sww/include
37
38# library directories
39LIBDIRS=-L/usr/sww/lib
40
41# libraries required on your system
42#  delete -l44bsd if you are not running BIND 4.9.x
43LIBS=	-lresolv -l44bsd -lsocket -lnsl -lelf
44
45# location of sendmail binary (usually /usr/sbin or /usr/lib)
46BINDIR=	${DESTDIR}/usr/lib
47
48# location of sendmail.st file (usually /var/log or /usr/lib)
49STDIR=	${DESTDIR}/var/log
50
51# location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
52HFDIR=	${DESTDIR}/etc/mail
53
54# additional .o files needed
55OBJADD=
56
57# things to be made before compilation begins
58BEFORE=	sysexits.h
59
60###################  end of user configuration flags  ######################
61
62CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
63
64OBJS=	alias.o arpadate.o clock.o collect.o conf.o convtime.o daemon.o \
65	deliver.o domain.o envelope.o err.o headers.o macro.o main.o \
66	map.o mci.o mime.o parseaddr.o queue.o readcf.o recipient.o \
67	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
68	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
69
70LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
71BINOWN=	root
72BINGRP=	sys
73BINMODE=6555
74INSTALL=/usr/ucb/install
75
76ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
77
78all: ${ALL}
79
80sendmail: ${BEFORE} ${OBJS}
81	${CC} -o sendmail ${OBJS} ${LIBDIRS} ${LIBS}
82
83sysexits.h:
84	if [ -r /usr/ucbinclude/sysexits.h ]; \
85	then \
86		ln -s /usr/ucbinclude/sysexits.h; \
87	fi
88
89#NROFF=	nroff -h
90NROFF=	groff -Tascii
91MANDOC=	-mandoc
92
93aliases.0: aliases.5
94	${NROFF} ${MANDOC} aliases.5 > aliases.0
95
96mailq.0: mailq.1
97	${NROFF} ${MANDOC} mailq.1 > mailq.0
98
99newaliases.0: newaliases.1
100	${NROFF} ${MANDOC} newaliases.1 > newaliases.0
101
102sendmail.0: sendmail.8
103	${NROFF} ${MANDOC} sendmail.8 > sendmail.0
104
105install: install-sendmail install-docs
106
107install-sendmail: sendmail
108	${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
109	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
110	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
111	    ${STDIR}/sendmail.st
112	${INSTALL} -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
113
114# doesn't actually install them -- you may want to install pre-nroff versions
115install-docs: aliases.0 mailq.0 newaliases.0 sendmail.0
116
117clean:
118	rm -f ${OBJS} sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
119
120# dependencies
121#   gross overkill, and yet still not quite enough....
122${OBJS}: sendmail.h conf.h
123