1# ======================================================================== 2# Copyright 2008-2011 Mark Crispin 3# ======================================================================== 4# 5# Program: C client makefile 6# 7# Author: Mark Crispin 8# Networks and Distributed Computing 9# Computing & Communications 10# University of Washington 11# Administration Building, AG-44 12# Seattle, WA 98195 13# Internet: MRC@CAC.Washington.EDU 14# 15# Date: 11 May 1989 16# Last Edited: 29 August 2011 17# 18# Previous versions of this file were 19# 20# Copyright 1988-2008 University of Washington 21# 22# Licensed under the Apache License, Version 2.0 (the "License"); 23# you may not use this file except in compliance with the License. 24# You may obtain a copy of the License at 25# 26# http://www.apache.org/licenses/LICENSE-2.0 27 28 29# Command line build parameters 30 31EXTRAAUTHENTICATORS= 32EXTRADRIVERS=mbox 33PASSWDTYPE=pam 34SSLTYPE=unix.nopwd 35IP=6 36 37 38# The optimization level here for GCC ports is set here for a reason. It's 39# to get you to read this text. 40# The general concensus seems to be that -O2 is the one to use. 41# Over the years, I've been told to use many different settings, including -O6. 42# In recent versions of GCC [as of 2/2005], -O6 generates bad code that, among 43# other ill effects, causes infinite loops. 44# -O3 seems to be safe, but empirical observation from our local expert 45# indicates that in some (many?) cases -O3 code runs slower than -O2. 46 47GCCOPTLEVEL= -O2 48 49 50# Try to have some consistency in GCC builds. We want optimization, but we 51# also want to be able to debug. 52 53GCCCFLAGS= -g $(GCCOPTLEVEL) -pipe -fno-omit-frame-pointer 54GCC4CFLAGS= $(GCCCFLAGS) -Wno-pointer-sign 55 56 57# Extended flags needed for SSL. You may need to modify. 58 59#SSLDIR=/usr/local/ssl 60SSLCERTS=$(PREFIX)/certs 61SSLKEYS=$(SSLCERTS) 62SSLINCLUDE=$(SSLDIR)/include 63SSLLIB=$(SSLDIR)/lib 64 65SSLCRYPTO=-lcrypto -lcrypt 66 67# Older versions of MIT Kerberos also have a libcrypto. If so, you may need 68# to use this instead 69#SSLCRYPTO=$(SSLLIB)/libcrypto.a 70 71# RSA Security Inc. released the RSA public key encryption algorithm into 72# the public domain on September 6, 2000. There is no longer any need to 73# use RSAREF. 74SSLRSA= # -lRSAglue -lrsaref 75 76SSLCFLAGS= -I$(SSLINCLUDE) -I$(SSLINCLUDE)/openssl\ 77 -DSSL_CERT_DIRECTORY=\"$(SSLCERTS)\" -DSSL_KEY_DIRECTORY=\"$(SSLKEYS)\" 78SSLLDFLAGS= -L$(SSLLIB) -lssl $(SSLCRYPTO) $(SSLRSA) 79 80 81# Extended flags needed for non-standard passwd types. You may need to modify. 82 83AFSDIR=/usr/afsws 84AFSCFLAGS=-I$(AFSDIR)/include 85AFSLIB=$(AFSDIR)/lib 86AFSLDFLAGS=-L$(AFSLIB)/afs -L$(AFSLIB) -L$(AFSDIR)/domestic/lib\ 87 -lkauth -lprot -lubik -lauth -lrxkad -lrx -llwp -ldes -lcom_err\ 88 $(AFSLIB)/afs/util.a -laudit -lsys 89# AFSLDFLAGS may also need -L/usr/ucblib -lucb 90DCECFLAGS= -DDCE_MINIMAL -DPASSWD_OVERRIDE=\"/opt/pop3/passwd/passwd\" 91DCELDFLAGS= -ldce 92PAMLDFLAGS= # -lpam -lcrypt 93 94 95# Build parameters normally set by the individual port 96 97CHECKPW=std 98LOGINPW=std 99SIGTYPE=bsd 100CRXTYPE=std 101ACTIVEFILE=/usr/lib/news/active 102SPOOLDIR=/usr/spool 103MAILSPOOL=$(SPOOLDIR)/mail 104NEWSSPOOL=$(SPOOLDIR)/news 105RSHPATH=/usr/ucb/rsh 106MD5PWD=/etc/cram-md5.pwd 107# Tries one of the test alternatives below if not specified. 108LOCKPGM= 109# Test alternatives if LOCKPGM not specified 110LOCKPGM1=/usr/libexec/mlock 111LOCKPGM2=/usr/sbin/mlock 112LOCKPGM3=/etc/mlock 113 114 115# Default formats for creating new mailboxes and for empty mailboxes in the 116# default namespace; must be set to the associated driver's prototype. 117# 118# The CREATEPROTO is the default format for new mailbox creation. 119# The EMPTYPROTO is the default format for handling zero-byte files. 120# 121# Normally, this is set by the individual port. 122# 123# NOTE: namespace formats (e.g. mh and news) can not be set as a default format 124# since they do not exist in the default namespace. Also, it is meaningless to 125# set certain other formats (e.g. mbx, mx, and mix) as the EMPTYPROTO since 126# these formats can never be empty files. 127 128CREATEPROTO=unixproto 129EMPTYPROTO=unixproto 130 131 132# Commands possibly overriden by the individual port 133 134ARRC=ar rc 135#CC=cc 136LN=ln -s 137RANLIB=ranlib 138 139 140# Standard distribution build parameters 141 142DEFAULTAUTHENTICATORS=ext md5 pla log 143# 144# mh needs to be after any other directory format drivers (such as mx or mix) 145# since otherwise mh will seize any directory that is under the mh path. 146# However, mh needs to be before any sysinbox formats (such as mmdf or unix) 147# since otherwise INBOX won't work correctly when mh_allow_inbox is set. 148# 149DEFAULTDRIVERS=imap nntp pop3 mix mx mbx tenex mtx mh mmdf unix news phile 150CHUNKSIZE=65536 151 152# Normally no need to change any of these 153 154ARCHIVE=c-client.a 155BINARIES=osdep.o mail.o misc.o newsrc.o smanager.o utf8.o utf8aux.o siglocal.o \ 156 dummy.o pseudo.o netmsg.o flstring.o fdstring.o \ 157 rfc822.o nntp.o smtp.o imap4r1.o pop3.o \ 158 unix.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o mix.o 159CFLAGS+=$(BASECFLAGS) $(EXTRACFLAGS) 160 161CAT=cat 162MAKE=make 163MV=mv 164RM=rm -rf 165SH=sh 166 167 168# Primary build command 169 170BUILD=$(MAKE) build EXTRACFLAGS='$(EXTRACFLAGS)'\ 171 EXTRALDFLAGS='$(EXTRALDFLAGS)'\ 172 EXTRADRIVERS='$(EXTRADRIVERS)' EXTRAAUTHENTICATORS='$(EXTRAAUTHENTICATORS)'\ 173 PASSWDTYPE=$(PASSWDTYPE) SSLTYPE=$(SSLTYPE) IP=$(IP) 174 175 176# Need this for the shared library rule to work correctly 177.SUFFIXES: .o .so 178SOFILES=${BINARIES:.o=.so} 179 180# Here if no make argument established 181 182missing: osdep.h 183 $(MAKE) all `$(CAT) SPECIALS` 184 185osdep.h: 186 @echo You must specify what type of system 187 @false 188 189 190# Current ports 191 192a32: # AIX 3.2 for RS/6000 193 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 194 SIGTYPE=psx CRXTYPE=nfs \ 195 SPOOLDIR=/var/spool \ 196 RSHPATH=/usr/bin/rsh \ 197 BASECFLAGS="-g -Dunix=1 -D_BSD" \ 198 BASELDFLAGS="-lbsd" 199 200a41: # AIX 4.1 for RS/6000 201 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 202 SIGTYPE=psx CHECKPW=a41 CRXTYPE=nfs \ 203 SPOOLDIR=/var/spool \ 204 RSHPATH=/usr/bin/rsh \ 205 BASECFLAGS="-g -Dunix=1 -D_BSD -qro -qroconst" \ 206 BASELDFLAGS="-ls" 207 208a52: # AIX 5.2 209 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 210 SIGTYPE=psx CHECKPW=a41 CRXTYPE=nfs \ 211 SPOOLDIR=/var/spool \ 212 RSHPATH=/usr/bin/rsh \ 213 BASECFLAGS="-g -Dunix=1 -D_BSD -qro -qroconst" \ 214 BASELDFLAGS="-ls" 215 216aix: # AIX/370 217 @echo You are building for AIX on an S/370 class machine 218 @echo If you want AIX on an RS/6000 you need to use a32 or a41 instead! 219 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 220 CRXTYPE=nfs \ 221 BASECFLAGS="-g" \ 222 BASELDFLAGS="-lbsd" 223 224aos: # AOS for RT 225 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 226 CRXTYPE=nfs \ 227 BASECFLAGS="-g -Dconst=" 228 229art: # AIX 2.2.1 for RT 230 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 231 SIGTYPE=sv4 \ 232 SPOOLDIR=/var \ 233 ACTIVEFILE=/usr/local/news/control/active \ 234 RSHPATH=/bin/rsh \ 235 BASECFLAGS="-g -Dconst= -Dvoid=char" \ 236 RANLIB=true 237 238asv: # Altos SVR4 239 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 240 SIGTYPE=sv4 LOGINPW=old \ 241 ACTIVEFILE=/usr/spool/news/active \ 242 RSHPATH=/usr/bin/rcmd \ 243 BASECFLAGS="-Dconst= -DSIGSTOP=SIGKILL" \ 244 BASELDFLAGS="-lsocket -lrpc -lgen -lcrypt -lxenix" \ 245 RANLIB=true 246 247aux: # A/UX 248 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 249 CRXTYPE=nfs \ 250 MAILSPOOL=/usr/mail \ 251 BASECFLAGS="-g -B/usr/lib/big/ -Dvoid=char -Dconst=" \ 252 RANLIB=true ARRC="ar -rc" 253 254bs3: # BSD/i386 3.0 or higher 255 $(BUILD) `$(CAT) SPECIALS` OS=bsi \ 256 CHECKPW=bsi LOGINPW=bsi CRXTYPE=nfs \ 257 SPOOLDIR=/var NEWSSPOOL=/var/news/spool \ 258 ACTIVEFILE=/var/news/etc/active \ 259 RSHPATH=/usr/bin/rsh \ 260 BASECFLAGS="$(GCCCFLAGS)" CC=shlicc 261 262bsd: # BSD UNIX 263 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 264 CRXTYPE=nfs \ 265 BASECFLAGS="-g -Dconst=" 266 267bsf: # FreeBSD 268 $(BUILD) `$(CAT) SPECIALS` OS=$@ CHECKPW=pam \ 269 SIGTYPE=psx CRXTYPE=nfs \ 270 SPOOLDIR=/var \ 271 ACTIVEFILE=/usr/local/news/lib/active \ 272 RSHPATH=/usr/bin/rsh \ 273 LOCKPGM=$(PREFIX)/libexec/mlock \ 274 BASECFLAGS="$(GCCCFLAGS)" \ 275 BASELDFLAGS="-lpam" 276 277bsi: # BSD/i386 278 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 279 CRXTYPE=nfs \ 280 SPOOLDIR=/var NEWSSPOOL=/var/news/spool \ 281 ACTIVEFILE=/var/news/etc/active \ 282 RSHPATH=/usr/bin/rsh \ 283 BASECFLAGS="$(GCCCFLAGS)" 284 285bso: # OpenBSD 286 $(BUILD) `$(CAT) SPECIALS` OS=bsi \ 287 SIGTYPE=psx CRXTYPE=nfs \ 288 SPOOLDIR=/var \ 289 ACTIVEFILE=/usr/local/news/lib/active \ 290 RSHPATH=/usr/bin/rsh \ 291 BASECFLAGS="$(GCCCFLAGS)" 292 293cvx: # Convex 294 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 295 CRXTYPE=nfs \ 296 BASECFLAGS="-O -ext -Dconst=" 297 298cyg: # Cygwin - note that most local file drivers don't work!! 299 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 300 DEFAULTDRIVERS="imap nntp pop3 mbx unix phile" \ 301 SIGTYPE=psx CHECKPW=cyg LOGINPW=cyg CRXTYPE=std \ 302 SPOOLDIR=/var \ 303 ACTIVEFILE=/usr/local/news/lib/active \ 304 RSHPATH=/usr/bin/rsh \ 305 BASECFLAGS="$(GCCCFLAGS)" \ 306 BASELDFLAGS="-lcrypt" \ 307 CC=gcc 308 309d-g: # Data General DG/UX 310 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 311 SIGTYPE=sv4 CRXTYPE=nfs \ 312 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 313 ACTIVEFILE=/local/news/active \ 314 RSHPATH=/usr/bin/remsh \ 315 BASECFLAGS="-g -Dconst=" \ 316 BASELDFLAGS="-lnsl -lsocket" \ 317 RANLIB=true 318 319d54: # Data General DG/UX 5.4 320 $(BUILD) `$(CAT) SPECIALS` OS=d-g \ 321 SIGTYPE=sv4 CRXTYPE=nfs \ 322 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 323 ACTIVEFILE=/local/news/active \ 324 RSHPATH=/usr/bin/remsh \ 325 BASECFLAGS="-g -Dconst=" \ 326 BASELDFLAGS="-lnsl -lsocket" \ 327 RANLIB=true 328 329dpx: # Bull DPX/2 330 $(BUILD) `$(CAT) SPECIALS` OS=sv4 \ 331 SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 \ 332 RSHPATH=/usr/bin/remsh \ 333 BASECFLAGS="-Dconst= -DSYSTEM5 -DSHORT_IDENT" \ 334 BASELDFLAGS="-linet" \ 335 RANLIB=true LN=ln 336 337drs: # ICL DRS/NX 338 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 339 SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 CRXTYPE=nfs \ 340 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 341 ACTIVEFILE=/var/lib/news/active \ 342 RSHPATH=/usr/bin/rsh \ 343 BASECFLAGS="-O" \ 344 BASELDFLAGS="-lsocket -lgen" \ 345 RANLIB=true 346 347do4: # Apollo Domain/OS sr10.4 348 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 349 CRXTYPE=nfs \ 350 BASECFLAGS="-A systype,bsd4.3 -D_APOLLO_SOURCE" \ 351 RANLIB=true 352 353dyn: # Dynix 354 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 355 CRXTYPE=nfs \ 356 BASECFLAGS="-g -Dconst=" 357 358epx: # EP/IX 359 $(BUILD) `$(CAT) SPECIALS` OS=sv4 \ 360 SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 \ 361 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 362 ACTIVEFILE=/usr/share/news/active \ 363 RSHPATH=/usr/net/rsh \ 364 BASECFLAGS="-g -systype svr4" \ 365 BASELDFLAGS="-lsocket -lnsl -lgen" \ 366 RANLIB=true 367 368ga4: # GCC AIX 4.1 for RS/6000 369 $(BUILD) `$(CAT) SPECIALS` OS=a41 \ 370 SIGTYPE=psx CHECKPW=a41 CRXTYPE=nfs \ 371 SPOOLDIR=/var/spool \ 372 RSHPATH=/usr/bin/rsh \ 373 BASECFLAGS="-g -Dunix=1 -D_BSD" \ 374 BASELDFLAGS="-ls" 375 376gas: # GCC Altos SVR4 377 $(BUILD) `$(CAT) SPECIALS` OS=asv \ 378 SIGTYPE=sv4 LOGINPW=old \ 379 ACTIVEFILE=/usr/spool/news/active \ 380 RSHPATH=/usr/bin/rcmd \ 381 BASECFLAGS="-g -O -DALTOS_SYSTEM_V -DSIGSTOP=SIGKILL" \ 382 BASELDFLAGS="-lsocket -lrpc -lgen -lcrypt -lxenix" \ 383 RANLIB=true CC=gcc 384 385gh9: # GCC HP-UX 9.x 386 $(BUILD) `$(CAT) SPECIALS` OS=hpp \ 387 SIGTYPE=psx CRXTYPE=nfs \ 388 MAILSPOOL=/usr/mail \ 389 RSHPATH=/usr/bin/remsh \ 390 BASECFLAGS="$(GCCCFLAGS)" \ 391 RANLIB=true CC=gcc 392 393ghp: # GCC HP-UX 10.x 394 $(BUILD) `$(CAT) SPECIALS` OS=hpp \ 395 SIGTYPE=psx CRXTYPE=nfs \ 396 SPOOLDIR=/var \ 397 ACTIVEFILE=/var/news/active \ 398 RSHPATH=/usr/bin/remsh \ 399 BASECFLAGS="$(GCCCFLAGS)" \ 400 RANLIB=true CC=gcc 401 402ghs: # GCC HP-UX with Trusted Computer Base 403 $(BUILD) `$(CAT) SPECIALS` OS=shp \ 404 SIGTYPE=psx CHECKPW=sec CRXTYPE=nfs \ 405 SPOOLDIR=/var \ 406 ACTIVEFILE=/var/news/active \ 407 RSHPATH=/usr/bin/remsh \ 408 BASECFLAGS="$(GCCCFLAGS)" \ 409 BASELDFLAGS="-lnet -lV3 -lsec" \ 410 RANLIB=true CC=gcc 411 412go5: # GCC 2.7.1 (95q4) SCO Open Server 5.0.x 413 $(BUILD) `$(CAT) SPECIALS` OS=sc5 \ 414 SIGTYPE=psx CHECKPW=sec LOGINPW=sec \ 415 CREATEPROTO=mmdfproto EMPTYPROTO=mmdfproto \ 416 SPOOLDIR=/var/spool \ 417 ACTIVEFILE=/var/lib/news/active \ 418 RSHPATH=/usr/bin/rcmd \ 419 BASECFLAGS="$(GCCCFLAGS) -I/usr/include -L/lib" \ 420 BASELDFLAGS="-lsocket -lprot -lx -ltinfo -lm" \ 421 RANLIB=true CC=gcc 422 423gsc: # Santa Cruz Operation 424 $(BUILD) `$(CAT) SPECIALS` OS=sco \ 425 SIGTYPE=sv4 CHECKPW=sec LOGINPW=sec \ 426 CREATEPROTO=mmdfproto EMPTYPROTO=mmdfproto \ 427 RSHPATH=/usr/bin/rcmd \ 428 BASECFLAGS="$(GCCCFLAGS)" \ 429 BASELDFLAGS="-lsocket -lprot -lcrypt_i -lx -los" \ 430 RANLIB=true LN=ln CC=gcc 431 432gsg: # GCC Silicon Graphics 433 $(BUILD) `$(CAT) SPECIALS` OS=sgi \ 434 SIGTYPE=sv4 CRXTYPE=nfs \ 435 MAILSPOOL=/usr/mail \ 436 RSHPATH=/usr/bsd/rsh \ 437 BASECFLAGS="$(GCCCFLAGS)" \ 438 RANLIB=true CC=gcc 439 440gso: os_sol.h # GCC Solaris 441 $(BUILD) `$(CAT) SPECIALS` OS=sol \ 442 SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \ 443 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 444 ACTIVEFILE=/usr/share/news/active \ 445 RSHPATH=/usr/bin/rsh \ 446 BASECFLAGS="$(GCCCFLAGS)" \ 447 BASELDFLAGS="-lsocket -lnsl -lgen -R/usr/local/ssl/lib" \ 448 RANLIB=true CC=gcc 449 450gsu: # GCC SUN-OS 451 $(BUILD) `$(CAT) SPECIALS` OS=sun \ 452 CRXTYPE=nfs \ 453 BASECFLAGS="$(GCCCFLAGS)" \ 454 BASELDFLAGS="-ldl" \ 455 CC=gcc 456 457gul: # GCC Ultrix 458 $(BUILD) `$(CAT) SPECIALS` OS=ult \ 459 SIGTYPE=psx CHECKPW=ult CRXTYPE=nfs \ 460 BASECFLAGS="$(GCCCFLAGS)" \ 461 BASELDFLAGS="-lauth -lc" \ 462 CC=gcc 463 464h11: # HP-UX 11i 465 $(BUILD) `$(CAT) SPECIALS` OS=hpp \ 466 SIGTYPE=psx CRXTYPE=nfs \ 467 SPOOLDIR=/var \ 468 ACTIVEFILE=/var/news/active \ 469 RSHPATH=/usr/bin/remsh \ 470 BASECFLAGS="-g -Ae" \ 471 RANLIB=true 472 473hpp: # HP-UX 9.x 474 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 475 SIGTYPE=psx CRXTYPE=nfs \ 476 MAILSPOOL=/usr/mail \ 477 RSHPATH=/usr/bin/remsh \ 478 BASECFLAGS="-g -Aa -D_HPUX_SOURCE" \ 479 BASELDFLAGS="-lnet -lV3" \ 480 RANLIB=true 481 482hpx: # HP-UX 10.x 483 $(BUILD) `$(CAT) SPECIALS` OS=hpp \ 484 SIGTYPE=psx CRXTYPE=nfs \ 485 SPOOLDIR=/var \ 486 ACTIVEFILE=/var/news/active \ 487 RSHPATH=/usr/bin/remsh \ 488 BASECFLAGS="-g -Ae" \ 489 BASELDFLAGS="-lnet -lV3" \ 490 RANLIB=true 491 492isc: # Interactive 493 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 494 SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 \ 495 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 496 ACTIVEFILE=/var/spool/news/active \ 497 BASECFLAGS="-Xp -D_SYSV3" \ 498 BASELDFLAGS="-linet -lnsl_s -lgen -lx -lsec -liberty" \ 499 RANLIB=true 500 501lnp: # Linux Pluggable Authentication modules 502 $(BUILD) `$(CAT) SPECIALS` OS=slx \ 503 SIGTYPE=psx CHECKPW=pam CRXTYPE=nfs \ 504 SPOOLDIR=/var/spool \ 505 ACTIVEFILE=/var/lib/news/active \ 506 RSHPATH=/usr/bin/rsh \ 507 BASECFLAGS="$(GCCCFLAGS)" \ 508 BASELDFLAGS="$(PAMLDFLAGS)" 509 510lnx: # Linux non-shadow passwords 511 @echo You are building for traditional Linux *without* shadow 512 @echo passwords and with the crypt function in the C library. 513 @echo If your system has shadow passwords, or if crypt is not 514 @echo in the C library, you must use slx, sl4, or sl5 instead! 515 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 516 SIGTYPE=psx CRXTYPE=nfs \ 517 SPOOLDIR=/var/spool \ 518 ACTIVEFILE=/var/lib/news/active \ 519 RSHPATH=/usr/bin/rsh \ 520 BASECFLAGS="$(GCCCFLAGS)" 521 522lyn: # LynxOS 523 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 524 CRXTYPE=nfs \ 525 RSHPATH=/bin/rsh \ 526 BASECFLAGS="$(GCCCFLAGS)" \ 527 BASELDFLAGS=-lbsd \ 528 CC=gcc 529 530mct: # MachTen - CRXTYPE=nfs doesn't work (at least not on 2.2) 531 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 532 SPOOLDIR=/var/spool \ 533 BASECFLAGS="$(GCCCFLAGS)" 534 535mnt: # Mint 536 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 537 SIGTYPE=psx CRXTYPE=nfs \ 538 SPOOLDIR=/var/spool \ 539 ACTIVEFILE=/var/lib/news/active \ 540 RSHPATH=/usr/bin/rsh \ 541 BASECFLAGS="$(GCCCFLAGS)" 542 543neb: # NetBSD 544 $(BUILD) `$(CAT) SPECIALS` OS=bsi \ 545 CRXTYPE=nfs \ 546 SPOOLDIR=/var \ 547 ACTIVEFILE=/var/db/news/active \ 548 RSHPATH=/usr/bin/rsh \ 549 BASECFLAGS="$(GCCCFLAGS)" \ 550 BASELDFLAGS="-lcrypt" 551 552nec: # NEC UX 553 $(BUILD) `$(CAT) SPECIALS` OS=sv4 \ 554 SIGTYPE=sv4 CHECKPW=sv4 \ 555 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 556 ACTIVEFILE=/var/news/lib/active \ 557 RSHPATH=/usr/bin/rsh \ 558 BASECFLAGS="-g -Kopt=2 -KOlimit=2000" \ 559 BASELDFLAGS="-lsocket -lnsl -lgen" \ 560 RANLIB=true CC=/usr/abiccs/bin/cc 561 562nto: # QNX Neutrino RTP 563 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 564 CRXTYPE=nfs \ 565 SPOOLDIR=/var/spool \ 566 ACTIVEFILE=/var/lib/news/active \ 567 RSHPATH=/usr/bin/rsh \ 568 BASECFLAGS="-g -O" 569 570nxt: # NEXTSTEP 571 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 572 CRXTYPE=nfs \ 573 BASECFLAGS="$(GCCCFLAGS)" 574 575nx3: # NEXTSTEP 3.0 single threaded 576 $(BUILD) `$(CAT) SPECIALS` OS=nxt \ 577 CRXTYPE=nfs \ 578 BASECFLAGS="$(GCCCFLAGS)" 579 echo "void malloc_singlethreaded (void);" >> linkage.h 580 echo " malloc_singlethreaded ();" >> linkage.c 581 582osf: # OSF/1 583 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 584 SIGTYPE=psx CRXTYPE=nfs \ 585 SPOOLDIR=/var/spool \ 586 BASECFLAGS="-g3 -w -O2 -Olimit 1500" 587 588# Note: sia_become_user() used by LOGINPW=os4 doesn't seem to work right. The 589# user doesn't get proper file access, and the process can't be killed. 590 591os4: # OSF/1 (Digital UNIX) 4 592 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 593 SIGTYPE=psx CHECKPW=os4 LOGINPW=os4 CRXTYPE=nfs \ 594 SPOOLDIR=/var/spool \ 595 BASECFLAGS="-g3 -w -std0 -O2" 596 597osx: # Mac OS X 598 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 599 CRXTYPE=nfs \ 600 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 601 RSHPATH=/usr/bin/rsh \ 602 BASECFLAGS="$(GCC4CFLAGS)" 603 604ptx: # PTX 605 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 606 SIGTYPE=psx CHECKPW=svo LOGINPW=sv4 CRXTYPE=nfs \ 607 MAILSPOOL=/usr/mail \ 608 RSHPATH=/usr/bin/resh \ 609 BASECFLAGS="-Wc,-O3 -Wc,-seq -Dprivate=PRIVATE" \ 610 BASELDFLAGS="-lseq -lsec -lsocket -linet -lnsl -lgen" \ 611 RANLIB=true 612 613pyr: # Pyramid 614 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 615 CRXTYPE=nfs \ 616 BASECFLAGS="-g -Dconst=" 617 618qn6: # QNX 6 619 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 620 CRXTYPE=nfs \ 621 SPOOLDIR=/var/spool \ 622 ACTIVEFILE=/var/lib/news/active \ 623 RSHPATH=/usr/bin/rsh \ 624 BASECFLAGS="$(GCCFLAGS)" 625 626qnx: # QNX 627 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 628 CHECKPW=psx LOGINPW=old \ 629 RSHPATH=/usr/ucb/rsh \ 630 BASECFLAGS="-Otax -g -Dunix=1 -D_POSIX_SOURCE" \ 631 BASELDFLAGS="-g -N128k -llogin -lsocket -lunix" 632 633s40: # SUN-OS 4.0 634 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 635 CRXTYPE=nfs \ 636 BASECFLAGS="-g -Dconst=" 637 638sc5: # SCO Open Server 5.0 639 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 640 SIGTYPE=psx CHECKPW=sec LOGINPW=sec \ 641 CREATEPROTO=mmdfproto EMPTYPROTO=mmdfproto \ 642 SPOOLDIR=/var/spool \ 643 ACTIVEFILE=/var/lib/news/active \ 644 RSHPATH=/usr/bin/rcmd \ 645 BASECFLAGS="-O3 -s -belf" \ 646 BASELDFLAGS="-lsocket -lprot -lx -ltinfo -lm" \ 647 RANLIB=true 648 649sco: # Santa Cruz Operation 650 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 651 SIGTYPE=sv4 CHECKPW=sec LOGINPW=sec \ 652 CREATEPROTO=mmdfproto EMPTYPROTO=mmdfproto \ 653 RSHPATH=/usr/bin/rcmd \ 654 BASECFLAGS="-O3" \ 655 BASELDFLAGS="-lsocket -lprot -lcrypt_i -lx -los" \ 656 RANLIB=true LN=ln 657 658# Note: setting _POSIX_SOURCE doesn't seem to build it as of SGI IRIX 5.3 659 660sgi: # Silicon Graphics 661 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 662 SIGTYPE=sv4 CRXTYPE=nfs \ 663 MAILSPOOL=/usr/mail \ 664 RSHPATH=/usr/bsd/rsh \ 665 BASECFLAGS="-g3 -O2 -Olimit 8192" \ 666 RANLIB=true 667 668sg6: # Silicon Graphics, IRIX 6.5 669 MAKEFLAGS= $(BUILD) `$(CAT) SPECIALS` OS=sgi \ 670 SIGTYPE=sv4 CRXTYPE=nfs \ 671 MAILSPOOL=/usr/mail \ 672 RSHPATH=/usr/bsd/rsh \ 673 BASECFLAGS="-g3 -O2 -OPT:Olimit=0 -woff 1110,1116" \ 674 RANLIB=true 675 676# Note: Mark Kaesling says that setluid() isn't in HP-UX with SecureWare. 677 678shp: # HP-UX with Trusted Computer Base 679 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 680 SIGTYPE=psx CHECKPW=sec CRXTYPE=nfs \ 681 SPOOLDIR=/var \ 682 ACTIVEFILE=/var/news/active \ 683 RSHPATH=/usr/bin/remsh \ 684 BASECFLAGS="-g -Ae" \ 685 BASELDFLAGS="-lnet -lV3 -lsec" \ 686 RANLIB=true 687 688slx: # Secure Linux 689 @echo You are building for libc6/glibc versions of Secure Linux 690 @echo If you want libc5 versions you must use sl5 instead! 691 @echo If you want libc4 versions you must use sl4 instead! 692 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 693 SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \ 694 SPOOLDIR=/var/spool \ 695 ACTIVEFILE=/var/lib/news/active \ 696 RSHPATH=/usr/bin/rsh \ 697 BASECFLAGS="$(GCCCFLAGS)" \ 698 BASELDFLAGS="-lcrypt" 699 700sl4: # Secure Linux using libc4 701 @echo You are building for libc4 versions of Secure Linux 702 @echo If you want libc6/glibc versions you must use slx instead! 703 @echo If you want libc5 versions you must use sl5 instead! 704 $(BUILD) `$(CAT) SPECIALS` OS=slx \ 705 SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \ 706 SPOOLDIR=/var/spool \ 707 ACTIVEFILE=/var/lib/news/active \ 708 RSHPATH=/usr/bin/rsh \ 709 BASECFLAGS="$(GCCCFLAGS)" \ 710 BASELDFLAGS="-lshadow" 711 712sl5: # Secure Linux using libc5 713 @echo You are building for libc5 versions of Secure Linux 714 @echo If you want libc6/glibc versions you must use slx instead! 715 @echo If you want libc4 versions you must use sl4 instead! 716 $(BUILD) `$(CAT) SPECIALS` OS=slx \ 717 SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \ 718 SPOOLDIR=/var/spool \ 719 ACTIVEFILE=/var/lib/news/active \ 720 RSHPATH=/usr/bin/rsh \ 721 BASECFLAGS="$(GCCCFLAGS)" 722 723snx: # Siemens Nixdorf SINIX and Reliant UNIX 724 $(BUILD) `$(CAT) SPECIALS` OS=sv4 \ 725 SIGTYPE=psx CHECKPW=sv4 \ 726 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 727 ACTIVEFILE=/usr/share/news/active \ 728 RSHPATH=/usr/bin/rsh \ 729 BASECFLAGS="-g -D_SYS_CLOCK_H -Dconst=" \ 730 BASELDFLAGS="-lsocket -lnsl -lgen" \ 731 RANLIB=true 732 733# Sorry about the -w, but the cretinous SUN Workshop Pro C compiler barfs on 734# implicit casts between char and unsigned char. 735 736soc: os_sol.h # Solaris with cc 737 $(BUILD) `$(CAT) SPECIALS` OS=sol \ 738 SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \ 739 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 740 ACTIVEFILE=/usr/share/news/active \ 741 RSHPATH=/usr/bin/rsh \ 742 BASECFLAGS="-g -O -w" \ 743 BASELDFLAGS="-lsocket -lnsl -lgen -R/usr/local/ssl/lib" \ 744 RANLIB=true CC=/opt/SUNWspro/bin/cc 745 746 747# Note: It is a long and disgusting story about why cc is set to ucbcc. You 748# need to invoke the C compiler so that it links with the SVR4 libraries and 749# not the BSD libraries, otherwise readdir() will return the wrong information. 750# Of all the names in the most common path, ucbcc is the only name to be found 751# (on /usr/ccs/bin) that points to a suitable compiler. cc is likely to be 752# /usr/ucb/cc which is absolutely not the compiler that you want. The real 753# SVR4 cc is probably something like /opt/SUNWspro/bin/cc which is rarely in 754# anyone's path. 755# 756# ucbcc is probably a link to acc, e.g. /opt/SUNWspro/SC4.0/bin/acc, and is 757# the UCB C compiler using the SVR4 libraries. 758# 759# If ucbcc isn't on your system, then punt on the SUN C compiler and use gcc 760# instead (the gso port instead of the sol port). 761# 762# If, in spite of all the above warnings, you choose to use the "soc" port 763# instead of the "sol" port, be sure to check the behavior of the LIST command 764# in imapd. Also, note that the "soc" port uses -O. If you want to use the 765# real SVR4 compiler, you must use -O. If it works to compile with -O2, then 766# cc is probably using the UCB compiler with BSD libraries, and will not build 767# a good binary 768# 769# To recap: 770# 1) The sol port is designed to be built using the UCB compiler using the 771# SVR4 libraries. This compiler is "ucbcc", which is lunk to acc. You 772# use -O2 as one of the CFLAGS. 773# 2) If you build the sol port with the UCB compiler using the BSD libraries, 774# you will get no error messages but you will get bad binaries (the most 775# obvious symptom is dropping the first two characters return filenames 776# from the imapd LIST command. This compiler also uses -O2, and is very 777# often what the user gets from "cc". BEWARE!!! 778# 3) If you build the sol port with the real SVR4 compiler, which is often 779# hidden away or unavailable on many systems, then you will get errors 780# from -O2 and you need to change that to -O. But you will get a good 781# binary. However, you should try it with -O2 first, to make sure that 782# you got this compiler and not the UCB compiler using BSD libraries. 783 784sol: os_sol.h # Solaris 785 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 786 SIGTYPE=psx CHECKPW=psx CRXTYPE=nfs \ 787 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 788 ACTIVEFILE=/usr/share/news/active \ 789 RSHPATH=/usr/bin/rsh \ 790 BASECFLAGS="-g -O2" \ 791 BASELDFLAGS="-lsocket -lnsl -lgen -R/usr/local/ssl/lib" \ 792 RANLIB=true CC=ucbcc 793 794sos: # Secure OSF/1 795 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 796 SIGTYPE=psx CHECKPW=sce LOGINPW=sec CRXTYPE=nfs \ 797 BASECFLAGS="-g3 -w -O2 -Olimit 1500" \ 798 BASELDFLAGS="-lsecurity -laud" 799 800ssn: # Secure SUN-OS 801 $(BUILD) `$(CAT) SPECIALS` OS=sun \ 802 CHECKPW=ssn CRXTYPE=nfs \ 803 BASECFLAGS="-g -Dconst=" \ 804 BASELDFLAGS="-ldl" 805 806sua: # Windows Vista Subsystem for UNIX Applications 807 $(BUILD) `$(CAT) SPECIALS` OS=sua \ 808 SIGTYPE=psx CRXTYPE=nfs LOGINPW=old \ 809 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 810 ACTIVEFILE=/var/lib/news/active \ 811 RSHPATH=/usr/bin/rsh \ 812 BASECFLAGS="-g -O2" \ 813 BASELDFLAGS="-lcrypt" 814 815sun: # SUN-OS 816 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 817 CRXTYPE=nfs \ 818 BASECFLAGS="-g -Dconst=" \ 819 BASELDFLAGS="-ldl" 820 821sv2: # SVR2 822 @echo You are being *very* optimistic! 823 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 824 SIGTYPE=sv4 LOGINPW=old \ 825 MAILSPOOL=/usr/mail \ 826 RSHPATH=/usr/bin/remsh \ 827 BASECFLAGS="-Dconst= -DSYSTEM5 -DSHORT_IDENT -I/usr/ethernet/include" \ 828 BASELDFLAGS="-lnet" \ 829 RANLIB=true LN=ln 830 831sv4: # SVR4 832 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 833 SIGTYPE=sv4 CHECKPW=sv4 LOGINPW=sv4 \ 834 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 835 ACTIVEFILE=/usr/share/news/active \ 836 RSHPATH=/usr/bin/resh \ 837 BASECFLAGS="-g -Dconst=" \ 838 BASELDFLAGS="-lsocket -lnsl -lgen" \ 839 RANLIB=true 840 841ult: # Ultrix 842 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 843 SIGTYPE=psx CHECKPW=ult CRXTYPE=nfs \ 844 BASECFLAGS="-g3 -O2 -Olimit 1500 -Dconst=" \ 845 BASELDFLAGS="-lauth -lc" 846 847uw2: # UnixWare SVR4.2 848 $(BUILD) `$(CAT) SPECIALS` OS=sv4 \ 849 SIGTYPE=sv4 CHECKPW=sv4 \ 850 SPOOLDIR=/var/spool MAILSPOOL=/var/mail \ 851 ACTIVEFILE=/var/news/lib/active \ 852 RSHPATH=/usr/bin/rsh \ 853 BASECFLAGS="-g" \ 854 BASELDFLAGS="-lsocket -lnsl -lgen" \ 855 RANLIB=true 856 857vul: # VAX Ultrix 858 $(BUILD) `$(CAT) SPECIALS` OS=ult \ 859 SIGTYPE=psx CHECKPW=ult CRXTYPE=nfs \ 860 BASECFLAGS="-O2 -Dconst=" \ 861 BASELDFLAGS="-lauth -lc" 862 863vu2: # VAX Ultrix 2.3, etc. 864 $(BUILD) `$(CAT) SPECIALS` OS=$@ \ 865 CRXTYPE=nfs \ 866 BASECFLAGS="-O2 -Dconst= -Dvoid=char" 867 868 869# Build it! 870 871build: clean once $(ARCHIVE) $(SHLIBNAME) 872 873all: $(ARCHIVE) $(SHLIBNAME) 874 875$(ARCHIVE): $(BINARIES) 876 sh -c '$(RM) $(ARCHIVE) || true' 877 @$(CAT) ./ARCHIVE 878 @$(SH) ./ARCHIVE 879 880$(SHLIBNAME): $(SOFILES) 881 $(CC) -shared -Wl,-soname=$(SHLIBNAME) -o $(SHLIBNAME) $(SOFILES) `cat LDFLAGS` 882 $(LN) $(SHLIBNAME) lib$(SHLIBBASE).so 883 884.c.so: osdep.h 885 $(CC) -fPIC -DPIC -c `cat CFLAGS` ${@:.so=.c} -o $@ 886 887.c.o: 888 $(CC) -c `cat CFLAGS` $*.c 889 890 891# Cleanup 892 893clean: 894 sh -c '$(RM) auths.c crexcl.c ip_unix.c linkage.[ch] siglocal.c osdep*.[ch] *.o ARCHIVE *FLAGS *TYPE $(ARCHIVE) || true' 895 sh -c '$(RM) *.so $(SHLIBNAME)' 896 897 898# Dependencies 899 900dummy.o: mail.h misc.h osdep.h dummy.h 901fdstring.o: mail.h misc.h osdep.h fdstring.h 902flstring.o: mail.h misc.h osdep.h flstring.h 903imap4r1.o: mail.h misc.h osdep.h imap4r1.h rfc822.h 904mail.o: mail.h misc.h osdep.h rfc822.h linkage.h 905mbx.o: mail.h misc.h osdep.h dummy.h 906mh.o: mail.h misc.h osdep.h dummy.h 907mix.o: mail.h misc.h osdep.h dummy.h 908mx.o: mail.h misc.h osdep.h dummy.h 909misc.o: mail.h misc.h osdep.h 910mmdf.o: mail.h misc.h osdep.h pseudo.h dummy.h 911mtx.o: mail.h misc.h osdep.h dummy.h 912netmsg.o: mail.h misc.h osdep.h netmsg.h 913news.o: mail.h misc.h osdep.h 914newsrc.o: mail.h misc.h osdep.h newsrc.h 915nntp.o: mail.h misc.h osdep.h netmsg.h smtp.h nntp.h rfc822.h 916phile.o: mail.h misc.h osdep.h rfc822.h dummy.h 917pseudo.o: pseudo.h 918pop3.o: mail.h misc.h osdep.h rfc822.h 919smanager.o: mail.h misc.h osdep.h 920smtp.o: mail.h misc.h osdep.h smtp.h rfc822.h 921rfc822.o: mail.h misc.h osdep.h rfc822.h 922tenex.o: mail.h misc.h osdep.h dummy.h 923unix.o: mail.h misc.h osdep.h unix.h pseudo.h dummy.h 924utf8.o: mail.h misc.h osdep.h utf8.h tmap.c widths.c 925utf8aux.o: mail.h misc.h osdep.h utf8.h 926 927 928# OS-dependent 929 930OSDEPS= mail.h misc.h env.h fs.h ftl.h nl.h tcp.h \ 931 osdep.h env_unix.h tcp_unix.h \ 932 osdep.c env_unix.c fs_unix.c ftl_unix.c nl_unix.c tcp_unix.c ip_unix.c\ 933 auths.c crexcl.c flockcyg.c flocklnx.c flocksim.c fsync.c \ 934 gethstid.c getspnam.c \ 935 gr_wait.c gr_wait4.c gr_waitp.c \ 936 kerb_mit.c \ 937 auth_ext.c auth_gss.c auth_log.c auth_md5.c auth_pla.c \ 938 pmatch.c scandir.c setpgrp.c strerror.c truncate.c write.c \ 939 memmove.c memmove2.c memset.c \ 940 tz_bsd.c tz_nul.c tz_sv4.c \ 941 write.c sslstdio.c \ 942 strerror.c strpbrk.c strstr.c strtok.c strtoul.c \ 943 OSCFLAGS 944 945osdep.o: $(OSDEPS) 946 $(CC) `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` -c osdep.c 947 @echo ======================================================================== 948 @echo Building OS-dependent module 949 @echo If you get No such file error messages for files x509.h, ssl.h, 950 @echo pem.h, buffer.h, bio.h, and crypto.h, that means that OpenSSL 951 @echo is not installed on your system. Either install OpenSSL first 952 @echo or build with command: make `$(CAT) OSTYPE` SSLTYPE=none 953 @echo ======================================================================== 954 955osdep.so: $(OSDEPS) 956 $(CC) -fPIC -DPIC -c `$(CAT) CFLAGS` `$(CAT) OSCFLAGS` osdep.c -o $@ 957 958osdep.c: osdepbas.c osdepckp.c osdeplog.c osdepssl.c 959 $(CAT) osdepbas.c osdepckp.c osdeplog.c osdepssl.c > osdep.c 960 961osdepbas.c: 962 @echo osdepbas.c not found...try make clean and new make 963 @false 964 965osdepckp.c: 966 @echo osdepckp.c not found...try make clean and new make 967 @false 968 969osdeplog.c: 970 @echo osdeplog.c not found...try make clean and new make 971 @false 972 973osdepssl.c: 974 @echo osdepssl.c not found...try make clean and new make 975 @false 976 977siglocal.c: 978 @echo siglocal.c not found...try make clean and new make 979 @false 980 981crexcl.c: 982 @echo crexcl.c not found...do make clean and new make 983 @false 984 985ip_unix.c: 986 @echo ip_unix.c not found...do make clean and new make 987 @false 988 989os_sol.h: 990 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' 991 992 993# Once-only environment setup 994 995once: onceenv ckp$(PASSWDTYPE) ssl$(SSLTYPE) osdep.c 996 997onceenv: 998 @echo Once-only environment setup... 999 echo $(CC) > CCTYPE 1000 echo $(BASECFLAGS) '$(EXTRACFLAGS)' -DCHUNKSIZE=$(CHUNKSIZE) > CFLAGS 1001 echo -DCREATEPROTO=$(CREATEPROTO) -DEMPTYPROTO=$(EMPTYPROTO) \ 1002 -DMD5ENABLE=\"$(MD5PWD)\" -DMAILSPOOL=\"$(MAILSPOOL)\" \ 1003 -DANONYMOUSHOME=\"$(MAILSPOOL)/anonymous\" \ 1004 -DACTIVEFILE=\"$(ACTIVEFILE)\" -DNEWSSPOOL=\"$(NEWSSPOOL)\" \ 1005 -DRSHPATH=\"$(RSHPATH)\" -DLOCKPGM=\"$(LOCKPGM)\" \ 1006 -DLOCKPGM1=\"$(LOCKPGM1)\" -DLOCKPGM2=\"$(LOCKPGM2)\" \ 1007 -DLOCKPGM3=\"$(LOCKPGM3)\" > OSCFLAGS 1008 echo $(BASELDFLAGS) $(EXTRALDFLAGS) > LDFLAGS 1009 echo "$(ARRC) $(ARCHIVE) $(BINARIES);$(RANLIB) $(ARCHIVE)" > ARCHIVE 1010 echo $(OS) > OSTYPE 1011 ./drivers $(EXTRADRIVERS) $(DEFAULTDRIVERS) dummy 1012 ./mkauths $(EXTRAAUTHENTICATORS) $(DEFAULTAUTHENTICATORS) 1013 echo " mail_versioncheck (CCLIENTVERSION);" >> linkage.c 1014 $(LN) os_$(OS).h osdep.h 1015 $(LN) os_$(OS).c osdepbas.c 1016 $(LN) log_$(LOGINPW).c osdeplog.c 1017 $(LN) sig_$(SIGTYPE).c siglocal.c 1018 $(LN) crx_$(CRXTYPE).c crexcl.c 1019 $(LN) ip$(IP)_unix.c ip_unix.c 1020 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' 1021 1022 1023# Password checkers 1024 1025ckpafs: # AFS 1026 @echo AFS password authentication 1027 echo $(AFSCFLAGS) >> OSCFLAGS 1028# echo $(AFSLDFLAGS) >> LDFLAGS 1029# Note: Steve Roseman says that AFS libraries have to be lunk before SSL 1030 echo $(AFSLDFLAGS) `$(CAT) LDFLAGS` > LDFLAGS.tmp 1031 mv LDFLAGS.tmp LDFLAGS 1032 $(LN) ckp_afs.c osdepckp.c 1033 1034ckpdce: # DCE 1035 @echo DCE password authentication 1036 echo $(DCECFLAGS) >> OSCFLAGS 1037 echo $(DCELDFLAGS) >> LDFLAGS 1038 $(LN) ckp_dce.c osdepckp.c 1039 1040ckpgss: # Kerberos V (must have gss EXTRAAUTHENTICATOR as well) 1041 @echo Kerberos V password authentication 1042 $(LN) ckp_gss.c osdepckp.c 1043 1044ckpnul: # NUL authenticator (disables all plaintext authentication) 1045 @echo Plaintext authentication prohibited 1046 echo " mail_parameters (NIL,SET_DISABLEPLAINTEXT,(void *) 1);" >> linkage.c 1047 $(LN) ckp_nul.c osdepckp.c 1048 1049ckppam: # Pluggable Authentication Modules authenticator 1050 @echo PAM password authentication 1051 echo $(PAMLDFLAGS) >> LDFLAGS 1052 $(LN) ckp_pam.c osdepckp.c 1053 1054ckppmb: # Broken (e.g. SUN) Pluggable Authentication Modules authenticator 1055 @echo Broken PAM password authentication 1056 echo $(PAMLDFLAGS) >> LDFLAGS 1057 $(LN) ckp_pmb.c osdepckp.c 1058 1059ckpstd: # Port standard 1060 @echo Standard password authentication 1061 $(LN) ckp_$(CHECKPW).c osdepckp.c 1062 1063ckptwo: # Something plus standard 1064 @echo $(CHECKPWALT) password authentication first, then standard 1065 $(CAT) ckp_1st.c ckp_$(CHECKPWALT).c ckp_2nd.c ckp_$(CHECKPW).c \ 1066 ckp_3rd.c > osdepckp.c 1067 1068 1069# SSL support 1070 1071sslnone:# No SSL 1072 @echo Building without SSL support 1073 $(LN) ssl_none.c osdepssl.c 1074 1075sslnopwd: sslunix snopwd 1076 1077sslunix.nopwd: sslnopwd 1078 1079sslsco.nopwd: sslsco snopwd 1080 1081sslunix: sbasic sldunix 1082 1083sslsco: sbasic sldsco 1084 1085sbasic: # UNIX OpenSSL 1086 @echo Building with SSL 1087 $(LN) ssl_unix.c osdepssl.c 1088 echo $(SSLCFLAGS) >> OSCFLAGS 1089 echo " ssl_onceonlyinit ();" >> linkage.c 1090 1091snopwd: # Plaintext disable 1092 @echo Building with SSL and plaintext passwords disabled unless SSL/TLS 1093 echo " mail_parameters (NIL,SET_DISABLEPLAINTEXT,(void *) 2);" >> linkage.c 1094 1095sldunix:# Normal UNIX SSL load flags 1096 echo $(SSLLDFLAGS) >> LDFLAGS 1097 1098 1099sldsco: # SCO SSL load flags 1100# Note: Tim Rice says that SSL has to be lunk before other libraries on SCO. 1101 echo $(SSLLDFLAGS) `cat LDFLAGS` > LDFLAGS.tmp 1102 mv LDFLAGS.tmp LDFLAGS 1103 1104 1105# A monument to a hack of long ago and far away... 1106 1107love: 1108 @echo not war? 1109