1# Makefile 5.5 83/07/18 2# 3# This version expects the 4.2BSD directory reading routines to 4# located in libc.a. If they aren't, augment LIBS. Also, LIBS 5# can be set to reference other object modules and libraries needed 6# by uucico, such as -lunet (needed when UNET is defined). 7# 8# Common object files are assembled into a library {uulib.a} 9# 10ALL= uucp uux uuxqt uucico uulog uuclean uuname uustat uusub uupoll uusnap \ 11 uuencode uudecode uusend uucpd uuq startuucp 12# Common object files placed in uulib.a 13COMMON= anlwrk.o anyread.o assert.o cfgets.o chkpth.o \ 14 cpmv.o expfile.o gename.o getargs.o getopt.o getprm.o \ 15 getpwinfo.o gio.o gnamef.o gnxseq.o gwd.o imsg.o \ 16 index.o lastpart.o logent.o mailst.o pk0.o chksum.o pk1.o prefix.o \ 17 sdmail.o setline.o shio.o subdir.o sysacct.o systat.o ub_sst.o \ 18 ulockf.o us_crs.o us_open.o us_rrs.o us_sst.o tio.o fio.o \ 19 uucpname.o versys.o xqt.o uucpdefs.o ntoa.o 20DESTDIR= 21OWNER= uucp 22GROUP= daemon 23CFLAGS= -O 24LDFLAGS= 25LIBS= libndir.a 26LIBDIR= /usr/lib/uucp 27BIN= /usr/bin 28PUBDIR= /usr/spool/uucppublic 29SPOOL= /usr/spool/uucp 30XQTDIR= /usr/spool/uucp/XTMP 31# The six subdirs {not counting XTMP}. The order of the D. files is crucial! 32SUBDIRS=C. D.`uuname -l`X D.`uuname -l` D. X. TM. STST CORRUPT AUDIT 33PKON= 34IOCTL= 35# for make depend 36UNDEF= -UNDIR -UUNET -USYSIII -UUNAME -UCCWHOAMI -UGETMYHNAME -UDATAKIT 37 38all: ${ALL} 39 40uucp: uucp.o uulib.a 41 ${CC} -o uucp ${LDFLAGS} uucp.o uulib.a 42 43uux: uux.o uulib.a 44 ${CC} -o uux ${LDFLAGS} uux.o uulib.a 45 46uuxqt: uuxqt.o uulib.a 47 ${CC} -o uuxqt ${LDFLAGS} uuxqt.o uulib.a ${LIBS} 48 49uucico: cico.o cntrl.o conn.o condevs.o gnsys.o ${IOCTL} ${PKON} uulib.a 50 ${CC} -noshare -o uucico ${LDFLAGS} cico.o cntrl.o conn.o condevs.o \ 51 gnsys.o ${IOCTL} ${PKON} uulib.a ${LIBS} 52 53uulog: uulog.o uulib.a 54 ${CC} -o uulog ${LDFLAGS} uulog.o uulib.a 55 56uuclean: uuclean.o uulib.a 57 ${CC} -o uuclean ${LDFLAGS} uuclean.o uulib.a ${LIBS} 58 59uuname: uuname.o uulib.a 60 ${CC} -o uuname ${LDFLAGS} uuname.o uulib.a 61 62uustat: uustat.o uulib.a 63 $(CC) -o uustat $(LDFLAGS) uustat.o uulib.a ${LIBS} 64 65uucpd: uucpd.obj ntoa.obj validate.obj 66 vms @linkuucpd 67 mv uucpd.exe uucpd 68 69uucpd.obj: 70 cc -S -O uucpd.c 71 vmsas uucpd.s 72 mv a.out uucpd.obj 73 rm uucpd.s 74 75ntoa.obj: 76 cc -S -O ntoa.c 77 vmsas ntoa.s 78 mv a.out ntoa.obj 79 rm ntoa.s 80 81validate.obj: 82 cc -S -O validate.c 83 vmsas validate.s 84 mv a.out validate.obj 85 rm validate.s 86 87startuucp: startuucp.o 88 ${CC} -o startuucp startuucp.o 89 90uuq: uuq.o uulib.a 91 ${CC} -o uuq ${LDFLAGS} uuq.o uulib.a ${LIBS} 92 93uusub: uusub.o uulib.a 94 $(CC) -o uusub $(LDFLAGS) uusub.o uulib.a 95 96uupoll: uupoll.o uulib.a 97 ${CC} -o uupoll ${LDFLAGS} uupoll.o uulib.a 98 99uusnap: uusnap.o uulib.a 100 ${CC} -o uusnap ${LDFLAGS} uusnap.o uulib.a ${LIBS} 101 102uuencode: uuencode.o uulib.a 103 ${CC} -o uuencode ${LDFLAGS} uuencode.o uulib.a 104 105uudecode: uudecode.o uulib.a 106 ${CC} -o uudecode ${LDFLAGS} uudecode.o uulib.a 107 108uusend: uusend.o uulib.a 109 ${CC} -o uusend ${LDFLAGS} uusend.o uulib.a 110 111chksum.o: chksum.c chksum.vax.s chksum.11.s 112 ${CC} -O -c chksum.c 113 (unixas -o chksum.o chksum.vax.s) >/dev/null 2>&1& 114 115# Note: mode 700 on ${LIBDIR} would be safer. 116# Also, L.sys etc should be 600. 117mkdirs: 118 echo "Best to make these directories manually." 119 120# The lorder...tsort below is for systems w/o ranlib 121# But it doesnt hurt to use it. Ignore the spurious "cycle" messages 122uulib.a: ${COMMON} 123 rm -f $@ 124 ar cr $@ `lorder ${COMMON} | tsort` 125 ranlib $@ 126 127install: 128 chown ${OWNER} ${DESTDIR}/${LIBDIR} 129 chgrp ${GROUP} ${DESTDIR}/${LIBDIR} 130 chmod 755 ${DESTDIR}/${LIBDIR} 131 install -s -m 6111 -o ${OWNER} -g ${GROUP} uucp ${DESTDIR}/${BIN}/uucp 132 install -s -m 6111 -o ${OWNER} -g ${GROUP} uux ${DESTDIR}/${BIN}/uux 133 : chmod u+t ${BIN}/uux; : this helps PDPs 134 install -s -m 6110 -o ${OWNER} -g ${GROUP} \ 135 uuxqt ${DESTDIR}/${LIBDIR}/uuxqt 136 : chmod u+t ${LIBDIR}/uuxqt; : this helps PDPs 137 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 138 uucico ${DESTDIR}/${LIBDIR}/uucico 139 : chmod u+t ${LIBDIR}/uucico; : this helps PDPs if uucico is pure 140 install -s -m 6111 -o ${OWNER} -g ${GROUP} uulog ${DESTDIR}/${BIN}/uulog 141 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 142 uuclean ${DESTDIR}/${LIBDIR}/uuclean 143 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 144 uuname ${DESTDIR}/${BIN}/uuname 145 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 146 uupoll ${DESTDIR}/${BIN}/uupoll 147 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 148 uuq ${DESTDIR}/${BIN}/uuq 149 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 150 uustat ${DESTDIR}/${BIN}/uustat 151 install -s -m 100 -o ${OWNER} -g ${GROUP} \ 152 uusub ${DESTDIR}/${BIN}/uusub 153 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 154 uusnap ${DESTDIR}/${BIN}/uusnap 155 install -s uuencode ${DESTDIR}/${BIN}/uuencode 156 install -s uudecode ${DESTDIR}/${BIN}/uudecode 157 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 158 uusend ${DESTDIR}/${BIN}/uusend 159 rm -f ${DESTDIR}/${BIN}/ruusend 160 ln ${DESTDIR}/${BIN}/uusend ${DESTDIR}/${BIN}/ruusend 161 install -s uucpd ${DESTDIR}/etc/uucpd 162 163clean: 164 rm -f *.o *.obj ${ALL} uulib.a 165 166depend: 167 for i in *.c; do \ 168 (echo `basename $$i .c`.o: $$i >>makedep; \ 169 unifdef ${UNDEF} $$i | \ 170 /bin/grep '^#[ ]*include' | sed \ 171 -e '/\.\.\/h/d' \ 172 -e 's,<\(.*\)>,"/usr/include/\1",' \ 173 -e 's/^[^"]*"\([^"]*\)".*/'"$$i"': \1/' \ 174 -e 's/\.c/.o/' >>makedep); done 175 echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep 176 echo '$$r makedep' >>eddep 177 echo 'w' >>eddep 178 cp Makefile Makefile.bak 179 ed - Makefile < eddep 180 rm eddep makedep 181 echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile 182 echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile 183 echo '# see make depend above' >> Makefile 184 185# DO NOT DELETE THIS LINE -- make depend uses it 186# DEPENDENCIES MUST END AT END OF FILE 187