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