# Program: C client makefile
#
# Author: Mark Crispin
# Networks and Distributed Computing
# Computing & Communications
# University of Washington
# Administration Building, AG-44
# Seattle, WA 98195
# Internet: MRC@CAC.Washington.EDU
#
# Date: 11 May 1989
# Last Edited: 20 December 1995
#
# Copyright 1995 by the University of Washington
#
# Permission to use, copy, modify, and distribute this software and its
# documentation for any purpose and without fee is hereby granted, provided
# that the above copyright notice appears in all copies and that both the
# above copyright notice and this permission notice appear in supporting
# documentation, and that the name of the University of Washington not be
# used in advertising or publicity pertaining to distribution of the software
# without specific, written prior permission. This software is made
# available "as is", and
# THE UNIVERSITY OF WASHINGTON DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
# WITH REGARD TO THIS SOFTWARE, INCLUDING WITHOUT LIMITATION ALL IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, AND IN
# NO EVENT SHALL THE UNIVERSITY OF WASHINGTON BE LIABLE FOR ANY SPECIAL,
# INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, TORT
# (INCLUDING NEGLIGENCE) OR STRICT LIABILITY, ARISING OUT OF OR IN CONNECTION
# WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
ARCHIVE=c-client.a
ARRC=ar rc
EXTRAAUTHENTICATORS=
DEFAULTAUTHENTICATORS=log
BINARIES=mail.o misc.o newsrc.o smanager.o osdep.o dummy.o \
netmsg.o rfc822.o nntp.o smtp.o imap4.o pop3.o \
bezerk.o mbox.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o
EXTRACFLAGS=
#CFLAGS=$(EXTRACFLAGS)
EXTRADRIVERS=mbox mbx
DEFAULTDRIVERS=imap nntp pop3 mh tenex mtx mmdf bezerk news phile dummy
LN=ln -s
MAKE=make
MV=mv
RANLIB=ranlib
RM=rm -f
RSH=rsh
RSHPATH=/usr/ucb/rsh
SHELL=/bin/sh
all: OSTYPE
$(MAKE) `cat OSTYPE`
OSTYPE:
@echo "You must specify what type of system"
@false
# Current ports
a41: # AIX 4.1 for RS/6000
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/usr/bin/rsh \
CFLAGS="-g -Dunix=1 -D_BSD $(EXTRACFLAGS)" \
LDFLAGS="-lbsd -ls"
a32: # AIX 3.2 for RS/6000
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/usr/bin/rsh \
CFLAGS="-g -Dunix=1 -D_BSD $(EXTRACFLAGS)" \
LDFLAGS="-lbsd"
aix: # AIX/370
@echo You are building for AIX on an S/370 class machine
@echo If you want AIX on an RS/6000 you need to use a32 instead!
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g $(EXTRACFLAGS)" LDFLAGS="-lbsd"
art: # AIX 2.2.1 for RT
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/bin/rsh \
CFLAGS="-g -Dconst= -Dvoid=char $(EXTRACFLAGS)" \
RANLIB=true
asv: # Altos SVR4
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/usr/bin/rsh \
CFLAGS="-Dconst= $(EXTRACFLAGS)" RANLIB=true \
LDFLAGS="-lsocket -lrpc -lgen -lcrypt -lxenix"
aux: # A/UX
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g -B/usr/lib/big/ -Dconst= $(EXTRACFLAGS)" \
CC=cc ARRC="ar -rc" RANLIB=true
bsd: # BSD UNIX
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g -Dconst= $(EXTRACFLAGS)"
bsi: # BSD/i386
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/usr/bin/rsh CFLAGS="$(CFLAGS) $(EXTRACFLAGS)" \
LDFLAGS="-lcrypt"
cvx: # Convex
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-O -ext -Dconst= $(EXTRACFLAGS)"
d-g: # Data General
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSH=remsh RSHPATH=/usr/bin/remsh \
CFLAGS="-g -Dconst= $(EXTRACFLAGS)" RANLIB=true
drs: # ICL DRS/NX
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/usr/bin/rsh \
CFLAGS="-O $(EXTRACFLAGS)" RANLIB=true \
LDFLAGS="-lsocket -lgen"
dyn: # Dynix
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g -Dconst= $(EXTRACFLAGS)"
gso: # GCC Solaris
$(MAKE) mtest OS=sol EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto CC=gcc \
RSHPATH=/usr/bin/rsh CFLAGS="-g -O2 $(EXTRACFLAGS)" \
RANLIB=true LDFLAGS="-lsocket -lnsl -lgen"
gul: # GCC Ultrix
$(MAKE) mtest OS=ult EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CC=gcc CFLAGS="-g -O $(EXTRACFLAGS)" \
LDFLAGS="-lauth"
hpp: # HP-UX
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSH=remsh RSHPATH=/usr/bin/remsh \
CFLAGS="-g -Dconst= $(EXTRACFLAGS)" \
CC=cc RANLIB=true LDFLAGS="-lnet"
isc: # Interactive
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-Xp -Dconst= $(EXTRACFLAGS)" RANLIB=true \
LDFLAGS="-linet -lnsl_s -lgen -lx -lsec"
lnx: # Linux
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/usr/bin/rsh CFLAGS="-g -O $(EXTRACFLAGS)"
mct: # MachTen
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g -O -pipe $(EXTRACFLAGS)"
mnt: # Mint
@echo "You are being optimistic!"
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-O -I. -I/mac/h -I/mac/h-tcp $(EXTRACFLAGS)" \
CC=gcc ARRC="gcc-ar rc" RANLIB=true \
LDFLAGS="-L/mac/lib /mac/lib-tcp/dnr.o -llibmac -llibmac"
fixstk 131072 mtest
neb: # NetBSD
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/usr/bin/rsh CFLAGS="-g -O -pipe $(EXTRACFLAGS)" \
LDFLAGS="-lcrypt"
nxt: # NEXTSTEP
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g -O -pipe $(EXTRACFLAGS)"
osf: # OSF/1
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g3 -O2 -Olimit 1200 $(EXTRACFLAGS)"
ptx: # PTX
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSH=resh RSHPATH=/usr/bin/resh \
CFLAGS="-Wc,-O3 -Wc,-seq $(EXTRACFLAGS)" RANLIB=true \
LDFLAGS="-lseq -lsec -lsocket -linet -lnsl -lgen"
pyr: # Pyramid
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g -Dconst= $(EXTRACFLAGS)"
s40: # SUN-OS 4.0
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g -Dconst= $(EXTRACFLAGS)"
sco: # Santa Cruz Operation
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=mmdfproto \
RSH=rcmd RSHPATH=/usr/bin/rcmd \
CFLAGS=$(EXTRACFLAGS) LN="ln" RANLIB=true \
LDFLAGS="-lsocket -lprot -lcrypt -lx"
sgi: # Silicon Graphics
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/usr/bsd/rsh CFLAGS="-g -cckr $(EXTRACFLAGS)" \
RANLIB=true
slx: # Secure Linux
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSHPATH=/usr/bin/rsh CFLAGS="-g -O $(EXTRACFLAGS)" \
LDFLAGS="-lshadow"
sol: # Solaris
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto CC=ucbcc \
RSHPATH=/usr/bin/rsh CFLAGS="-g -O2 $(EXTRACFLAGS)" \
RANLIB=true LDFLAGS="-lsocket -lnsl -lgen"
sos: # Secure OSF/1
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g3 -O2 -Olimit 1200 $(EXTRACFLAGS)" \
LDFLAGS="-lsecurity -laud"
ssn: # Secure SUN-OS
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g -Dconst= $(EXTRACFLAGS)" \
LDFLAGS="-ldl"
sun: # SUN-OS
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g -Dconst= $(EXTRACFLAGS)" \
LDFLAGS="-ldl"
sv2: # SVR2
@echo "You are being *very* optimistic!"
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSH=remsh RSHPATH=/usr/bin/remsh \
CFLAGS="-Dconst= -DSYSTEM5 -DSHORT_IDENT -I/usr/ethernet/include $(EXTRACFLAGS)" \
LN="ln" RANLIB=true LDFLAGS="-lnet"
sv4: # SVR4
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
RSH=resh RSHPATH=/usr/bin/resh \
CFLAGS="-g -Dconst= $(EXTRACFLAGS)" RANLIB=true \
LDFLAGS="-lsocket -lnsl -lgen"
ult: # Ultrix
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-g3 -O2 -Olimit 1200 -Dconst= $(EXTRACFLAGS)" \
LDFLAGS="-lauth"
vul: # VAX Ultrix
$(MAKE) mtest OS=ult EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-O2 -Dconst= $(EXTRACFLAGS)" \
LDFLAGS="-lauth"
vu2: # VAX Ultrix 2.3, etc.
$(MAKE) mtest OS=$@ EXTRADRIVERS="$(EXTRADRIVERS)" \
STDPROTO=bezerkproto \
CFLAGS="-O2 -Dconst= -Dvoid=char $(EXTRACFLAGS)"
# From here on down is OS-independent
clean:
$(RM) *.o linkage.[ch] auths.c mtest $(ARCHIVE) osdep.* \
OSTYPE CFLAGS LDFLAGS
mtest: $(ARCHIVE) mtest.o
$(CC) $(CFLAGS) -o mtest mtest.o $(ARCHIVE) $(LDFLAGS)
$(ARCHIVE): $(BINARIES)
$(RM) $(ARCHIVE)
$(ARRC) $(ARCHIVE) $(BINARIES)
$(RANLIB) $(ARCHIVE)
# Dependencies
bezerk.o: mail.h misc.h osdep.h bezerk.h rfc822.h
dummy.o: mail.h misc.h osdep.h dummy.h
imap4.o: mail.h misc.h osdep.h imap4.h
mail.o: mail.h misc.h osdep.h
mbox.o: mail.h misc.h osdep.h mbox.h bezerk.h
mbx.o: mail.h misc.h osdep.h mbx.h rfc822.h dummy.h
mh.o: mail.h misc.h osdep.h mh.h rfc822.h dummy.h
misc.o: mail.h misc.h osdep.h
mmdf.o: mail.h misc.h osdep.h mmdf.h bezerk.h rfc822.h dummy.h
mtest.o: mail.h misc.h osdep.h rfc822.h smtp.h nntp.h linkage
mtx.o: mail.h misc.h osdep.h mtx.h rfc822.h dummy.h
netmsg.o: mail.h misc.h osdep.h netmsg.h
news.o: mail.h misc.h osdep.h news.h rfc822.h
newsrc.o: mail.h misc.h osdep.h newsrc.h
nntp.o: mail.h misc.h osdep.h netmsg.h smtp.h nntp.h rfc822.h
phile.o: mail.h misc.h osdep.h phile.h rfc822.h dummy.h
pop3.o: mail.h misc.h osdep.h pop3.h rfc822.h
smanager.o: mail.h misc.h osdep.h
smtp.o: mail.h misc.h osdep.h smtp.h rfc822.h
rfc822.o: mail.h misc.h osdep.h rfc822.h
tenex.o: mail.h misc.h osdep.h tenex.h rfc822.h dummy.h
# OS-dependent module
osdep.o: mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \
osdep.h env_unix.h tcp_unix.h \
os_$(OS).c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c \
flock.c fsync.c gethstid.c \
gr_wait.c gr_wait4.c gr_waitp.c \
log_std.c log_sv4.c \
log_a41.c log_lnx.c log_sco.c log_sos.c log_ssn.c log_ult.c \
scandir.c setpgrp.c strerror.c truncate.c write.c \
memmove.c memmove2.c memset.c \
tz_bsd.c tz_nul.c tz_sv4.c \
write.c writev.c writevs.c \
strerror.c strpbrk.c strstr.c strtok.c strtoul.c
$(CC) $(CFLAGS) -DSTDPROTO=$(STDPROTO) \
-DRSH=\"$(RSH)\" -DRSHPATH=\"$(RSHPATH)\" \
$(EXTRAOSDEFS) -c os_$(OS).c
$(MV) os_$(OS).o osdep.o
osdep.h: os_$(OS).h linkage
$(RM) OSTYPE CFLAGS LDFLAGS osdep.h
echo $(OS) > OSTYPE
echo $(CFLAGS) > CFLAGS
echo $(LDFLAGS) $(EXTRALDFLAGS) > LDFLAGS
$(LN) os_$(OS).h osdep.h
# Driver linkage
linkage:
chmod +x drivers
./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS)
./mkauths $(EXTRAAUTHENTICATORS) $(DEFAULTAUTHENTICATORS)
# A monument to a hack of long ago and far away...
love:
@echo "not war?"
syntax highlighted by Code2HTML, v. 0.9.1