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.21 (Berkeley) 06/29/90 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 uusend 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 uulog.0 uuname.0 uux.0 uuq.0 uusend.0 43MAN8= uucico.0 uuclean.0 uupoll.0 uusnap.0 uuxqt.0 44MAN5= L-devices.0 L-dialcodes.0 L.aliases.0 L.cmds.0 L.sys.0 \ 45 USERFILE.0 46 47#These might be useful on non 4.3bsd systems. 48MISC= htonl.c ioctl.c index.c mkdir.c strpbrk.c 49 50.SUFFIXES: .out .o .c .y .l .s .8 .7 .6 .5 .4 .3 .2 .1 .0 51 52.8.0 .7.0 .6.0 .5.0 .4.0 .3.0 .2.0 .1.0: 53 nroff -mandoc -h ${.IMPSRC} > ${.TARGET} 54 55DESTDIR= 56 57# Define P=& if your make supports parallelism (e.g. Sequent) 58P= 59 60OWNER= uucp 61GROUP= daemon 62CFLAGS= -DUSE_OLD_TTY -O 63LDFLAGS= 64LINTFLAGS= -chbap 65LIBS= 66LIBC= /lib/libc.a 67LIBDIR= ${DESTDIR}/usr/lib/uucp 68BIN= ${DESTDIR}/usr/bin 69ETC= ${DESTDIR}/etc 70PUBDIR= ${DESTDIR}/var/spool/uucppublic 71SPOOL= ${DESTDIR}/var/spool/uucp 72XQTDIR= ${SPOOL}/XTMP 73CORRUPT= ${SPOOL}/CORRUPT 74AUDIT= ${SPOOL}/AUDIT 75LCK= ${SPOOL}/LCK 76LOG= ${SPOOL}/LOG 77STST= ${SPOOL}/STST 78# The six subdirs {not counting XTMP}. 79HOSTNAME=`uuname -l | sed 's/\(.......\).*/\1/'` 80SUBDIRS=C. D.${HOSTNAME}X D.${HOSTNAME} D. X. TM. 81 82all: $(P) ${ALL} 83 84print: $(SRCS) 85 vgrind $? 86 vgrind -x index 87 touch print 88 89uucp uux uuxqt uulog uuclean uuname uupoll uusend uuq: uulib.a ${LIBS} ${LIBC} 90 ${CC} -o $@ ${LDFLAGS} $@.c uulib.a ${LIBS} -lcompat 91 92uusnap acucntrl: ${LIBS} ${LIBC} 93 ${CC} -o $@ ${LDFLAGS} $@.c ${LIBS} 94 95uucico: $(P) cico.o cntrl.o conn.o condevs.o gnsys.o pk0.o chksum.o pk1.o \ 96 tio.o fio.o gio.o imsg.o uulib.a $(P) aculib/aculib.a ${LIBC} 97 ${CC} -o uucico ${LDFLAGS} cico.o cntrl.o conn.o condevs.o gnsys.o \ 98 pk0.o chksum.o pk1.o tio.o fio.o gio.o imsg.o \ 99 uulib.a aculib/aculib.a ${LIBS} -lcompat 100 101 102# Note: mode 700 on ${LIBDIR} would be safer. 103# Also, L.sys etc should be 600. 104 105mkdirs: 106 -for i in ${LIBDIR} ${SPOOL} ${PUBDIR} ${XQTDIR} ${CORRUPT} \ 107 ${AUDIT} ${LCK} ${LOG} ${STST} ; do \ 108 rm -f $$i ; mkdir $$i ; \ 109 chmod 755 $$i; chown ${OWNER} $$i; chgrp ${GROUP} $$i ; \ 110 done 111 chmod 777 ${PUBDIR} ${LCK} 112 -cd ${LOG}; for i in uucico uux uuxqt uucp xferstats; do\ 113 rm -f $$i ; mkdir $$i ; \ 114 chmod 755 $$i; chown ${OWNER} $$i; chgrp ${GROUP} $$i ; \ 115 done 116 -cd ${SPOOL}; for i in ${SUBDIRS} ; do \ 117 mkdir $$i; \ 118 chown ${OWNER} $$i; chgrp ${GROUP} $$i; chmod 755 $$i; \ 119 done 120 121# The lorder...tsort below is for systems w/o ranlib 122# But it doesnt hurt to use it. Ignore the spurious "cycle" messages 123uulib.a: $(P) ${COMMON} 124 rm -f $@ 125 ar cr $@ `lorder ${COMMON} | tsort` 126 ranlib $@ 127 128aculib/aculib.a: 129 cd aculib; make ${MFLAGS} "CFLAGS=${CFLAGS}" "P=${P}" 130 131install: ${MAN1} ${MAN8} ${MAN5} 132 chown ${OWNER} ${LIBDIR} 133 chgrp ${GROUP} ${LIBDIR} 134 chmod 755 ${LIBDIR} 135 install -s -m 6111 -o ${OWNER} -g ${GROUP} uucico uuclean ${LIBDIR} 136 install -s -m 6111 -o ${OWNER} -g ${GROUP} \ 137 uucp uux uulog uuname uusnap uupoll uuq ${BIN} 138 install -s -m 6110 -o ${OWNER} -g ${GROUP} uuxqt ${LIBDIR} 139 install -s -m 6110 -o root -g ${GROUP} acucntrl ${LIBDIR} 140 install -s -m 755 -o bin -g bin uusend ${BIN} 141 rm -f ${BIN}/ruusend 142 ln ${BIN}/uusend ${BIN}/ruusend 143 install -c -o bin -g bin -m 444 ${MAN1} ${DESTDIR}/usr/share/man/cat1 144 install -c -o bin -g bin -m 444 ${MAN5} ${DESTDIR}/usr/share/man/cat5 145 install -c -o bin -g bin -m 444 ${MAN8} ${DESTDIR}/usr/share/man/cat8 146 147clean: 148 rm -f *.o ${ALL} uulib.a 149 cd aculib; make ${MFLAGS} clean 150 151cleandir: clean 152 rm -f ${MAN} tags .depend 153 cd aculib; make ${MFLAGS} cleandir 154 155depend: ${SRCS} 156 mkdep ${CFLAGS} ${USRCS} ${LSRCS} 157 mkdep -a -p ${CFLAGS} ${OSRCS} 158 cd aculib; make ${MFLAGS} depend 159 160lint: ${SRCS} 161 lint ${LINTFLAGS} ${USRCS} ${LSRCS} 162 -for i in ${OSRCS} ; do \ 163 lint ${LINTFLAGS} $$i ${LSRCS} ;\ 164 done 165 166tags: ${SRCS} 167 ctags ${SRCS} 168