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 NeXT 2.1.
9#
10#	@(#)Makefile.NeXT	8.7 (Berkeley) 04/10/95
11#
12
13# use O=-O (usual) or O=-g (debugging)
14O=	-O
15
16# define the database mechanisms available for map & alias lookups:
17#	-DNDBM -- use new DBM
18#	-DNEWDB -- use new Berkeley DB
19#	-DNIS -- include NIS support
20# The really old (V7) DBM library is no longer supported.
21# See READ_ME for a description of how these flags interact.
22#
23DBMDEF=	-DNDBM -DNETINFO
24
25# environment definitions (e.g., -D_AIX3)
26ENVDEF=	-DNeXT
27
28# see also conf.h for additional compilation flags
29
30# include directories
31INCDIRS=
32
33# library directories
34LIBDIRS=-L/usr/local/lib
35
36# libraries required on your system
37LIBS=	-ldbm
38
39# location of sendmail binary (usually /usr/sbin or /usr/lib)
40BINDIR=	${DESTDIR}/usr/lib
41
42# location of sendmail.st file (usually /var/log or /usr/lib)
43STDIR=	${DESTDIR}/etc/sendmail
44
45# location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
46HFDIR=	${DESTDIR}/usr/lib
47
48# additional .o files needed
49OBJADD=
50
51# additional pseudo-sources needed
52BEFORE=	unistd.h dirent.h
53
54###################  end of user configuration flags  ######################
55
56CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
57
58OBJS=	alias.o arpadate.o clock.o collect.o conf.o convtime.o daemon.o \
59	deliver.o domain.o envelope.o err.o headers.o macro.o main.o \
60	map.o mci.o mime.o parseaddr.o queue.o readcf.o recipient.o \
61	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
62	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
63
64LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
65BINOWN=	root
66BINGRP=	kmem
67BINMODE=6555
68
69ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
70
71all: ${ALL}
72
73sendmail: ${BEFORE} ${OBJS}
74	${CC} -o sendmail ${OBJS} ${LIBDIRS} ${LIBS}
75
76unistd.h:
77	cp /dev/null unistd.h
78
79dirent.h:
80	echo "#include <sys/dir.h>" > dirent.h
81	echo "#define dirent	direct" >> dirent.h
82
83#NROFF=	nroff -h
84NROFF=	groff -Tascii
85MANDOC=	-mandoc
86
87aliases.0: aliases.5
88	${NROFF} ${MANDOC} aliases.5 > aliases.0
89
90mailq.0: mailq.1
91	${NROFF} ${MANDOC} mailq.1 > mailq.0
92
93newaliases.0: newaliases.1
94	${NROFF} ${MANDOC} newaliases.1 > newaliases.0
95
96sendmail.0: sendmail.8
97	${NROFF} ${MANDOC} sendmail.8 > sendmail.0
98
99install: install-sendmail install-docs
100
101install-sendmail: sendmail
102	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
103	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
104	cp /dev/null  ${STDIR}/sendmail.st
105	chown ${BINOWN}.${BINGRP} ${STDIR}/sendmail.st
106	chmod 644 ${STDIR}/sendmail.st
107	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
108
109# doesn't actually install them -- you may want to install pre-nroff versions
110install-docs: aliases.0 mailq.0 newaliases.0 sendmail.0
111
112clean:
113	rm -f ${OBJS} sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
114
115# dependencies
116#   gross overkill, and yet still not quite enough....
117${OBJS}: sendmail.h conf.h
118