add copyright
[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#
6# @(#)Makefile 5.1 (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
79854fee
KM
19# C programs that live in the current directory and do not need
20# explicit make lines.
21#
d89146d3 22STD= ar cat cc chgrp chmod cmp date dd df du echo ed expr \
d497fe9f 23 grep hostid hostname kill ld ln login ls mail mkdir mt nice \
d89146d3 24 nm od pagesize passwd pr pwd rm rmail rmdir size strip stty su sync \
3e7f9b9e 25 tar tee test time wall who write
ed4eaf26 26
e4cc2084
RC
27# C programs that live in the current directory and need explicit make lines.
28#
29NSTD= ps
30
79854fee
KM
31# Programs that must run setuid to root
32#
66a05c49 33SETUID= chgrp df login mail passwd su
ed4eaf26 34
e4cc2084 35# Programs that must run set-group-id kmem.
79854fee 36#
e4cc2084 37KMEM= ps
79854fee 38
3e7f9b9e 39all: ${SUBDIR} ${STD} ${NSTD} cp mv
79854fee
KM
40
41${SUBDIR}: /tmp
42 cd $@; make ${MFLAGS}
43
3e7f9b9e 44${STD} mv cp:
ff17818f 45 ${CC} ${CFLAGS} -o $@ $@.c
79854fee 46
d497fe9f 47# take care with cp and mv, install uses them
79854fee 48install:
5ef6ff74
SL
49 install -s cp ${DESTDIR}/bin/newcp; \
50 mv ${DESTDIR}/bin/newcp ${DESTDIR}/bin/cp;
56f5b7b8
SL
51 rm -f ${DESTDIR}/bin/mv; cp mv ${DESTDIR}/bin/mv; rm -f mv; \
52 strip ${DESTDIR}/bin/mv
79854fee
KM
53 for i in ${SUBDIR}; do \
54 (cd $$i; make ${MFLAGS} DESTDIR=${DESTDIR} install); done
55 for i in ${SCRIPT}; do (install -c $$i.sh ${DESTDIR}/bin/$$i); done
5ef6ff74 56 for i in ${STD} ${NSTD}; do (install -s $$i ${DESTDIR}/bin/$$i); done
79854fee
KM
57 for i in ${SETUID}; do (chown root ${DESTDIR}/bin/$$i; \
58 chmod 4755 ${DESTDIR}/bin/$$i); done
e4cc2084
RC
59 for i in ${KMEM}; do (chgrp kmem ${DESTDIR}/bin/$$i; \
60 chmod 2755 ${DESTDIR}/bin/$$i); done
79854fee
KM
61 rm -f ${DESTDIR}/bin/[; ln ${DESTDIR}/bin/test ${DESTDIR}/bin/[
62 rm -f ${DESTDIR}/bin/e; ln ${DESTDIR}/bin/ed ${DESTDIR}/bin/e
8cf6e5dd
RC
63 rm -f ${DESTDIR}/bin/chfn; ln ${DESTDIR}/bin/passwd ${DESTDIR}/bin/chfn
64 rm -f ${DESTDIR}/bin/chsh; ln ${DESTDIR}/bin/passwd ${DESTDIR}/bin/chsh
79854fee
KM
65
66clean:
67 rm -f a.out core *.s *.o errs
68 for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
69 rm -f ${STD} ${NSTD} expr.c
70
71depend:
72 cat </dev/null >x.c
73 for i in ${STD} ${NSTD}; do \
74 (echo $$i: $$i.c >>makedep; \
75 /bin/grep '^#[ ]*include' x.c $$i.c | sed \
76 -e 's,<\(.*\)>,"/usr/include/\1",' \
77 -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
78 -e 's/\.c//' >>makedep); done
79 echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
80 echo '$$r makedep' >>eddep
81 echo 'w' >>eddep
82 cp Makefile Makefile.bak
83 ed - Makefile < eddep
84 rm eddep makedep x.c
85 echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
86 echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
87 echo '# see make depend above' >> Makefile
88
89# Files listed in ${NSTD} have explicit make lines given below.
90
91ps:
92 cc ${CFLAGS} -o ps ps.c -lm
93
94# DO NOT DELETE THIS LINE -- make depend uses it
95
96ar: ar.c
79854fee
KM
97ar: /usr/include/sys/types.h
98ar: /usr/include/sys/stat.h
72cf2549
BJ
99ar: /usr/include/sys/time.h
100ar: /usr/include/stdio.h
79854fee
KM
101ar: /usr/include/ar.h
102ar: /usr/include/signal.h
103cat: cat.c
104cat: /usr/include/stdio.h
105cat: /usr/include/sys/types.h
106cat: /usr/include/sys/stat.h
107cc: cc.c
108cc: /usr/include/sys/param.h
109cc: /usr/include/stdio.h
110cc: /usr/include/ctype.h
111cc: /usr/include/signal.h
72cf2549 112cc: /usr/include/sys/dir.h
79854fee
KM
113chgrp: chgrp.c
114chgrp: /usr/include/stdio.h
115chgrp: /usr/include/ctype.h
116chgrp: /usr/include/sys/types.h
117chgrp: /usr/include/sys/stat.h
118chgrp: /usr/include/grp.h
119chgrp: /usr/include/pwd.h
120chmod: chmod.c
121chmod: /usr/include/stdio.h
122chmod: /usr/include/sys/types.h
123chmod: /usr/include/sys/stat.h
124cmp: cmp.c
125cmp: /usr/include/stdio.h
126cmp: /usr/include/ctype.h
79854fee
KM
127date: date.c
128date: /usr/include/stdio.h
72cf2549 129date: /usr/include/sys/time.h
79854fee
KM
130date: /usr/include/utmp.h
131dd: dd.c
132dd: /usr/include/stdio.h
133dd: /usr/include/signal.h
134df: df.c
79854fee
KM
135df: /usr/include/sys/param.h
136df: /usr/include/sys/fs.h
137df: /usr/include/sys/stat.h
72cf2549
BJ
138df: /usr/include/stdio.h
139df: /usr/include/fstab.h
140df: /usr/include/mtab.h
79854fee
KM
141du: du.c
142du: /usr/include/stdio.h
143du: /usr/include/sys/param.h
144du: /usr/include/sys/stat.h
72cf2549 145du: /usr/include/sys/dir.h
79854fee
KM
146echo: echo.c
147echo: /usr/include/stdio.h
148ed: ed.c
149ed: /usr/include/signal.h
150ed: /usr/include/sgtty.h
151ed: /usr/include/setjmp.h
152expr: expr.c
153expr: /usr/include/stdio.h
154grep: grep.c
155grep: /usr/include/stdio.h
156grep: /usr/include/ctype.h
56f5b7b8 157hostid: hostid.c
79854fee
KM
158hostname: hostname.c
159hostname: /usr/include/stdio.h
160kill: kill.c
161kill: /usr/include/signal.h
162kill: /usr/include/ctype.h
163ld: ld.c
164ld: /usr/include/sys/types.h
165ld: /usr/include/signal.h
166ld: /usr/include/stdio.h
167ld: /usr/include/ctype.h
168ld: /usr/include/ar.h
169ld: /usr/include/a.out.h
170ld: /usr/include/ranlib.h
72cf2549 171ld: /usr/include/sys/stat.h
79854fee
KM
172ln: ln.c
173ln: /usr/include/stdio.h
174ln: /usr/include/sys/types.h
175ln: /usr/include/sys/stat.h
56f5b7b8 176ln: /usr/include/errno.h
79854fee 177login: login.c
72cf2549 178login: /usr/include/sys/param.h
56f5b7b8
SL
179login: /usr/include/sys/quota.h
180login: /usr/include/sys/stat.h
181login: /usr/include/sys/time.h
182login: /usr/include/sys/resource.h
79854fee
KM
183login: /usr/include/sgtty.h
184login: /usr/include/utmp.h
185login: /usr/include/signal.h
186login: /usr/include/pwd.h
187login: /usr/include/stdio.h
79854fee 188login: /usr/include/lastlog.h
56f5b7b8 189login: /usr/include/errno.h
79854fee
KM
190ls: ls.c
191ls: /usr/include/sys/param.h
192ls: /usr/include/sys/stat.h
72cf2549 193ls: /usr/include/sys/dir.h
79854fee
KM
194ls: /usr/include/stdio.h
195ls: /usr/include/sgtty.h
196ls: /usr/include/pwd.h
197ls: /usr/include/grp.h
198ls: /usr/include/utmp.h
199mail: mail.c
200mail: /usr/include/ctype.h
201mail: /usr/include/stdio.h
202mail: /usr/include/pwd.h
203mail: /usr/include/utmp.h
204mail: /usr/include/signal.h
205mail: /usr/include/sys/types.h
206mail: /usr/include/sys/stat.h
207mail: /usr/include/setjmp.h
208mail: /usr/include/sysexits.h
209mail: /usr/include/sys/socket.h
d89146d3 210mail: /usr/include/netinet/in.h
56f5b7b8 211mail: /usr/include/netdb.h
79854fee 212mkdir: mkdir.c
79854fee 213mkdir: /usr/include/stdio.h
79854fee
KM
214mt: mt.c
215mt: /usr/include/stdio.h
216mt: /usr/include/ctype.h
217mt: /usr/include/sys/types.h
218mt: /usr/include/sys/mtio.h
219mt: /usr/include/sys/ioctl.h
df0c1398
SL
220mt: /usr/include/vaxmba/mtreg.h
221mt: /usr/include/vaxmba/htreg.h
222mt: /usr/include/vaxuba/utreg.h
223mt: /usr/include/vaxuba/tmreg.h
224mt: /usr/include/vaxuba/tsreg.h
79854fee
KM
225nice: nice.c
226nice: /usr/include/stdio.h
56f5b7b8
SL
227nice: /usr/include/sys/time.h
228nice: /usr/include/sys/resource.h
79854fee
KM
229nm: nm.c
230nm: /usr/include/sys/types.h
231nm: /usr/include/ar.h
232nm: /usr/include/stdio.h
233nm: /usr/include/ctype.h
234nm: /usr/include/a.out.h
235nm: /usr/include/stab.h
72cf2549 236nm: /usr/include/sys/stat.h
79854fee
KM
237od: od.c
238od: /usr/include/stdio.h
56f5b7b8
SL
239od: /usr/include/sys/types.h
240od: /usr/include/sys/stat.h
241pagesize: pagesize.c
79854fee 242passwd: passwd.c
56f5b7b8 243passwd: /usr/include/sys/file.h
79854fee
KM
244passwd: /usr/include/stdio.h
245passwd: /usr/include/signal.h
246passwd: /usr/include/pwd.h
56f5b7b8 247passwd: /usr/include/errno.h
79854fee
KM
248pr: pr.c
249pr: /usr/include/stdio.h
250pr: /usr/include/signal.h
251pr: /usr/include/sys/types.h
252pr: /usr/include/sys/stat.h
253pwd: pwd.c
254pwd: /usr/include/stdio.h
255pwd: /usr/include/sys/param.h
79854fee
KM
256rm: rm.c
257rm: /usr/include/stdio.h
258rm: /usr/include/sys/param.h
259rm: /usr/include/sys/stat.h
72cf2549 260rm: /usr/include/sys/dir.h
79854fee
KM
261rmail: rmail.c
262rmail: /usr/include/stdio.h
56f5b7b8 263rmail: /usr/include/sysexits.h
79854fee 264rmdir: rmdir.c
79854fee
KM
265rmdir: /usr/include/stdio.h
266size: size.c
267size: /usr/include/stdio.h
268size: /usr/include/a.out.h
269strip: strip.c
270strip: /usr/include/a.out.h
271strip: /usr/include/signal.h
dda7c879
SL
272strip: /usr/include/stdio.h
273strip: /usr/include/sys/file.h
79854fee
KM
274stty: stty.c
275stty: /usr/include/stdio.h
276stty: /usr/include/sgtty.h
277su: su.c
278su: /usr/include/stdio.h
279su: /usr/include/pwd.h
72cf2549
BJ
280su: /usr/include/sys/types.h
281su: /usr/include/sys/time.h
282su: /usr/include/sys/resource.h
79854fee
KM
283sync: sync.c
284tar: tar.c
285tar: /usr/include/stdio.h
286tar: /usr/include/sys/param.h
287tar: /usr/include/sys/stat.h
56f5b7b8 288tar: /usr/include/sys/dir.h
79854fee
KM
289tar: /usr/include/sys/ioctl.h
290tar: /usr/include/sys/mtio.h
72cf2549 291tar: /usr/include/sys/time.h
79854fee 292tar: /usr/include/signal.h
56f5b7b8 293tar: /usr/include/errno.h
79854fee
KM
294tee: tee.c
295tee: /usr/include/signal.h
296tee: /usr/include/sys/types.h
297tee: /usr/include/sys/stat.h
298tee: /usr/include/errno.h
79854fee
KM
299test: test.c
300test: /usr/include/stdio.h
301test: /usr/include/sys/types.h
302test: /usr/include/sys/stat.h
72cf2549
BJ
303time: time.c
304time: /usr/include/stdio.h
305time: /usr/include/signal.h
306time: /usr/include/sys/types.h
307time: /usr/include/sys/time.h
308time: /usr/include/sys/resource.h
79854fee
KM
309wall: wall.c
310wall: /usr/include/stdio.h
311wall: /usr/include/utmp.h
72cf2549 312wall: /usr/include/sys/time.h
79854fee
KM
313wall: /usr/include/signal.h
314who: who.c
315who: /usr/include/stdio.h
316who: /usr/include/utmp.h
317who: /usr/include/pwd.h
318who: /usr/include/ctype.h
319write: write.c
320write: /usr/include/stdio.h
321write: /usr/include/sys/types.h
322write: /usr/include/sys/stat.h
323write: /usr/include/signal.h
324write: /usr/include/utmp.h
72cf2549 325write: /usr/include/sys/time.h
79854fee
KM
326ps: ps.c
327ps: /usr/include/stdio.h
328ps: /usr/include/ctype.h
329ps: /usr/include/nlist.h
330ps: /usr/include/pwd.h
331ps: /usr/include/sys/param.h
332ps: /usr/include/sys/tty.h
56f5b7b8 333ps: /usr/include/sys/dir.h
79854fee
KM
334ps: /usr/include/sys/user.h
335ps: /usr/include/sys/proc.h
0bc29a7d 336ps: /usr/include/machine/pte.h
79854fee
KM
337ps: /usr/include/sys/vm.h
338ps: /usr/include/sys/text.h
339ps: /usr/include/sys/stat.h
56f5b7b8 340ps: /usr/include/sys/mbuf.h
79854fee 341ps: /usr/include/math.h
dda7c879
SL
342# DEPENDENCIES MUST END AT END OF FILE
343# IF YOU PUT STUFF HERE IT WILL GO AWAY
344# see make depend above