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