--- src/osdep/unix/Makefile.orig Thu Dec 4 17:54:13 1997 +++ src/osdep/unix/Makefile Sat Dec 6 16:30:32 1997 @@ -32,6 +32,7 @@ ARCHIVE=c-client.a +SHLIB=libc-client.so.2.1 ARRC=ar rc EXTRAAUTHENTICATORS= DEFAULTAUTHENTICATORS=log @@ -40,7 +41,8 @@ rfc822.o nntp.o smtp.o imap4r1.o pop3.o \ unix.o mbox.o mbx.o mmdf.o tenex.o mtx.o news.o phile.o mh.o mx.o CC=cc -CFLAGS=$(EXTRACFLAGS) +SOFILES=${BINARIES:.o=.so} +CFLAGS+=$(EXTRACFLAGS) CHECKPW=std EXTRADRIVERS=mbox DEFAULTDRIVERS=imap nntp pop3 mh mx mbx tenex mtx mmdf unix news phile dummy @@ -54,6 +56,9 @@ RSHPATH=/usr/ucb/rsh SHELL=/bin/sh +# Need this for the shared library rule to work correctly +.SUFFIXES: .o .so + missing: ../OSTYPE CCTYPE $(MAKE) `cat ../OSTYPE` CC=`cat CCTYPE` @@ -128,11 +133,11 @@ CFLAGS="-g -Dconst= -DNFSKLUDGE $(EXTRACFLAGS)" bsf: # FreeBSD - $(MAKE) $(ARCHIVE) OS=bsi EXTRADRIVERS="$(EXTRADRIVERS)" SIGTYPE=psx \ + $(MAKE) $(ARCHIVE) $(SHLIB) OS=bsi EXTRADRIVERS="$(EXTRADRIVERS)" SIGTYPE=psx \ STDPROTO=unixproto MAILSPOOL=/var/mail \ ACTIVEFILE=/usr/local/news/lib/active NEWSSPOOL=/var/news \ RSHPATH=/usr/bin/rsh \ - CFLAGS="-g -O -pipe -DNFSKLUDGE $(EXTRACFLAGS)" \ + CFLAGS="$(CFLAGS) -DNFSKLUDGE -DIGNORE_LOCK_EACCES_ERRORS $(EXTRACFLAGS)" \ LDFLAGS="-lcrypt" bsi: # BSD/i386 @@ -538,12 +544,19 @@ clean: $(RM) *.o linkage.[ch] auths.c $(ARCHIVE) osdep.* CCTYPE CFLAGS LDFLAGS + $(RM) *.so $(ARCHIVE): $(BINARIES) linkage.c $(RM) $(ARCHIVE) $(ARRC) $(ARCHIVE) $(BINARIES) $(RANLIB) $(ARCHIVE) +$(SHLIB): $(SOFILES) + ld -Bshareable -x -o $(SHLIB) $(SOFILES) + +.c.so: osdep.h + $(CC) -fpic -DPIC -c $(CFLAGS) ${@:.so=.c} -o $@ + # Dependencies dummy.o: mail.h misc.h osdep.h dummy.h @@ -588,6 +601,25 @@ write.c \ strerror.c strpbrk.c strstr.c strtok.c strtoul.c $(CC) $(CFLAGS) -DSTDPROTO=$(STDPROTO) -DMAILSPOOL=\"$(MAILSPOOL)\" \ + -DANONYMOUSHOME=\"$(MAILSPOOL)/anonymous\" \ + -DACTIVEFILE=\"$(ACTIVEFILE)\" -DNEWSSPOOL=\"$(NEWSSPOOL)\" \ + -DRSH=\"$(RSH)\" -DRSHPATH=\"$(RSHPATH)\" \ + $(EXTRAOSDEFS) -c osdep.c + +osdep.so: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 \ + auths.c flock.c fsync.c gethstid.c \ + gr_wait.c gr_wait4.c gr_waitp.c \ + auth_krb.c auth_log.c \ + ckp_a41.c ckp_dce.c ckp_krb.c ckp_os4.c ckp_sec.c ckp_ssn.c ckp_std.c \ + ckp_sv4.c ckp_ult.c log_os4.c log_sec.c log_std.c log_sv4.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 \ + strerror.c strpbrk.c strstr.c strtok.c strtoul.c + $(CC) -o $@ -fPIC -DPIC $(CFLAGS) -DSTDPROTO=$(STDPROTO) -DMAILSPOOL=\"$(MAILSPOOL)\" \ -DANONYMOUSHOME=\"$(MAILSPOOL)/anonymous\" \ -DACTIVEFILE=\"$(ACTIVEFILE)\" -DNEWSSPOOL=\"$(NEWSSPOOL)\" \ -DRSH=\"$(RSH)\" -DRSHPATH=\"$(RSHPATH)\" \