date and time created 85/03/22 10:10:11 by ralph
[unix-history] / usr / src / usr.bin / uucp / Makefile
CommitLineData
88db71e9 1# Makefile 5.7 85/01/22
11ece1e5
SL
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 uupoll uusnap \
88db71e9 11 uuencode uudecode uusend uucpd uuq
11ece1e5
SL
12# Common object files placed in uulib.a
13COMMON= anlwrk.o anyread.o assert.o cfgets.o chkpth.o \
88db71e9
RC
14 cpmv.o expfile.o gename.o getargs.o getprm.o \
15 getpwinfo.o gio.o gnamef.o gnxseq.o gwd.o imsg.o \
16 lastpart.o logent.o mailst.o pk0.o chksum.o pk1.o prefix.o \
17 setline.o shio.o subdir.o sysacct.o systat.o \
18 ulockf.o \
19 uucpname.o versys.o xqt.o uucpdefs.o tio.o fio.o
20
21SRCS= anlwrk.c anyread.c assert.c cfgets.c chkpth.c chksum.c \
22 cico.c cntrl.c condevs.c conn.c cpmv.c expfile.c \
23 gename.c getargs.c getprm.c getpwinfo.c \
24 gio.c gnamef.c gnsys.c gnxseq.c gwd.c imsg.c \
25 ioctl.c lastpart.c logent.c mailst.c ndir.h \
26 pk.h pk0.c pk1.c pkon.c prefix.c \
27 setline.c shio.c subdir.c sysacct.c systat.c tio.c fio.c\
28 ulockf.c \
29 uuclean.c uucp.c uucp.h uucpdefs.c uucpname.c uudecode.c \
30 uuencode.c uulog.c uuname.c uupoll.c uusend.c uusnap.c \
31 uux.c uuxqt.c \
32 versys.c xqt.c uuq.c
33#These might be useful on non 4.2bsd systems.
34MISC= htonl.c ioctl.c index.c
35
11ece1e5
SL
36DESTDIR=
37OWNER= uucp
38GROUP= daemon
39CFLAGS= -O
40LDFLAGS=
88db71e9
RC
41LIBS=
42LIBDIR= ${DESTDIR}/usr/lib/uucp
43BIN= ${DESTDIR}/usr/bin
44PUBDIR= ${DESTDIR}/usr/spool/uucppublic
45SPOOL= ${DESTDIR}/usr/spool/uucp
46XQTDIR= ${SPOOL}/XTMP
47CORRUPT= ${SPOOL}/CORRUPT
48AUDIT= ${SPOOL}/AUDIT
49LCK= #${SPOOL}/LCK.
50STST= ${SPOOL}/STST
11ece1e5
SL
51# The six subdirs {not counting XTMP}. The order of the D. files is crucial!
52SUBDIRS=C. D.`uuname -l`X D.`uuname -l` D. X. TM.
11cfcb47 53# for make depend
88db71e9
RC
54UNDEF= -UNDIR -UUNET -USYSIII -UUNAME -UCCWHOAMI -UGETMYHNAME -UDATAKIT \
55 -UBSD4_2
11ece1e5
SL
56
57all: ${ALL}
58
88db71e9
RC
59print: $(SRCS)
60 vgrind $?
61 vgrind -x index
62 touch print
63
11ece1e5
SL
64uucp: uucp.o uulib.a
65 ${CC} -o uucp ${LDFLAGS} uucp.o uulib.a
66
67uux: uux.o uulib.a
68 ${CC} -o uux ${LDFLAGS} uux.o uulib.a
69
70uuxqt: uuxqt.o uulib.a
71 ${CC} -o uuxqt ${LDFLAGS} uuxqt.o uulib.a ${LIBS}
72
88db71e9 73uucico: cico.o cntrl.o conn.o condevs.o gnsys.o uulib.a aculib/aculib.a
11ece1e5 74 ${CC} -o uucico ${LDFLAGS} cico.o cntrl.o conn.o condevs.o \
88db71e9 75 gnsys.o uulib.a aculib/aculib.a ${LIBS}
11ece1e5
SL
76
77uulog: uulog.o uulib.a
78 ${CC} -o uulog ${LDFLAGS} uulog.o uulib.a
79
80uuclean: uuclean.o uulib.a
88db71e9 81 ${CC} -o uuclean ${LDFLAGS} uuclean.o uulib.a ${LIBS}
11ece1e5
SL
82
83uuname: uuname.o uulib.a
84 ${CC} -o uuname ${LDFLAGS} uuname.o uulib.a
88db71e9 85
11ece1e5
SL
86uupoll: uupoll.o uulib.a
87 ${CC} -o uupoll ${LDFLAGS} uupoll.o uulib.a
88
88db71e9
RC
89uusnap: uusnap.o
90 ${CC} -o uusnap ${LDFLAGS} uusnap.o ${LIBS}
11ece1e5 91
88db71e9
RC
92uuencode: uuencode.o
93 ${CC} -o uuencode ${LDFLAGS} uuencode.o
11ece1e5 94
88db71e9
RC
95uudecode: uudecode.o
96 ${CC} -o uudecode ${LDFLAGS} uudecode.o
11ece1e5 97
88db71e9
RC
98uusend: uusend.o
99 ${CC} -o uusend ${LDFLAGS} uusend.o
11ece1e5 100
88db71e9 101uucpd: uucpd.o uucp.h
480fe9de
RC
102 ${CC} -o uucpd ${LDFLAGS} uucpd.o
103
88db71e9
RC
104uuq: uuq.o uulib.a
105 ${CC} -o uuq ${LDFLAGS} uuq.o uulib.a
106
11ece1e5
SL
107# Note: mode 700 on ${LIBDIR} would be safer.
108# Also, L.sys etc should be 600.
88db71e9 109
11ece1e5 110mkdirs:
88db71e9
RC
111 -for i in ${LIBDIR} ${SPOOL} ${PUBDIR} ${XQTDIR} ${CORRUPT} \
112 ${AUDIT} ${LCK} ${STST} ; do \
113 rm -f $$i ; mkdir $$i ; \
114 chmod 755 $$i; chown ${OWNER} $$i; chgrp ${GROUP} $$i ; \
115 done
116 chmod 777 ${PUBDIR} ${LCK}
117 -cd ${SPOOL}; for i in ${SUBDIRS} ; do \
11ece1e5 118 mkdir $$i; \
11cfcb47 119 chown ${OWNER} $$i; chgrp ${GROUP} $$i; chmod 755 $$i; \
11ece1e5
SL
120 done
121
122# The lorder...tsort below is for systems w/o ranlib
123# But it doesnt hurt to use it. Ignore the spurious "cycle" messages
124uulib.a: ${COMMON}
125 rm -f $@
126 ar cr $@ `lorder ${COMMON} | tsort`
127 ranlib $@
128
88db71e9
RC
129aculib/aculib.a:
130 cd aculib; make
131
132install:
133 chown ${OWNER} ${LIBDIR}
134 chgrp ${GROUP} ${LIBDIR}
135 chmod 755 ${LIBDIR}
136 for i in uucico uuclean; do \
137 install -s -m 6111 -o ${OWNER} -g ${GROUP} $$i ${LIBDIR} ;\
138 done
139 for i in uucp uux uulog uuname uusnap uupoll uuq uusend; do \
140 install -s -m 6111 -o ${OWNER} -g ${GROUP} $$i ${BIN} ;\
141 done
142 rm -f ${BIN}/ruusend
143 ln ${BIN}/uusend ${BIN}/ruusend
144 install -s -m 6110 -o ${OWNER} -g ${GROUP} uuxqt ${LIBDIR}
145 install -s -m 700 -o root uucpd /etc/uucpd
146 @echo Dont forget to fork off /etc/uucpd in /etc/rc.local
147 install -s uuencode ${BIN}
148 install -s uudecode ${BIN}
11ece1e5
SL
149
150clean:
151 rm -f *.o ${ALL} uulib.a
88db71e9 152 cd aculib; make clean
11ece1e5
SL
153
154depend:
155 for i in *.c; do \
156 (echo `basename $$i .c`.o: $$i >>makedep; \
11cfcb47 157 unifdef ${UNDEF} $$i | \
11ece1e5
SL
158 /bin/grep '^#[ ]*include' | sed \
159 -e '/\.\.\/h/d' \
160 -e 's,<\(.*\)>,"/usr/include/\1",' \
161 -e 's/^[^"]*"\([^"]*\)".*/'"$$i"': \1/' \
162 -e 's/\.c/.o/' >>makedep); done
163 echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
164 echo '$$r makedep' >>eddep
165 echo 'w' >>eddep
166 cp Makefile Makefile.bak
167 ed - Makefile < eddep
168 rm eddep makedep
169 echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
170 echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
171 echo '# see make depend above' >> Makefile
172
173# DO NOT DELETE THIS LINE -- make depend uses it
174# DEPENDENCIES MUST END AT END OF FILE
175anlwrk.o: anlwrk.c
176anlwrk.o: uucp.h
88db71e9 177anlwrk.o: uust.h
11ece1e5
SL
178anyread.o: anyread.c
179anyread.o: uucp.h
11ece1e5
SL
180assert.o: assert.c
181assert.o: uucp.h
11ece1e5 182cfgets.o: cfgets.c
11ece1e5
SL
183chkpth.o: chkpth.c
184chkpth.o: uucp.h
88db71e9 185chksum.o: chksum.c
11ece1e5
SL
186cico.o: cico.c
187cico.o: uucp.h
88db71e9
RC
188cico.o: uust.h
189cico.o: uusub.h
11ece1e5
SL
190cntrl.o: cntrl.c
191cntrl.o: uucp.h
88db71e9 192cntrl.o: uust.h
11ece1e5 193condevs.o: condevs.c
11ece1e5 194condevs.o: uucp.h
11ece1e5
SL
195conn.o: conn.c
196conn.o: uucp.h
11ece1e5
SL
197cpmv.o: cpmv.c
198cpmv.o: uucp.h
11ece1e5
SL
199expfile.o: expfile.c
200expfile.o: uucp.h
88db71e9
RC
201fio.o: fio.c
202fio.o: uucp.h
11ece1e5
SL
203gename.o: gename.c
204gename.o: uucp.h
205getargs.o: getargs.c
11ece1e5 206getopt.o: getopt.c
11ece1e5 207getprm.o: getprm.c
11ece1e5
SL
208getpwinfo.o: getpwinfo.c
209getpwinfo.o: uucp.h
11ece1e5 210gio.o: gio.c
11ece1e5 211gio.o: pk.h
11ece1e5
SL
212gio.o: uucp.h
213gnamef.o: gnamef.c
214gnamef.o: uucp.h
11ece1e5
SL
215gnsys.o: gnsys.c
216gnsys.o: uucp.h
11ece1e5
SL
217gnxseq.o: gnxseq.c
218gnxseq.o: uucp.h
11ece1e5
SL
219gwd.o: gwd.c
220gwd.o: uucp.h
11ece1e5
SL
221imsg.o: imsg.c
222imsg.o: uucp.h
11ece1e5
SL
223ioctl.o: ioctl.c
224ioctl.o: uucp.h
11ece1e5
SL
225lastpart.o: lastpart.c
226logent.o: logent.c
227logent.o: uucp.h
11ece1e5
SL
228mailst.o: mailst.c
229mailst.o: uucp.h
230pk0.o: pk0.c
11ece1e5 231pk0.o: pk.h
11ece1e5 232pk1.o: pk1.c
11ece1e5 233pk1.o: pk.h
88db71e9 234pk1.o: uucp.h
11ece1e5 235prefix.o: prefix.c
11ece1e5
SL
236setline.o: setline.c
237setline.o: uucp.h
11ece1e5
SL
238shio.o: shio.c
239shio.o: uucp.h
11ece1e5
SL
240subdir.o: subdir.c
241subdir.o: uucp.h
242sysacct.o: sysacct.c
11ece1e5
SL
243systat.o: systat.c
244systat.o: uucp.h
88db71e9
RC
245tio.o: tio.c
246tio.o: uucp.h
11ece1e5
SL
247ulockf.o: ulockf.c
248ulockf.o: uucp.h
11ece1e5
SL
249uuclean.o: uuclean.c
250uuclean.o: uucp.h
11ece1e5
SL
251uucp.o: uucp.c
252uucp.o: uucp.h
88db71e9
RC
253uucp.o: uust.h
254uucpd.o: uucpd.c
255uucpd.o: uucp.h
11ece1e5
SL
256uucpdefs.o: uucpdefs.c
257uucpdefs.o: uucp.h
258uucpname.o: uucpname.c
259uucpname.o: uucp.h
11ece1e5 260uudecode.o: uudecode.c
11ece1e5 261uuencode.o: uuencode.c
11ece1e5
SL
262uulog.o: uulog.c
263uulog.o: uucp.h
264uuname.o: uuname.c
265uuname.o: uucp.h
11ece1e5
SL
266uupoll.o: uupoll.c
267uupoll.o: uucp.h
88db71e9
RC
268uuq.o: uuq.c
269uuq.o: uucp.h
11ece1e5 270uusend.o: uusend.c
11ece1e5
SL
271uusnap.o: uusnap.c
272uusnap.o: uucp.h
11ece1e5
SL
273uux.o: uux.c
274uux.o: uucp.h
275uuxqt.o: uuxqt.c
276uuxqt.o: uucp.h
11ece1e5
SL
277versys.o: versys.c
278versys.o: uucp.h
279xqt.o: xqt.c
280xqt.o: uucp.h
11ece1e5
SL
281# DEPENDENCIES MUST END AT END OF FILE
282# IF YOU PUT STUFF HERE IT WILL GO AWAY
283# see make depend above