rcp dereferences NULL; bug report 4.3BSD/bin/36
[unix-history] / usr / src / bin / Makefile
CommitLineData
1f312495
DF
1#
2# Copyright (c) 1980 Regents of the University of California.
3# All rights reserved. The Berkeley software License Agreement
4# specifies the terms and conditions for redistribution.
5#
851091a0 6# @(#)Makefile 5.23 (Berkeley) %G%
ed4eaf26 7#
79854fee 8DESTDIR=
ed4eaf26 9CFLAGS= -O
ed4eaf26 10
79854fee
KM
11# Programs that live in subdirectories, and have makefiles of their own.
12#
7ddb6d53 13SUBDIR= adb as awk csh diff make sed sh tp
ed4eaf26 14
79854fee
KM
15# Shell scripts that need only be installed and are never removed.
16#
17SCRIPT= false true
ed4eaf26 18
0981a644
KB
19# C source that lives in the current directory
20#
21SRCS= ar.c cat.c cc.c chgrp.c chmod.c cmp.c date.c dd.c du.c echo.c ed.c \
22 expr.c grep.c hostid.c hostname.c kill.c ld.c ln.c ls.c machine.c \
23 mkdir.c mt.c nice.c nm.c od.c pagesize.c pr.c ps.c pwd.c rm.c \
24 rmail.c rmdir.c size.c stty.c sync.c tar.c tee.c test.c time.c who.c
25
79854fee
KM
26# C programs that live in the current directory and do not need
27# explicit make lines.
28#
69c1d69e 29STD= ar cat cc chgrp chmod cmp date dd du echo ed grep hostid \
12bc7f43 30 hostname kill ld ln ls machine mkdir mt nice nm od pagesize pr \
69c1d69e 31 pwd rm rmail rmdir size stty sync tar tee test time who
ed4eaf26 32
e4cc2084
RC
33# C programs that live in the current directory and need explicit make lines.
34#
0981a644 35NSTD= expr ps
79854fee 36
0981a644 37# Programs that get installed with special permissions
c89291e2 38#
0981a644 39PERM= df login mail passwd rcp su wall write
c89291e2 40
0981a644 41BINS= ${STD} ${NSTD} ${PERM} cp mv strip
c89291e2
KM
42
43all: ${SUBDIR} ${BINS}
79854fee 44
7e2bf8ce 45${SUBDIR}: FRC
79854fee
KM
46 cd $@; make ${MFLAGS}
47
0981a644 48${STD} ${PERM} mv cp strip:
ff17818f 49 ${CC} ${CFLAGS} -o $@ $@.c
79854fee 50
84b87180 51# take care with cp, strip, and mv, install uses them
0981a644
KB
52install: FRC
53 install -s -o bin -g bin -m 755 cp ${DESTDIR}/bin/newcp; \
5ef6ff74 54 mv ${DESTDIR}/bin/newcp ${DESTDIR}/bin/cp;
0981a644 55 install -s -o bin -g bin -m 755 strip ${DESTDIR}/bin/newstrip; \
84b87180 56 mv ${DESTDIR}/bin/newstrip ${DESTDIR}/bin/strip;
0981a644
KB
57 install -c -s -o bin -g bin -m 755 mv ${DESTDIR}/bin/mv
58 rm -f mv
bcefba14 59 -for i in ${SUBDIR}; do \
79854fee 60 (cd $$i; make ${MFLAGS} DESTDIR=${DESTDIR} install); done
0981a644
KB
61 -for i in ${SCRIPT}; do \
62 (install -c -o bin -g bin -m 755 $$i.sh ${DESTDIR}/bin/$$i); \
63 done
64 -for i in ${STD}; do \
65 (install -s -o bin -g bin -m 755 $$i ${DESTDIR}/bin/$$i); \
66 done
67# programs that run with special permissions
851091a0
KB
68 install -s -o root -g bin -m 4755 login ${DESTDIR}/bin/login
69 install -s -o root -g bin -m 4755 mail ${DESTDIR}/bin/mail
70 install -s -o root -g bin -m 4755 passwd ${DESTDIR}/bin/passwd
71 install -s -o root -g bin -m 4755 rcp ${DESTDIR}/bin/rcp
72 install -s -o root -g bin -m 4755 su ${DESTDIR}/bin/su
0981a644
KB
73 install -s -o bin -g operator -m 2755 df ${DESTDIR}/bin/df
74 install -s -o bin -g kmem -m 2755 ps ${DESTDIR}/bin/ps
75 install -s -o bin -g tty -m 2755 wall ${DESTDIR}/bin/wall
76 install -s -o bin -g tty -m 2755 write ${DESTDIR}/bin/write
77 install -s -o bin -g bin -m 755 expr ${DESTDIR}/bin/expr
78# directories and links
79854fee
KM
79 rm -f ${DESTDIR}/bin/[; ln ${DESTDIR}/bin/test ${DESTDIR}/bin/[
80 rm -f ${DESTDIR}/bin/e; ln ${DESTDIR}/bin/ed ${DESTDIR}/bin/e
8cf6e5dd
RC
81 rm -f ${DESTDIR}/bin/chfn; ln ${DESTDIR}/bin/passwd ${DESTDIR}/bin/chfn
82 rm -f ${DESTDIR}/bin/chsh; ln ${DESTDIR}/bin/passwd ${DESTDIR}/bin/chsh
79854fee 83
0981a644 84clean: FRC
c89291e2 85 rm -f ${BINS} expr.c a.out core *.s *.o errs
79854fee 86 for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
79854fee 87
0981a644 88depend: expr.c FRC
5d3e745d 89 for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} depend); done
851091a0 90 mkdep -p ${CFLAGS} ${SRCS}
0981a644
KB
91
92FRC:
79854fee
KM
93
94# Files listed in ${NSTD} have explicit make lines given below.
95
43ccba50 96expr: expr.o
0981a644 97 ${CC} ${CFLAGS} -o $@ expr.o
43ccba50 98
79854fee 99ps:
0981a644
KB
100 ${CC} ${CFLAGS} -o $@ ps.c -lm
101
102# DO NOT DELETE THIS LINE -- mkdep uses it.
103# DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
104
851091a0
KB
105ar: ar.c /usr/include/sys/param.h /usr/include/sys/types.h
106ar: /usr/include/signal.h /usr/include/machine/machparam.h
107ar: /usr/include/sys/stat.h /usr/include/sys/time.h /usr/include/time.h
108ar: /usr/include/stdio.h /usr/include/ar.h
109cat: cat.c /usr/include/stdio.h /usr/include/sys/types.h
110cat: /usr/include/sys/stat.h
111cc: cc.c /usr/include/sys/param.h /usr/include/sys/types.h
112cc: /usr/include/signal.h /usr/include/machine/machparam.h /usr/include/stdio.h
113cc: /usr/include/ctype.h /usr/include/signal.h /usr/include/sys/dir.h
114chgrp: chgrp.c /usr/include/stdio.h /usr/include/ctype.h
115chgrp: /usr/include/sys/types.h /usr/include/sys/stat.h /usr/include/grp.h
116chgrp: /usr/include/pwd.h /usr/include/sys/dir.h
117chmod: chmod.c /usr/include/stdio.h /usr/include/sys/types.h
118chmod: /usr/include/sys/stat.h /usr/include/sys/dir.h
119cmp: cmp.c /usr/include/sys/param.h /usr/include/sys/types.h
120cmp: /usr/include/signal.h /usr/include/machine/machparam.h
121cmp: /usr/include/sys/file.h /usr/include/sys/stat.h /usr/include/stdio.h
122cmp: /usr/include/ctype.h
123date: date.c /usr/include/sys/param.h /usr/include/sys/types.h
124date: /usr/include/signal.h /usr/include/machine/machparam.h
125date: /usr/include/sys/time.h /usr/include/time.h /usr/include/sys/file.h
126date: /usr/include/errno.h /usr/include/syslog.h /usr/include/utmp.h
127date: /usr/include/tzfile.h /usr/include/stdio.h /usr/include/ctype.h
128date: /usr/include/strings.h /usr/include/sys/socket.h
129date: /usr/include/netinet/in.h /usr/include/netdb.h
130date: /usr/include/protocols/timed.h
131dd: dd.c /usr/include/sys/file.h /usr/include/stdio.h /usr/include/signal.h
132du: du.c /usr/include/stdio.h /usr/include/sys/param.h /usr/include/sys/types.h
133du: /usr/include/signal.h /usr/include/machine/machparam.h
134du: /usr/include/sys/stat.h /usr/include/sys/dir.h
135echo: echo.c /usr/include/stdio.h
136ed: ed.c /usr/include/signal.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
137ed: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h /usr/include/setjmp.h
138expr: expr.c /usr/include/stdio.h
139grep: grep.c /usr/include/stdio.h /usr/include/ctype.h
140hostid: hostid.c /usr/include/sys/types.h /usr/include/stdio.h
141hostid: /usr/include/ctype.h /usr/include/netdb.h
142hostname: hostname.c /usr/include/stdio.h
143kill: kill.c /usr/include/signal.h /usr/include/ctype.h
144ld: ld.c /usr/include/sys/param.h /usr/include/sys/types.h
145ld: /usr/include/signal.h /usr/include/machine/machparam.h
146ld: /usr/include/signal.h /usr/include/stdio.h /usr/include/ctype.h
147ld: /usr/include/ar.h /usr/include/a.out.h /usr/include/sys/exec.h
148ld: /usr/include/ranlib.h /usr/include/sys/stat.h /usr/include/sys/file.h
149ln: ln.c /usr/include/stdio.h /usr/include/sys/types.h /usr/include/sys/stat.h
150ln: /usr/include/errno.h
151ls: ls.c /usr/include/sys/param.h /usr/include/sys/types.h
152ls: /usr/include/signal.h /usr/include/machine/machparam.h
153ls: /usr/include/sys/stat.h /usr/include/sys/dir.h /usr/include/stdio.h
154ls: /usr/include/sgtty.h /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
155ls: /usr/include/sys/ttydev.h /usr/include/pwd.h /usr/include/grp.h
156ls: /usr/include/utmp.h
157machine: machine.c /usr/include/sys/param.h /usr/include/sys/types.h
158machine: /usr/include/signal.h /usr/include/machine/machparam.h
159mkdir: mkdir.c /usr/include/stdio.h
160mt: mt.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/sys/types.h
161mt: /usr/include/sys/mtio.h /usr/include/sys/ioctl.h
162mt: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
163mt: /usr/include/tahoevba/cyreg.h
164nice: nice.c /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h
165nice: /usr/include/sys/resource.h
166nm: nm.c /usr/include/sys/types.h /usr/include/sys/file.h /usr/include/ar.h
167nm: /usr/include/stdio.h /usr/include/ctype.h /usr/include/a.out.h
168nm: /usr/include/sys/exec.h /usr/include/stab.h /usr/include/ranlib.h
169od: od.c /usr/include/stdio.h /usr/include/sys/types.h /usr/include/sys/stat.h
170pagesize: pagesize.c
171pr: pr.c /usr/include/stdio.h /usr/include/signal.h /usr/include/sys/types.h
172pr: /usr/include/sys/stat.h
173ps: ps.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/a.out.h
174ps: /usr/include/sys/exec.h /usr/include/pwd.h /usr/include/sys/param.h
175ps: /usr/include/sys/types.h /usr/include/signal.h
176ps: /usr/include/machine/machparam.h /usr/include/sys/ioctl.h
177ps: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
178ps: /usr/include/sys/tty.h /usr/include/sys/ttychars.h
179ps: /usr/include/sys/ttydev.h /usr/include/sys/dir.h /usr/include/sys/user.h
180ps: /usr/include/machine/pcb.h /usr/include/sys/dmap.h /usr/include/sys/time.h
181ps: /usr/include/time.h /usr/include/sys/resource.h /usr/include/sys/namei.h
182ps: /usr/include/sys/uio.h /usr/include/errno.h /usr/include/sys/proc.h
183ps: /usr/include/machine/pte.h /usr/include/sys/vm.h /usr/include/sys/vmparam.h
184ps: /usr/include/machine/vmparam.h /usr/include/sys/vmmac.h
185ps: /usr/include/sys/vmmeter.h /usr/include/sys/vmsystm.h
186ps: /usr/include/sys/text.h /usr/include/sys/stat.h /usr/include/sys/mbuf.h
187ps: /usr/include/math.h /usr/include/errno.h /usr/include/utmp.h
188pwd: pwd.c /usr/include/stdio.h /usr/include/sys/param.h
189pwd: /usr/include/sys/types.h /usr/include/signal.h
190pwd: /usr/include/machine/machparam.h
191rm: rm.c /usr/include/stdio.h /usr/include/sys/param.h /usr/include/sys/types.h
192rm: /usr/include/signal.h /usr/include/machine/machparam.h
193rm: /usr/include/sys/stat.h /usr/include/sys/dir.h /usr/include/sys/file.h
194rmail: rmail.c /usr/include/stdio.h /usr/include/sysexits.h
195rmdir: rmdir.c /usr/include/stdio.h
196size: size.c /usr/include/stdio.h /usr/include/a.out.h /usr/include/sys/exec.h
197stty: stty.c /usr/include/stdio.h /usr/include/sys/ioctl.h
198stty: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
199sync: sync.c
200tar: tar.c /usr/include/stdio.h /usr/include/sys/param.h
201tar: /usr/include/sys/types.h /usr/include/signal.h
202tar: /usr/include/machine/machparam.h /usr/include/sys/stat.h
203tar: /usr/include/sys/dir.h /usr/include/sys/ioctl.h
204tar: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
205tar: /usr/include/sys/mtio.h /usr/include/sys/time.h /usr/include/time.h
206tar: /usr/include/signal.h /usr/include/errno.h /usr/include/fcntl.h
207tee: tee.c /usr/include/signal.h /usr/include/sys/types.h
208tee: /usr/include/sys/stat.h /usr/include/errno.h
209test: test.c /usr/include/stdio.h /usr/include/sys/types.h
210test: /usr/include/sys/stat.h
211time: time.c /usr/include/stdio.h /usr/include/signal.h
212time: /usr/include/sys/types.h /usr/include/sys/time.h /usr/include/time.h
213time: /usr/include/sys/resource.h
214who: who.c /usr/include/stdio.h /usr/include/utmp.h /usr/include/pwd.h
215who: /usr/include/ctype.h
0981a644
KB
216
217# IF YOU PUT ANYTHING HERE IT WILL GO AWAY