1095 lines
32 KiB
Makefile
1095 lines
32 KiB
Makefile
# ========================================================================
|
|
# Copyright 1988-2007 University of Washington
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
#
|
|
# ========================================================================
|
|
|
|
# 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: 17 December 2007
|
|
|
|
|
|
# Command line build parameters
|
|
|
|
EXTRAAUTHENTICATORS=
|
|
EXTRADRIVERS=mbox
|
|
PASSWDTYPE=std
|
|
SSLTYPE=nopwd
|
|
IP=4
|
|
|
|
|
|
# The optimization level here for GCC ports is set here for a reason. It's
|
|
# to get you to read this text.
|
|
# The general concensus seems to be that -O2 is the one to use.
|
|
# Over the years, I've been told to use many different settings, including -O6.
|
|
# In recent versions of GCC [as of 2/2005], -O6 generates bad code that, among
|
|
# other ill effects, causes infinite loops.
|
|
# -O3 seems to be safe, but empirical observation from our local expert
|
|
# indicates that in some (many?) cases -O3 code runs slower than -O2.
|
|
|
|
GCCOPTLEVEL= -O2
|
|
|
|
|
|
# Try to have some consistency in GCC builds. We want optimization, but we
|
|
# also want to be able to debug.
|
|
|
|
GCCCFLAGS= -g $(GCCOPTLEVEL) -pipe -fno-omit-frame-pointer
|
|
GCC4CFLAGS= $(GCCCFLAGS) -Wno-pointer-sign
|
|
|
|
|
|
# Extended flags needed for SSL. You may need to modify.
|
|
|
|
SSLDIR=/usr/local/ssl
|
|
SSLCERTS=$(SSLDIR)/certs
|
|
SSLKEYS=$(SSLCERTS)
|
|
SSLINCLUDE=$(SSLDIR)/include
|
|
SSLLIB=$(SSLDIR)/lib
|
|
|
|
SSLCRYPTO=-lcrypto
|
|
|
|
# Older versions of MIT Kerberos also have a libcrypto. If so, you may need
|
|
# to use this instead
|
|
#SSLCRYPTO=$(SSLLIB)/libcrypto.a
|
|
|
|
# RSA Security Inc. released the RSA public key encryption algorithm into
|
|
# the public domain on September 6, 2000. There is no longer any need to
|
|
# use RSAREF.
|
|
SSLRSA= # -lRSAglue -lrsaref
|
|
|
|
SSLCFLAGS= -I$(SSLINCLUDE) -I$(SSLINCLUDE)/openssl\
|
|
-DSSL_CERT_DIRECTORY=\"$(SSLCERTS)\" -DSSL_KEY_DIRECTORY=\"$(SSLKEYS)\"
|
|
SSLLDFLAGS= -L$(SSLLIB) -lssl $(SSLCRYPTO) $(SSLRSA) $(EXTRALDFLAGS)
|
|
|
|
|
|
# Extended flags needed for non-standard passwd types. You may need to modify.
|
|
|
|
AFSDIR=/usr/afsws
|
|
AFSCFLAGS=-I$(AFSDIR)/include
|
|
AFSLIB=$(AFSDIR)/lib
|
|
AFSLDFLAGS=-L$(AFSLIB)/afs -L$(AFSLIB) -L$(AFSDIR)/domestic/lib\
|
|
-lkauth -lprot -lubik -lauth -lrxkad -lrx -llwp -ldes -lcom_err\
|
|
$(AFSLIB)/afs/util.a -laudit -lsys
|
|
# AFSLDFLAGS may also need -L/usr/ucblib -lucb
|
|
DCECFLAGS= -DDCE_MINIMAL -DPASSWD_OVERRIDE=\"/opt/pop3/passwd/passwd\"
|
|
DCELDFLAGS= -ldce
|
|
PAMLDFLAGS= -lpam -ldl
|
|
|
|
|
|
# Build parameters normally set by the individual port
|
|
|
|
CHECKPW=std
|
|
LOGINPW=std
|
|
SIGTYPE=bsd
|
|
CRXTYPE=std
|
|
ACTIVEFILE=/var/lib/news/active
|
|
SPOOLDIR=/var/spool
|
|
MAILSPOOL=$(SPOOLDIR)/mail
|
|
NEWSSPOOL=$(SPOOLDIR)/news
|
|
RSHPATH=/usr/bin/rsh
|
|
MD5PWD=/etc/cram-md5.pwd
|
|
# Tries one of the test alternatives below if not specified.
|
|
LOCKPGM=
|
|
# Test alternatives if LOCKPGM not specified
|
|
LOCKPGM1=/usr/libexec/mlock
|
|
LOCKPGM2=/usr/sbin/mlock
|
|
LOCKPGM3=/etc/mlock
|
|
|
|
|
|
# Default formats for creating new mailboxes and for empty mailboxes in the
|
|
# default namespace; must be set to the associated driver's prototype.
|
|
#
|
|
# The CREATEPROTO is the default format for new mailbox creation.
|
|
# The EMPTYPROTO is the default format for handling zero-byte files.
|
|
#
|
|
# Normally, this is set by the individual port.
|
|
#
|
|
# NOTE: namespace formats (e.g. mh and news) can not be set as a default format
|
|
# since they do not exist in the default namespace. Also, it is meaningless to
|
|
# set certain other formats (e.g. mbx, mx, and mix) as the EMPTYPROTO since
|
|
# these formats can never be empty files.
|
|
|
|
CREATEPROTO=unixproto
|
|
EMPTYPROTO=unixproto
|
|
|
|
|
|
# Commands possibly overriden by the individual port
|
|
|
|
ARRC=ar rc
|
|
CC=cc
|
|
LN=ln -s
|
|
RANLIB=ranlib
|
|
|
|
|
|
# Standard distribution build parameters
|
|
|
|
DEFAULTAUTHENTICATORS=ext md5 pla log
|
|
#
|
|
# mh needs to be after any other directory format drivers (such as mx or mix)
|
|
# since otherwise mh will seize any directory that is under the mh path.
|
|
# However, mh needs to be before any sysinbox formats (such as mmdf or unix)
|
|
# since otherwise INBOX won't work correctly when mh_allow_inbox is set.
|
|
#
|
|
DEFAULTDRIVERS=imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile
|
|
CHUNKSIZE=65536
|
|
|
|
# Normally no need to change any of these
|
|
|
|
ARCHIVE=c-client.a
|
|
BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \
|
|
dummy.o pseudo.o netmsg.o flstring.o fdstring.o \
|
|
rfc822.o nntp.o smtp.o imap4r1.o pop3.o \
|
|
unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o
|
|
CFLAGS=-g
|
|
|
|
CAT=cat
|
|
MAKE=make
|
|
MV=mv
|
|
RM=rm -rf
|
|
SH=sh
|
|
|
|
|
|
# Primary build command
|
|
|
|
BUILD=$(MAKE) build EXTRACFLAGS='$(EXTRACFLAGS)'\
|
|
EXTRALDFLAGS='$(EXTRALDFLAGS)'\
|
|
EXTRADRIVERS='$(EXTRADRIVERS)' EXTRAAUTHENTICATORS='$(EXTRAAUTHENTICATORS)'\
|
|
PASSWDTYPE=$(PASSWDTYPE) SSLTYPE=$(SSLTYPE) IP=$(IP)
|
|
|
|
# Need this for the shared library rule to work correctly
|
|
.SUFFIXES: .o .so
|
|
SOFILES=${BINARIES:.o=.so}
|
|
|
|
|
|
# Here if no make argument established
|
|
|
|
missing: osdep.h
|
|
$(MAKE) all `$(CAT) SPECIALS`
|
|
|
|
osdep.h:
|
|
@echo You must specify what type of system
|
|
@false
|
|
|
|
|
|
# Current ports
|
|
|
|
a32: # AIX 3.2 for RS/6000
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -Dunix=1 -D_BSD" \
|
|
BASELDFLAGS="-lbsd"
|
|
|
|
a41: # AIX 4.1 for RS/6000
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=a41 CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -Dunix=1 -D_BSD -qro -qroconst" \
|
|
BASELDFLAGS="-ls"
|
|
|
|
a52: # Attempt at AIX 5.2
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=a41 CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -Dunix=1 -D_BSD -qro -qroconst" \
|
|
BASELDFLAGS="-ls"
|
|
|
|
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 or a41 instead!
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-g" \
|
|
BASELDFLAGS="-lbsd"
|
|
|
|
aos: # AOS for RT
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-g -Dconst="
|
|
|
|
art: # AIX 2.2.1 for RT
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=sv4 \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/usr/local/news/control/active \
|
|
RSHPATH=/bin/rsh \
|
|
BASECFLAGS="-g -Dconst= -Dvoid=char" \
|
|
RANLIB=true
|
|
|
|
asv: # Altos SVR4
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=sv4 LOGINPW=old \
|
|
ACTIVEFILE=/usr/spool/news/active \
|
|
RSHPATH=/usr/bin/rcmd \
|
|
BASECFLAGS="-Dconst= -DSIGSTOP=SIGKILL" \
|
|
BASELDFLAGS="-lsocket -lrpc -lgen -lcrypt -lxenix" \
|
|
RANLIB=true
|
|
|
|
aux: # A/UX
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
MAILSPOOL=/usr/mail \
|
|
BASECFLAGS="-g -B/usr/lib/big/ -Dvoid=char -Dconst=" \
|
|
RANLIB=true ARRC="ar -rc"
|
|
|
|
bs3: # BSD/i386 3.0 or higher
|
|
$(BUILD) `$(CAT) SPECIALS` OS=bsi \
|
|
CHECKPW=bsi LOGINPW=bsi CRXTYPE=nfs \
|
|
SPOOLDIR=/var NEWSSPOOL=/var/news/spool \
|
|
ACTIVEFILE=/var/news/etc/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" CC=shlicc
|
|
|
|
bsd: # BSD UNIX
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-g -Dconst="
|
|
|
|
bsf: # FreeBSD
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/usr/local/news/lib/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-lcrypt"
|
|
|
|
bsi: # BSD/i386
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
SPOOLDIR=/var NEWSSPOOL=/var/news/spool \
|
|
ACTIVEFILE=/var/news/etc/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)"
|
|
|
|
bso: # OpenBSD
|
|
$(BUILD) `$(CAT) SPECIALS` OS=bsi \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/usr/local/news/lib/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)"
|
|
|
|
cvx: # Convex
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-O -ext -Dconst="
|
|
|
|
cyg: # Cygwin - note that most local file drivers don't work!!
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
DEFAULTDRIVERS="imap nntp pop3 mbx unix phile" \
|
|
SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/usr/local/news/lib/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-lcrypt" \
|
|
CC=gcc
|
|
|
|
d-g: # Data General DG/UX
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=sv4 CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/local/news/active \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="-g -Dconst=" \
|
|
BASELDFLAGS="-lnsl -lsocket" \
|
|
RANLIB=true
|
|
|
|
d54: # Data General DG/UX 5.4
|
|
$(BUILD) `$(CAT) SPECIALS` OS=d-g \
|
|
SIGTYPE=sv4 CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/local/news/active \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="-g -Dconst=" \
|
|
BASELDFLAGS="-lnsl -lsocket" \
|
|
RANLIB=true
|
|
|
|
dpx: # Bull DPX/2
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sv4 \
|
|
SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="-Dconst= -DSYSTEM5 -DSHORT_IDENT" \
|
|
BASELDFLAGS="-linet" \
|
|
RANLIB=true LN=ln
|
|
|
|
drs: # ICL DRS/NX
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-O" \
|
|
BASELDFLAGS="-lsocket -lgen" \
|
|
RANLIB=true
|
|
|
|
do4: # Apollo Domain/OS sr10.4
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-A systype,bsd4.3 -D_APOLLO_SOURCE" \
|
|
RANLIB=true
|
|
|
|
dyn: # Dynix
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-g -Dconst="
|
|
|
|
epx: # EP/IX
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sv4 \
|
|
SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/usr/share/news/active \
|
|
RSHPATH=/usr/net/rsh \
|
|
BASECFLAGS="-g -systype svr4" \
|
|
BASELDFLAGS="-lsocket -lnsl -lgen" \
|
|
RANLIB=true
|
|
|
|
ga4: # GCC AIX 4.1 for RS/6000
|
|
$(BUILD) `$(CAT) SPECIALS` OS=a41 \
|
|
SIGTYPE=psx CHECKPW=a41 CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -Dunix=1 -D_BSD" \
|
|
BASELDFLAGS="-ls"
|
|
|
|
gas: # GCC Altos SVR4
|
|
$(BUILD) `$(CAT) SPECIALS` OS=asv \
|
|
SIGTYPE=sv4 LOGINPW=old \
|
|
ACTIVEFILE=/usr/spool/news/active \
|
|
RSHPATH=/usr/bin/rcmd \
|
|
BASECFLAGS="-g -O -DALTOS_SYSTEM_V -DSIGSTOP=SIGKILL" \
|
|
BASELDFLAGS="-lsocket -lrpc -lgen -lcrypt -lxenix" \
|
|
RANLIB=true CC=gcc
|
|
|
|
gh9: # GCC HP-UX 9.x
|
|
$(BUILD) `$(CAT) SPECIALS` OS=hpp \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
MAILSPOOL=/usr/mail \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
RANLIB=true CC=gcc
|
|
|
|
ghp: # GCC HP-UX 10.x
|
|
$(BUILD) `$(CAT) SPECIALS` OS=hpp \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/var/news/active \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
RANLIB=true CC=gcc
|
|
|
|
ghs: # GCC HP-UX with Trusted Computer Base
|
|
$(BUILD) `$(CAT) SPECIALS` OS=shp \
|
|
SIGTYPE=psx CHECKPW=sec CRXTYPE=nfs \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/var/news/active \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-lnet -lV3 -lsec" \
|
|
RANLIB=true CC=gcc
|
|
|
|
go5: # GCC 2.7.1 (95q4) SCO Open Server 5.0.x
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sc5 \
|
|
SIGTYPE=psx CHECKPW=sec LOGINPW=sec \
|
|
CREATEPROTO=mmdfproto EMPTYPROTO=mmdfproto \
|
|
SPOOLDIR=/var/spool \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rcmd \
|
|
BASECFLAGS="$(GCCCFLAGS) -I/usr/include -L/lib" \
|
|
BASELDFLAGS="-lsocket -lprot -lx -ltinfo -lm" \
|
|
RANLIB=true CC=gcc
|
|
|
|
gsc: # Santa Cruz Operation
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sco \
|
|
SIGTYPE=sv4 CHECKPW=sec LOGINPW=sec \
|
|
CREATEPROTO=mmdfproto EMPTYPROTO=mmdfproto \
|
|
RSHPATH=/usr/bin/rcmd \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-lsocket -lprot -lcrypt_i -lx -los" \
|
|
RANLIB=true LN=ln CC=gcc
|
|
|
|
gsg: # GCC Silicon Graphics
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sgi \
|
|
SIGTYPE=sv4 CRXTYPE=nfs \
|
|
MAILSPOOL=/usr/mail \
|
|
RSHPATH=/usr/bsd/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
RANLIB=true CC=gcc
|
|
|
|
gso: os_sol.h # GCC Solaris
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sol \
|
|
SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/usr/share/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-lsocket -lnsl -lgen" \
|
|
RANLIB=true CC=gcc
|
|
|
|
gsu: # GCC SUN-OS
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sun \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-ldl" \
|
|
CC=gcc
|
|
|
|
gul: # GCC Ultrix
|
|
$(BUILD) `$(CAT) SPECIALS` OS=ult \
|
|
SIGTYPE=psx CHECKPW=ult CRXTYPE=nfs \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-lauth -lc" \
|
|
CC=gcc
|
|
|
|
h11: # HP-UX 11i
|
|
$(BUILD) `$(CAT) SPECIALS` OS=hpp \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/var/news/active \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="-g -Ae" \
|
|
RANLIB=true
|
|
|
|
hpp: # HP-UX 9.x
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
MAILSPOOL=/usr/mail \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="-g -Aa -D_HPUX_SOURCE" \
|
|
BASELDFLAGS="-lnet -lV3" \
|
|
RANLIB=true
|
|
|
|
hpx: # HP-UX 10.x
|
|
$(BUILD) `$(CAT) SPECIALS` OS=hpp \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/var/news/active \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="-g -Ae" \
|
|
BASELDFLAGS="-lnet -lV3" \
|
|
RANLIB=true
|
|
|
|
isc: # Interactive
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/var/spool/news/active \
|
|
BASECFLAGS="-Xp -D_SYSV3" \
|
|
BASELDFLAGS="-linet -lnsl_s -lgen -lx -lsec -liberty" \
|
|
RANLIB=true
|
|
|
|
lnp: # Linux Pluggable Authentication modules
|
|
$(BUILD) `$(CAT) SPECIALS` OS=slx \
|
|
SIGTYPE=psx CHECKPW=pam CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="$(EXTRALDFLAGS) $(PAMLDFLAGS)"
|
|
|
|
lnx: # Linux non-shadow passwords
|
|
@echo You are building for traditional Linux *without* shadow
|
|
@echo passwords and with the crypt function in the C library.
|
|
@echo If your system has shadow passwords, or if crypt is not
|
|
@echo in the C library, you must use slx, sl4, or sl5 instead!
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)"
|
|
|
|
lyn: # LynxOS
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
RSHPATH=/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS=-lbsd \
|
|
CC=gcc
|
|
|
|
mct: # MachTen - CRXTYPE=nfs doesn't work (at least not on 2.2)
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SPOOLDIR=/var/spool \
|
|
BASECFLAGS="$(GCCCFLAGS)"
|
|
|
|
mnt: # Mint
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)"
|
|
|
|
neb: # NetBSD
|
|
$(BUILD) `$(CAT) SPECIALS` OS=bsi \
|
|
CRXTYPE=nfs \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/var/db/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-lcrypt"
|
|
|
|
nec: # NEC UX
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sv4 \
|
|
SIGTYPE=sv4 CHECKPW=sv4 \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/var/news/lib/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -Kopt=2 -KOlimit=2000" \
|
|
BASELDFLAGS="-lsocket -lnsl -lgen" \
|
|
RANLIB=true CC=/usr/abiccs/bin/cc
|
|
|
|
nto: # QNX Neutrino RTP
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -O"
|
|
|
|
nxt: # NEXTSTEP
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="$(GCCCFLAGS)"
|
|
|
|
nx3: # NEXTSTEP 3.0 single threaded
|
|
$(BUILD) `$(CAT) SPECIALS` OS=nxt \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="$(GCCCFLAGS)"
|
|
echo "void malloc_singlethreaded (void);" >> linkage.h
|
|
echo " malloc_singlethreaded ();" >> linkage.c
|
|
|
|
osf: # OSF/1
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
BASECFLAGS="-g3 -w -O2 -Olimit 1500"
|
|
|
|
# Note: sia_become_user() used by LOGINPW=os4 doesn't seem to work right. The
|
|
# user doesn't get proper file access, and the process can't be killed.
|
|
|
|
os4: # OSF/1 (Digital UNIX) 4
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=os4 LOGINPW=os4 CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
BASECFLAGS="-g3 -w -std0 -O2"
|
|
|
|
osx: # Mac OS X
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCC4CFLAGS)"
|
|
|
|
ptx: # PTX
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=svo LOGINPW=sv4 CRXTYPE=nfs \
|
|
MAILSPOOL=/usr/mail \
|
|
RSHPATH=/usr/bin/resh \
|
|
BASECFLAGS="-Wc,-O3 -Wc,-seq -Dprivate=PRIVATE" \
|
|
BASELDFLAGS="-lseq -lsec -lsocket -linet -lnsl -lgen" \
|
|
RANLIB=true
|
|
|
|
pyr: # Pyramid
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-g -Dconst="
|
|
|
|
qnx: # QNX
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CHECKPW=psx LOGINPW=old \
|
|
RSHPATH=/usr/ucb/rsh \
|
|
BASECFLAGS="-Otax -g -Dunix=1 -D_POSIX_SOURCE" \
|
|
BASELDFLAGS="-g -N128k -llogin -lsocket -lunix"
|
|
|
|
s40: # SUN-OS 4.0
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-g -Dconst="
|
|
|
|
sc5: # SCO Open Server 5.0
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=sec LOGINPW=sec \
|
|
CREATEPROTO=mmdfproto EMPTYPROTO=mmdfproto \
|
|
SPOOLDIR=/var/spool \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rcmd \
|
|
BASECFLAGS="-O3 -s -belf" \
|
|
BASELDFLAGS="-lsocket -lprot -lx -ltinfo -lm" \
|
|
RANLIB=true
|
|
|
|
sco: # Santa Cruz Operation
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=sv4 CHECKPW=sec LOGINPW=sec \
|
|
CREATEPROTO=mmdfproto EMPTYPROTO=mmdfproto \
|
|
RSHPATH=/usr/bin/rcmd \
|
|
BASECFLAGS="-O3" \
|
|
BASELDFLAGS="-lsocket -lprot -lcrypt_i -lx -los" \
|
|
RANLIB=true LN=ln
|
|
|
|
# Note: setting _POSIX_SOURCE doesn't seem to build it as of SGI IRIX 5.3
|
|
|
|
sgi: # Silicon Graphics
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=sv4 CRXTYPE=nfs \
|
|
MAILSPOOL=/usr/mail \
|
|
RSHPATH=/usr/bsd/rsh \
|
|
BASECFLAGS="-g3 -O2 -Olimit 8192" \
|
|
RANLIB=true
|
|
|
|
sg6: # Silicon Graphics, IRIX 6.5
|
|
MAKEFLAGS= $(BUILD) `$(CAT) SPECIALS` OS=sgi \
|
|
SIGTYPE=sv4 CRXTYPE=nfs \
|
|
MAILSPOOL=/usr/mail \
|
|
RSHPATH=/usr/bsd/rsh \
|
|
BASECFLAGS="-g3 -O2 -OPT:Olimit=0 -woff 1110,1116" \
|
|
RANLIB=true
|
|
|
|
# Note: Mark Kaesling says that setluid() isn't in HP-UX with SecureWare.
|
|
|
|
shp: # HP-UX with Trusted Computer Base
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=sec CRXTYPE=nfs \
|
|
SPOOLDIR=/var \
|
|
ACTIVEFILE=/var/news/active \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="-g -Ae" \
|
|
BASELDFLAGS="-lnet -lV3 -lsec" \
|
|
RANLIB=true
|
|
|
|
slx: # Secure Linux
|
|
@echo You are building for libc6/glibc versions of Secure Linux
|
|
@echo If you want libc5 versions you must use sl5 instead!
|
|
@echo If you want libc4 versions you must use sl4 instead!
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-lcrypt"
|
|
|
|
sl4: # Secure Linux using libc4
|
|
@echo You are building for libc4 versions of Secure Linux
|
|
@echo If you want libc6/glibc versions you must use slx instead!
|
|
@echo If you want libc5 versions you must use sl5 instead!
|
|
$(BUILD) `$(CAT) SPECIALS` OS=slx \
|
|
SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)" \
|
|
BASELDFLAGS="-lshadow"
|
|
|
|
sl5: # Secure Linux using libc5
|
|
@echo You are building for libc5 versions of Secure Linux
|
|
@echo If you want libc6/glibc versions you must use slx instead!
|
|
@echo If you want libc4 versions you must use sl4 instead!
|
|
$(BUILD) `$(CAT) SPECIALS` OS=slx \
|
|
SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="$(GCCCFLAGS)"
|
|
|
|
snx: # Siemens Nixdorf SINIX and Reliant UNIX
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sv4 \
|
|
SIGTYPE=psx CHECKPW=sv4 \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/usr/share/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -D_SYS_CLOCK_H -Dconst=" \
|
|
BASELDFLAGS="-lsocket -lnsl -lgen" \
|
|
RANLIB=true
|
|
|
|
# Sorry about the -w, but the cretinous SUN Workshop Pro C compiler barfs on
|
|
# implicit casts between char and unsigned char.
|
|
|
|
soc: os_sol.h # Solaris with cc
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sol \
|
|
SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/usr/share/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -O -w" \
|
|
BASELDFLAGS="-lsocket -lnsl -lgen" \
|
|
RANLIB=true CC=/opt/SUNWspro/bin/cc
|
|
|
|
|
|
# Note: It is a long and disgusting story about why cc is set to ucbcc. You
|
|
# need to invoke the C compiler so that it links with the SVR4 libraries and
|
|
# not the BSD libraries, otherwise readdir() will return the wrong information.
|
|
# Of all the names in the most common path, ucbcc is the only name to be found
|
|
# (on /usr/ccs/bin) that points to a suitable compiler. cc is likely to be
|
|
# /usr/ucb/cc which is absolutely not the compiler that you want. The real
|
|
# SVR4 cc is probably something like /opt/SUNWspro/bin/cc which is rarely in
|
|
# anyone's path.
|
|
#
|
|
# ucbcc is probably a link to acc, e.g. /opt/SUNWspro/SC4.0/bin/acc, and is
|
|
# the UCB C compiler using the SVR4 libraries.
|
|
#
|
|
# If ucbcc isn't on your system, then punt on the SUN C compiler and use gcc
|
|
# instead (the gso port instead of the sol port).
|
|
#
|
|
# If, in spite of all the above warnings, you choose to use the "soc" port
|
|
# instead of the "sol" port, be sure to check the behavior of the LIST command
|
|
# in imapd. Also, note that the "soc" port uses -O. If you want to use the
|
|
# real SVR4 compiler, you must use -O. If it works to compile with -O2, then
|
|
# cc is probably using the UCB compiler with BSD libraries, and will not build
|
|
# a good binary
|
|
#
|
|
# To recap:
|
|
# 1) The sol port is designed to be built using the UCB compiler using the
|
|
# SVR4 libraries. This compiler is "ucbcc", which is lunk to acc. You
|
|
# use -O2 as one of the CFLAGS.
|
|
# 2) If you build the sol port with the UCB compiler using the BSD libraries,
|
|
# you will get no error messages but you will get bad binaries (the most
|
|
# obvious symptom is dropping the first two characters return filenames
|
|
# from the imapd LIST command. This compiler also uses -O2, and is very
|
|
# often what the user gets from "cc". BEWARE!!!
|
|
# 3) If you build the sol port with the real SVR4 compiler, which is often
|
|
# hidden away or unavailable on many systems, then you will get errors
|
|
# from -O2 and you need to change that to -O. But you will get a good
|
|
# binary. However, you should try it with -O2 first, to make sure that
|
|
# you got this compiler and not the UCB compiler using BSD libraries.
|
|
|
|
sol: os_sol.h # Solaris
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/usr/share/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -O2" \
|
|
BASELDFLAGS="-lsocket -lnsl -lgen" \
|
|
RANLIB=true CC=ucbcc
|
|
|
|
sos: # Secure OSF/1
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=sce LOGINPW=sec CRXTYPE=nfs \
|
|
BASECFLAGS="-g3 -w -O2 -Olimit 1500" \
|
|
BASELDFLAGS="-lsecurity -laud"
|
|
|
|
ssn: # Secure SUN-OS
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sun \
|
|
CHECKPW=ssn CRXTYPE=nfs \
|
|
BASECFLAGS="-g -Dconst=" \
|
|
BASELDFLAGS="-ldl"
|
|
|
|
sua: # Windows Vista Subsystem for UNIX Applications
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sua \
|
|
SIGTYPE=psx CRXTYPE=nfs LOGINPW=old \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/var/lib/news/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g -O2" \
|
|
BASELDFLAGS="-lcrypt"
|
|
|
|
sun: # SUN-OS
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-g -Dconst=" \
|
|
BASELDFLAGS="-ldl"
|
|
|
|
sv2: # SVR2
|
|
@echo You are being *very* optimistic!
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=sv4 LOGINPW=old \
|
|
MAILSPOOL=/usr/mail \
|
|
RSHPATH=/usr/bin/remsh \
|
|
BASECFLAGS="-Dconst= -DSYSTEM5 -DSHORT_IDENT -I/usr/ethernet/include" \
|
|
BASELDFLAGS="-lnet" \
|
|
RANLIB=true LN=ln
|
|
|
|
sv4: # SVR4
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/usr/share/news/active \
|
|
RSHPATH=/usr/bin/resh \
|
|
BASECFLAGS="-g -Dconst=" \
|
|
BASELDFLAGS="-lsocket -lnsl -lgen" \
|
|
RANLIB=true
|
|
|
|
ult: # Ultrix
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
SIGTYPE=psx CHECKPW=ult CRXTYPE=nfs \
|
|
BASECFLAGS="-g3 -O2 -Olimit 1500 -Dconst=" \
|
|
BASELDFLAGS="-lauth -lc"
|
|
|
|
uw2: # UnixWare SVR4.2
|
|
$(BUILD) `$(CAT) SPECIALS` OS=sv4 \
|
|
SIGTYPE=sv4 CHECKPW=sv4 \
|
|
SPOOLDIR=/var/spool MAILSPOOL=/var/mail \
|
|
ACTIVEFILE=/var/news/lib/active \
|
|
RSHPATH=/usr/bin/rsh \
|
|
BASECFLAGS="-g" \
|
|
BASELDFLAGS="-lsocket -lnsl -lgen" \
|
|
RANLIB=true
|
|
|
|
vul: # VAX Ultrix
|
|
$(BUILD) `$(CAT) SPECIALS` OS=ult \
|
|
SIGTYPE=psx CHECKPW=ult CRXTYPE=nfs \
|
|
BASECFLAGS="-O2 -Dconst=" \
|
|
BASELDFLAGS="-lauth -lc"
|
|
|
|
vu2: # VAX Ultrix 2.3, etc.
|
|
$(BUILD) `$(CAT) SPECIALS` OS=$@ \
|
|
CRXTYPE=nfs \
|
|
BASECFLAGS="-O2 -Dconst= -Dvoid=char"
|
|
|
|
|
|
# Build it!
|
|
|
|
build: clean once $(ARCHIVE) $(SHLIBNAME)
|
|
|
|
all: $(ARCHIVE) $(SHLIBNAME)
|
|
|
|
$(ARCHIVE): $(BINARIES)
|
|
sh -c '$(RM) $(ARCHIVE) || true'
|
|
@$(CAT) ARCHIVE
|
|
@$(SH) ARCHIVE
|
|
|
|
$(SHLIBNAME): $(SOFILES)
|
|
gcc -shared -Wl,-soname,$(SHLIBNAME) -o $(SHLIBNAME) $(SOFILES) `cat LDFLAGS`
|
|
ln -s $(SHLIBNAME) lib$(SHLIBBASE).so
|
|
|
|
.c.so: osdep.h
|
|
$(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` ${@:.so=.c} -o $@
|
|
|
|
.c.o:
|
|
$(CC) -fPIC -DPIC -D_REENTRANT -c `$(CAT) CFLAGS` $*.c
|
|
|
|
# Cleanup
|
|
|
|
clean:
|
|
sh -c '$(RM) auths.c crexcl.c ip_unix.c linkage.[ch] siglocal.c osdep*.[ch] *.o ARCHIVE *FLAGS *TYPE $(ARCHIVE) || true'
|
|
|
|
|
|
# Dependencies
|
|
|
|
dummy.o: mail.h misc.h osdep.h dummy.h
|
|
fdstring.o: mail.h misc.h osdep.h fdstring.h
|
|
flstring.o: mail.h misc.h osdep.h flstring.h
|
|
imap4r1.o: mail.h misc.h osdep.h imap4r1.h rfc822.h
|
|
mail.o: mail.h misc.h osdep.h rfc822.h linkage.h
|
|
mbx.o: mail.h misc.h osdep.h dummy.h
|
|
mh.o: mail.h misc.h osdep.h dummy.h
|
|
mix.o: mail.h misc.h osdep.h dummy.h
|
|
mx.o: mail.h misc.h osdep.h dummy.h
|
|
misc.o: mail.h misc.h osdep.h
|
|
mmdf.o: mail.h misc.h osdep.h pseudo.h dummy.h
|
|
mtx.o: mail.h misc.h osdep.h dummy.h
|
|
netmsg.o: mail.h misc.h osdep.h netmsg.h
|
|
news.o: mail.h misc.h osdep.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 rfc822.h dummy.h
|
|
pseudo.o: pseudo.h
|
|
pop3.o: mail.h misc.h osdep.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 dummy.h
|
|
unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h
|
|
utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c
|
|
utf8aux.o: mail.h misc.h osdep.h utf8.h
|
|
|
|
|
|
# OS-dependent
|
|
OSDEPS= mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \
|
|
osdep.h env_unix.h tcp_unix.h \
|
|
osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c ip_unix.c\
|
|
auths.c crexcl.c flockcyg.c flocklnx.c flocksim.c fsync.c \
|
|
gethstid.c getspnam.c \
|
|
gr_wait.c gr_wait4.c gr_waitp.c \
|
|
kerb_mit.c \
|
|
auth_ext.c auth_gss.c auth_log.c auth_md5.c auth_pla.c \
|
|
pmatch.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 sslstdio.c \
|
|
strerror.c strpbrk.c strstr.c strtok.c strtoul.c \
|
|
OSCFLAGS
|
|
|
|
osdep.o: $(OSDEPS)
|
|
$(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c
|
|
@echo ========================================================================
|
|
@echo Building OS-dependent module
|
|
@echo If you get No such file error messages for files x509.h, ssl.h,
|
|
@echo pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL
|
|
@echo is not installed on your system. Either install OpenSSL first
|
|
@echo or build with command: make `$(CAT) OSTYPE` SSLTYPE=none
|
|
@echo ========================================================================
|
|
|
|
osdep.so: $(OSDEPS)
|
|
$(CC) -fPIC -DPIC -D_REENTRANT `$(CAT) CFLAGS` `cat OSCFLAGS` -c osdep.c -o $@
|
|
|
|
osdep.c: osdepbas.c osdepckp.c osdeplog.c osdepssl.c
|
|
$(CAT) osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c
|
|
|
|
osdepbas.c:
|
|
@echo osdepbas.c not found...try make clean and new make
|
|
@false
|
|
|
|
osdepckp.c:
|
|
@echo osdepckp.c not found...try make clean and new make
|
|
@false
|
|
|
|
osdeplog.c:
|
|
@echo osdeplog.c not found...try make clean and new make
|
|
@false
|
|
|
|
osdepssl.c:
|
|
@echo osdepssl.c not found...try make clean and new make
|
|
@false
|
|
|
|
siglocal.c:
|
|
@echo siglocal.c not found...try make clean and new make
|
|
@false
|
|
|
|
crexcl.c:
|
|
@echo crexcl.c not found...do make clean and new make
|
|
@false
|
|
|
|
ip_unix.c:
|
|
@echo ip_unix.c not found...do make clean and new make
|
|
@false
|
|
|
|
os_sol.h:
|
|
sh -c 'if [ -f /lib/libc.a ]; then (strings /lib/libc.a | grep getpassphrase > /dev/null) && $(LN) os_soln.h os_sol.h || $(LN) os_solo.h os_sol.h ; else $(LN) os_soln.h os_sol.h ; fi'
|
|
|
|
|
|
# Once-only environment setup
|
|
|
|
once: onceenv ckp$(PASSWDTYPE) ssl$(SSLTYPE) osdep.c
|
|
|
|
onceenv:
|
|
@echo Once-only environment setup...
|
|
echo $(CC) > CCTYPE
|
|
echo $(BASECFLAGS) '$(EXTRACFLAGS)' -DCHUNKSIZE=$(CHUNKSIZE) > CFLAGS
|
|
echo -DCREATEPROTO=$(CREATEPROTO) -DEMPTYPROTO=$(EMPTYPROTO) \
|
|
-DMD5ENABLE=\"$(MD5PWD)\" -DMAILSPOOL=\"$(MAILSPOOL)\" \
|
|
-DANONYMOUSHOME=\"$(MAILSPOOL)/anonymous\" \
|
|
-DACTIVEFILE=\"$(ACTIVEFILE)\" -DNEWSSPOOL=\"$(NEWSSPOOL)\" \
|
|
-DRSHPATH=\"$(RSHPATH)\" -DLOCKPGM=\"$(LOCKPGM)\" \
|
|
-DLOCKPGM1=\"$(LOCKPGM1)\" -DLOCKPGM2=\"$(LOCKPGM2)\" \
|
|
-DLOCKPGM3=\"$(LOCKPGM3)\" > OSCFLAGS
|
|
echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS
|
|
echo "$(ARRC) $(ARCHIVE) $(BINARIES);$(RANLIB) $(ARCHIVE)" > ARCHIVE
|
|
echo $(OS) > OSTYPE
|
|
./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS) dummy
|
|
./mkauths $(EXTRAAUTHENTICATORS) $(DEFAULTAUTHENTICATORS)
|
|
echo " mail_versioncheck (CCLIENTVERSION);" >> linkage.c
|
|
$(LN) os_$(OS).h osdep.h
|
|
$(LN) os_$(OS).c osdepbas.c
|
|
$(LN) log_$(LOGINPW).c osdeplog.c
|
|
$(LN) sig_$(SIGTYPE).c siglocal.c
|
|
$(LN) crx_$(CRXTYPE).c crexcl.c
|
|
$(LN) ip$(IP)_unix.c ip_unix.c
|
|
sh -c '(test $(OS) = sc5 -o $(OS) = sco -o ! -f /usr/include/sys/statvfs.h) && echo -DNOFSTATVFS >> OSCFLAGS || fgrep statvfs64 /usr/include/sys/statvfs.h > /dev/null || echo -DNOFSTATVFS64 >> OSCFLAGS'
|
|
|
|
|
|
# Password checkers
|
|
|
|
ckpafs: # AFS
|
|
@echo AFS password authentication
|
|
echo $(AFSCFLAGS) >> OSCFLAGS
|
|
# echo $(AFSLDFLAGS) >> LDFLAGS
|
|
# Note: Steve Roseman says that AFS libraries have to be lunk before SSL
|
|
echo $(AFSLDFLAGS) `$(CAT) LDFLAGS` > LDFLAGS.tmp
|
|
mv LDFLAGS.tmp LDFLAGS
|
|
$(LN) ckp_afs.c osdepckp.c
|
|
|
|
ckpdce: # DCE
|
|
@echo DCE password authentication
|
|
echo $(DCECFLAGS) >> OSCFLAGS
|
|
echo $(DCELDFLAGS) >> LDFLAGS
|
|
$(LN) ckp_dce.c osdepckp.c
|
|
|
|
ckpgss: # Kerberos V (must have gss EXTRAAUTHENTICATOR as well)
|
|
@echo Kerberos V password authentication
|
|
$(LN) ckp_gss.c osdepckp.c
|
|
|
|
ckpnul: # NUL authenticator (disables all plaintext authentication)
|
|
@echo Plaintext authentication prohibited
|
|
echo " mail_parameters (NIL,SET_DISABLEPLAINTEXT,(void *) 1);" >> linkage.c
|
|
$(LN) ckp_nul.c osdepckp.c
|
|
|
|
ckppam: # Pluggable Authentication Modules authenticator
|
|
@echo PAM password authentication
|
|
echo $(PAMLDFLAGS) >> LDFLAGS
|
|
$(LN) ckp_pam.c osdepckp.c
|
|
|
|
ckppmb: # Broken (e.g. SUN) Pluggable Authentication Modules authenticator
|
|
@echo Broken PAM password authentication
|
|
echo $(PAMLDFLAGS) >> LDFLAGS
|
|
$(LN) ckp_pmb.c osdepckp.c
|
|
|
|
ckpstd: # Port standard
|
|
@echo Standard password authentication
|
|
$(LN) ckp_$(CHECKPW).c osdepckp.c
|
|
|
|
ckptwo: # Something plus standard
|
|
@echo $(CHECKPWALT) password authentication first, then standard
|
|
$(CAT) ckp_1st.c ckp_$(CHECKPWALT).c ckp_2nd.c ckp_$(CHECKPW).c \
|
|
ckp_3rd.c > osdepckp.c
|
|
|
|
|
|
# SSL support
|
|
|
|
sslnone:# No SSL
|
|
@echo Building without SSL support
|
|
$(LN) ssl_none.c osdepssl.c
|
|
|
|
sslnopwd: sslunix snopwd
|
|
|
|
sslunix.nopwd: sslnopwd
|
|
|
|
sslsco.nopwd: sslsco snopwd
|
|
|
|
sslunix: sbasic sldunix
|
|
|
|
sslsco: sbasic sldsco
|
|
|
|
sbasic: # UNIX OpenSSL
|
|
@echo Building with SSL
|
|
$(LN) ssl_unix.c osdepssl.c
|
|
echo $(SSLCFLAGS) >> OSCFLAGS
|
|
echo " ssl_onceonlyinit ();" >> linkage.c
|
|
|
|
snopwd: # Plaintext disable
|
|
@echo Building with SSL and plaintext passwords disabled unless SSL/TLS
|
|
echo " mail_parameters (NIL,SET_DISABLEPLAINTEXT,(void *) 2);" >> linkage.c
|
|
|
|
sldunix:# Normal UNIX SSL load flags
|
|
echo $(SSLLDFLAGS) >> LDFLAGS
|
|
|
|
|
|
sldsco: # SCO SSL load flags
|
|
# Note: Tim Rice says that SSL has to be lunk before other libraries on SCO.
|
|
echo $(SSLLDFLAGS) `cat LDFLAGS` > LDFLAGS.tmp
|
|
mv LDFLAGS.tmp LDFLAGS
|
|
|
|
|
|
# A monument to a hack of long ago and far away...
|
|
|
|
love:
|
|
@echo not war?
|