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 is based on work from Jim Oldroyd -- I believe he was
9#	using a fairly old Mt Xinu port.
10#
11#	It should also work on UMIPS-BSD from MIPS, if you still have
12#	any lying around.
13#
14#	@(#)Makefile.BSD43	8.6 (Berkeley) 04/10/95
15#
16
17# use O=-O (usual) or O=-g (debugging)
18O=	-O
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
28
29# environment definitions (e.g., -D_AIX3)
30ENVDEF=	-DoldBSD43
31
32# see also conf.h for additional compilation flags
33
34# include directories
35#INCDIRS=-I/usr/sww/include
36
37# library directories
38#LIBDIRS=-L/usr/sww/lib
39
40# libraries required on your system
41LIBS=	-ldbm -lresolv -ll
42
43# location of sendmail binary (usually /usr/sbin or /usr/lib)
44BINDIR=	${DESTDIR}/usr/lib
45
46# location of sendmail.st file (usually /var/log or /usr/lib)
47STDIR=	${DESTDIR}/usr/lib
48
49# location of sendmail.hf file (usually /usr/share/misc or /usr/lib)
50HFDIR=	${DESTDIR}/usr/lib
51
52# additional .o files needed
53OBJADD=
54
55# additional pseudo-sources needed
56BEFORE=	unistd.h stddef.h stdlib.h dirent.h sys/time.h
57
58###################  end of user configuration flags  ######################
59
60CFLAGS=	-I. $O ${INCDIRS} ${DBMDEF} ${ENVDEF}
61
62OBJS=	alias.o arpadate.o clock.o collect.o conf.o convtime.o daemon.o \
63	deliver.o domain.o envelope.o err.o headers.o macro.o main.o \
64	map.o mci.o mime.o parseaddr.o queue.o readcf.o recipient.o \
65	savemail.o srvrsmtp.o stab.o stats.o sysexits.o \
66	trace.o udb.o usersmtp.o util.o version.o ${OBJADD}
67
68LINKS=	${DESTDIR}/usr/ucb/newaliases ${DESTDIR}/usr/ucb/mailq
69BINOWN=	root
70BINGRP=	kmem
71BINMODE=6555
72
73ALL=	sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
74
75all: ${ALL}
76
77sendmail: ${BEFORE} ${OBJS}
78	${CC} -o sendmail ${OBJS} ${LIBDIRS} ${LIBS}
79
80unistd.h stddef.h stdlib.h sys/time.h:
81	cp /dev/null $@
82
83sys/time.h: sys
84
85sys:
86	mkdir sys
87
88dirent.h:
89	echo "#include <sys/dir.h>" > dirent.h
90	echo "#define dirent	direct" >> dirent.h
91
92#NROFF=	nroff -h
93NROFF=	groff -Tascii
94MANDOC=	-mandoc
95
96aliases.0: aliases.5
97	${NROFF} ${MANDOC} aliases.5 > aliases.0
98
99mailq.0: mailq.1
100	${NROFF} ${MANDOC} mailq.1 > mailq.0
101
102newaliases.0: newaliases.1
103	${NROFF} ${MANDOC} newaliases.1 > newaliases.0
104
105sendmail.0: sendmail.8
106	${NROFF} ${MANDOC} sendmail.8 > sendmail.0
107
108install: install-sendmail install-docs
109
110install-sendmail: sendmail
111	install -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} sendmail ${BINDIR}
112	for i in ${LINKS}; do rm -f $$i; ln -s ${BINDIR}/sendmail $$i; done
113	install -c -o ${BINOWN} -g ${BINGRP} -m 644 /dev/null \
114	    ${STDIR}/sendmail.st
115	install -c -o ${BINOWN} -g ${BINGRP} -m 444 sendmail.hf ${HFDIR}
116
117# doesn't actually install them -- you may want to install pre-nroff versions
118install-docs: aliases.0 mailq.0 newaliases.0 sendmail.0
119
120clean:
121	rm -f ${OBJS} sendmail aliases.0 mailq.0 newaliases.0 sendmail.0
122
123# dependencies
124#   gross overkill, and yet still not quite enough....
125${OBJS}: sendmail.h conf.h
126