1# 2# Copyright (c) 1987 The Regents of the University of California. 3# All rights reserved. 4# 5# Redistribution and use in source and binary forms are permitted 6# provided that the above copyright notice and this paragraph are 7# duplicated in all such forms and that any documentation, 8# advertising materials, and other materials related to such 9# distribution and use acknowledge that the software was developed 10# by the University of California, Berkeley. The name of the 11# University may not be used to endorse or promote products derived 12# from this software without specific prior written permission. 13# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR 14# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED 15# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. 16# 17# @(#)Makefile 5.19 (Berkeley) 10/24/88 18# 19# This version expects the 4.2BSD directory reading routines to 20# located in libc.a. If they aren't, augment LIBS. Also, LIBS 21# can be set to reference other object modules and libraries needed 22# by uucico, such as -lunet (needed when UNET is defined). 23# 24# Common object files are assembled into a library {uulib.a} 25# 26ALL= uucico uucp uux uuxqt uulog uuclean uuname uupoll uusnap \ 27 uuencode uudecode uusend uucpd uuq acucntrl 28# Common object files placed in uulib.a 29COMMON= anlwrk.o anyread.o cfgets.o chkpth.o cpmv.o expfile.o gename.o \ 30 getargs.o getprm.o getpwinfo.o gnxseq.o lastpart.o logent.o \ 31 mailst.o prefix.o setline.o subdir.o sysacct.o systat.o ulockf.o \ 32 uucpdefs.o uucpname.o versys.o xqt.o 33SRCS= ${USRCS} ${OSRCS} ${LSRCS} 34USRCS= cico.c cntrl.c conn.c condevs.c gnsys.c pk0.c chksum.c pk1.c tio.c \ 35 fio.c gio.c imsg.c 36OSRCS= uuclean.c uucp.c uulog.c uuname.c uupoll.c \ 37 uusend.c uusnap.c uux.c uuxqt.c uuq.c acucntrl.c 38LSRCS= anlwrk.c anyread.c cfgets.c chkpth.c cpmv.c expfile.c gename.c \ 39 getargs.c getprm.c getpwinfo.c gnxseq.c lastpart.c logent.c \ 40 mailst.c prefix.c setline.c subdir.c sysacct.c systat.c ulockf.c \ 41 uucpdefs.c uucpname.c versys.c xqt.c 42MAN1= uucp.0 uuencode.0 uulog.0 uuname.0 uux.0 uuq.0 uusend.0 43MAN8= uucico.0 uuclean.0 uupoll.0 uusnap.0 uuxqt.0 44 45#These might be useful on non 4.3bsd systems. 46MISC= htonl.c ioctl.c index.c mkdir.c strpbrk.c 47 48DESTDIR= 49 50# Define P=& if your make supports parallelism (e.g. Sequent) 51P= 52 53OWNER= uucp 54GROUP= daemon 55CFLAGS= -O 56LDFLAGS= 57LINTFLAGS= -chbap 58LIBS= 59LIBC= /lib/libc.a 60LIBDIR= ${DESTDIR}/usr/lib/uucp 61BIN= ${DESTDIR}/usr/bin 62ETC= ${DESTDIR}/etc 63PUBDIR= ${DESTDIR}/usr/spool/uucppublic 64SPOOL= ${DESTDIR}/usr/spool/uucp 65XQTDIR= ${SPOOL}/XTMP 66CORRUPT= ${SPOOL}/CORRUPT 67AUDIT= ${SPOOL}/AUDIT 68LCK= ${SPOOL}/LCK 69LOG= ${SPOOL}/LOG 70STST= ${SPOOL}/STST 71# The six subdirs {not counting XTMP}. 72HOSTNAME=`uuname -l | sed 's/\(.......\).*/\1/'` 73SUBDIRS=C. D.${HOSTNAME}X D.${HOSTNAME} D. X. TM. 74 75all: $(P) ${ALL} 76 77print: $(SRCS) 78 vgrind $? 79 vgrind -x index 80 touch print 81 82uucp uux uuxqt uulog uuclean uuname uupoll uusend uuq: uulib.a ${LIBS} ${LIBC} 83 ${CC} -o $@ ${LDFLAGS} $@.c uulib.a ${LIBS} 84 85uusnap uuencode uudecode uucpd acucntrl: ${LIBS} ${LIBC} 86 ${CC} -o $@ ${LDFLAGS} $@.c ${LIBS} 87 88uucico: $(P) cico.o cntrl.o conn.o condevs.o gnsys.o pk0.o chksum.o pk1.o \ 89 tio.o fio.o gio.o imsg.o uulib.a $(P) aculib/aculib.a ${LIBC} 90 ${CC} -o uucico ${LDFLAGS} cico.o cntrl.o conn.o condevs.o gnsys.o \ 91 pk0.o chksum.o pk1.o tio.o fio.o gio.o imsg.o \ 92 uulib.a aculib/aculib.a ${LIBS} 93 94# Note: mode 700 on ${LIBDIR} would be safer. 95# Also, L.sys etc should be 600. 96 97mkdirs: 98 -for i in ${LIBDIR} ${SPOOL} ${PUBDIR} ${XQTDIR} ${CORRUPT} \ 99 ${AUDIT} ${LCK} ${LOG} ${STST} ; do \ 100 rm -f $$i ; mkdir $$i ; \ 101 chmod 755 $$i; /etc/chown ${OWNER} $$i; chgrp ${GROUP} $$i ; \ 102 done 103 chmod 777 ${PUBDIR} ${LCK} 104 -cd ${LOG}; for i in uucico uux uuxqt uucp xferstats; do\ 105 rm -f $$i ; mkdir $$i ; \ 106 chmod 755 $$i; /etc/chown ${OWNER} $$i; chgrp ${GROUP} $$i ; \ 107 done 108 -cd ${SPOOL}; for i in ${SUBDIRS} ; do \ 109 mkdir $$i; \ 110 /etc/chown ${OWNER} $$i; chgrp ${GROUP} $$i; chmod 755 $$i; \ 111 done 112 113# The lorder...tsort below is for systems w/o ranlib 114# But it doesnt hurt to use it. Ignore the spurious "cycle" messages 115uulib.a: $(P) ${COMMON} 116 rm -f $@ 117 ar cr $@ `lorder ${COMMON} | tsort` 118 ranlib $@ 119 120aculib/aculib.a: 121 cd aculib; make ${MFLAGS} "CFLAGS=${CFLAGS}" "P=${P}" 122 123install: ${MAN1} ${MAN8} 124 /etc/chown ${OWNER} ${LIBDIR} 125 chgrp ${GROUP} ${LIBDIR} 126 chmod 755 ${LIBDIR} 127 install -s -m 6111 -o ${OWNER} -g ${GROUP} uucico uuclean ${LIBDIR} 128 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 129 uucp uux uulog uuname uusnap uupoll uuq ${BIN} 130 install -s -m 6110 -o ${OWNER} -g ${GROUP} uuxqt ${LIBDIR} 131 install -s -m 6110 -o root -g ${GROUP} acucntrl ${LIBDIR} 132 install -s -m 500 -o uucp uucpd ${ETC} 133 @echo Dont forget to fork off /etc/uucpd in /etc/rc.local 134 @echo if you are not running /etc/inetd 135 install -s -m 755 -o bin -g bin uusend ${BIN} 136 install -s -m 755 -o bin -g bin uuencode ${BIN} 137 install -s -m 755 -o bin -g bin uudecode ${BIN} 138 rm -f ${BIN}/ruusend 139 ln ${BIN}/uusend ${BIN}/ruusend 140 install -c -o bin -g bin -m 444 ${MAN1} ${DESTDIR}/usr/man/cat1 141 install -c -o bin -g bin -m 444 ${MAN8} ${DESTDIR}/usr/man/cat8 142 rm -f ${DESTDIR}/usr/man/cat1/uudecode.0 143 ln ${DESTDIR}/usr/man/cat1/uuencode.0 ${DESTDIR}/usr/man/cat1/uudecode.0 144 145clean: 146 rm -f *.o ${ALL} uulib.a 147 cd aculib; make ${MFLAGS} clean 148 149cleandir: clean 150 rm -f ${MAN} tags .depend 151 cd aculib; make ${MFLAGS} cleandir 152 153depend: ${SRCS} 154 mkdep ${CFLAGS} ${USRCS} ${LSRCS} 155 mkdep -a -p ${CFLAGS} ${OSRCS} 156 cd aculib; make ${MFLAGS} depend 157 158lint: ${SRCS} 159 lint ${LINTFLAGS} ${USRCS} ${LSRCS} 160 -for i in ${OSRCS} ; do \ 161 lint ${LINTFLAGS} $$i ${LSRCS} ;\ 162 done 163 164tags: ${SRCS} 165 ctags ${SRCS} 166