xref: /original-bsd/bin/Makefile (revision 65901293)
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.13 (Berkeley) 09/09/85
7#
8DESTDIR=
9CFLAGS=	-O
10
11# Programs that live in subdirectories, and have makefiles of their own.
12#
13SUBDIR=	adb as awk csh diff make sed sh tp
14
15# Shell scripts that need only be installed and are never removed.
16#
17SCRIPT=	false true
18
19# C programs that live in the current directory and do not need
20# explicit make lines.
21#
22STD=	ar cat cc chmod cmp date dd du echo ed grep hostid hostname \
23	kill ld ln ls mkdir mt nice nm od pagesize pr pwd rm rmail \
24	rmdir size stty sync tar tee test time wall who write
25
26# C programs that live in the current directory and need explicit make lines.
27#
28NSTD=	expr
29
30# Programs that must run setuid to root
31#
32SETUID=	chgrp df login mail passwd rcp su
33
34# Programs that must run set-group-id kmem.
35#
36KMEM=	ps
37
38all:	${SUBDIR} ${STD} ${NSTD} ${SETUID} ${KMEM} cp mv strip
39
40${SUBDIR}: FRC
41	cd $@; make ${MFLAGS}
42
43FRC:
44
45
46${STD} ${SETUID} mv cp strip:
47	${CC} ${CFLAGS} -o $@ $@.c
48
49# take care with cp, strip, and mv, install uses them
50install:
51	install -s cp ${DESTDIR}/bin/newcp; \
52		mv ${DESTDIR}/bin/newcp ${DESTDIR}/bin/cp;
53	install -s strip ${DESTDIR}/bin/newstrip; \
54		mv ${DESTDIR}/bin/newstrip ${DESTDIR}/bin/strip;
55	rm -f ${DESTDIR}/bin/mv; cp mv ${DESTDIR}/bin/mv; rm -f mv; \
56		strip ${DESTDIR}/bin/mv; chmod 755 ${DESTDIR}/bin/mv
57	-for i in ${SUBDIR}; do \
58		(cd $$i; make ${MFLAGS} DESTDIR=${DESTDIR} install); done
59	-for i in ${SCRIPT}; do (install -c $$i.sh ${DESTDIR}/bin/$$i); done
60	-for i in ${STD} ${NSTD}; do (install -s $$i ${DESTDIR}/bin/$$i); done
61	-for i in ${SETUID}; do \
62		(install -o root -m 4755 -s $$i ${DESTDIR}/bin/$$i); done
63	-for i in ${KMEM}; do \
64		(install -g kmem -m 2755 -s $$i ${DESTDIR}/bin/$$i); done
65	rm -f ${DESTDIR}/bin/[; ln ${DESTDIR}/bin/test ${DESTDIR}/bin/[
66	rm -f ${DESTDIR}/bin/e; ln ${DESTDIR}/bin/ed ${DESTDIR}/bin/e
67	rm -f ${DESTDIR}/bin/chfn; ln ${DESTDIR}/bin/passwd ${DESTDIR}/bin/chfn
68	rm -f ${DESTDIR}/bin/chsh; ln ${DESTDIR}/bin/passwd ${DESTDIR}/bin/chsh
69
70clean:
71	rm -f a.out core *.s *.o errs
72	for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
73	rm -f ${STD} ${NSTD} ${KMEM} ${SETUID} expr.c cp mv strip
74
75depend:
76	for i in ${STD} ${NSTD} ${KMEM} ${SETUID} cp mv strip; do \
77	    cc -M ${INCPATH} $$i.c | sed 's/\.o//' | \
78	    awk ' { if ($$1 != prev) \
79		{ if (rec != "") print rec; rec = $$0; prev = $$1; } \
80		else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
81		else rec = rec " " $$2 } } \
82		END { print rec } ' >> makedep; done
83	echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
84	echo '$$r makedep' >>eddep
85	echo 'w' >>eddep
86	cp Makefile Makefile.bak
87	ed - Makefile < eddep
88	rm eddep makedep
89	echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
90	echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
91	echo '# see make depend above' >> Makefile
92
93# Files listed in ${NSTD} have explicit make lines given below.
94
95expr: expr.o
96	cc ${CFLAGS} -o expr expr.o
97
98ps:
99	cc ${CFLAGS} -o ps ps.c -lm
100
101# DO NOT DELETE THIS LINE -- make depend uses it
102
103ar: ar.c /usr/include/sys/param.h /usr/include/machine/machparam.h
104ar: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/stat.h
105ar: /usr/include/sys/time.h /usr/include/time.h /usr/include/stdio.h
106ar: /usr/include/ar.h
107cat: cat.c /usr/include/stdio.h /usr/include/sys/types.h
108cat: /usr/include/sys/stat.h
109cc: cc.c /usr/include/sys/param.h /usr/include/machine/machparam.h
110cc: /usr/include/signal.h /usr/include/sys/types.h /usr/include/stdio.h
111cc: /usr/include/ctype.h /usr/include/signal.h /usr/include/sys/dir.h
112chmod: chmod.c /usr/include/stdio.h /usr/include/sys/types.h
113chmod: /usr/include/sys/stat.h /usr/include/sys/dir.h
114cmp: cmp.c /usr/include/stdio.h /usr/include/ctype.h
115date: date.c /usr/include/sys/param.h /usr/include/machine/machparam.h
116date: /usr/include/signal.h /usr/include/sys/types.h /usr/include/stdio.h
117date: /usr/include/sys/time.h /usr/include/time.h /usr/include/sys/socket.h
118date: /usr/include/netinet/in.h /usr/include/netdb.h
119date: /usr/include/protocols/timed.h /usr/include/sys/file.h
120date: /usr/include/errno.h /usr/include/syslog.h /usr/include/utmp.h
121dd: dd.c /usr/include/stdio.h /usr/include/signal.h
122du: du.c /usr/include/stdio.h /usr/include/sys/param.h
123du: /usr/include/machine/machparam.h /usr/include/signal.h
124du: /usr/include/sys/types.h /usr/include/sys/stat.h /usr/include/sys/dir.h
125echo: echo.c /usr/include/stdio.h
126ed: ed.c /usr/include/signal.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
127ed: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h /usr/include/setjmp.h
128grep: grep.c /usr/include/stdio.h /usr/include/ctype.h
129hostid: hostid.c /usr/include/stdio.h
130hostname: hostname.c /usr/include/stdio.h
131kill: kill.c /usr/include/signal.h /usr/include/ctype.h
132ld: ld.c /usr/include/sys/param.h /usr/include/machine/machparam.h
133ld: /usr/include/signal.h /usr/include/sys/types.h /usr/include/signal.h
134ld: /usr/include/stdio.h /usr/include/ctype.h /usr/include/ar.h
135ld: /usr/include/a.out.h /usr/include/sys/exec.h /usr/include/ranlib.h
136ld: /usr/include/sys/stat.h /usr/include/sys/file.h
137ln: ln.c /usr/include/stdio.h /usr/include/sys/types.h /usr/include/sys/stat.h
138ln: /usr/include/errno.h
139ls: ls.c /usr/include/sys/param.h /usr/include/machine/machparam.h
140ls: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/stat.h
141ls: /usr/include/sys/dir.h /usr/include/stdio.h /usr/include/sgtty.h
142ls: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
143ls: /usr/include/sys/ttydev.h /usr/include/pwd.h /usr/include/grp.h
144ls: /usr/include/utmp.h
145mkdir: mkdir.c /usr/include/stdio.h
146mt: mt.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/sys/types.h
147mt: /usr/include/sys/mtio.h /usr/include/sys/ioctl.h
148mt: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
149mt: /usr/include/vaxmba/mtreg.h /usr/include/vaxmba/htreg.h
150mt: /usr/include/vaxuba/utreg.h /usr/include/vaxuba/tmreg.h
151mt: /usr/include/vaxuba/tsreg.h
152nice: nice.c /usr/include/stdio.h /usr/include/sys/time.h /usr/include/time.h
153nice: /usr/include/sys/resource.h
154nm: nm.c /usr/include/sys/types.h /usr/include/ar.h /usr/include/stdio.h
155nm: /usr/include/ctype.h /usr/include/a.out.h /usr/include/sys/exec.h
156nm: /usr/include/stab.h /usr/include/sys/stat.h
157od: od.c /usr/include/stdio.h /usr/include/sys/types.h /usr/include/sys/stat.h
158pagesize: pagesize.c
159pr: pr.c /usr/include/stdio.h /usr/include/signal.h /usr/include/sys/types.h
160pr: /usr/include/sys/stat.h
161pwd: pwd.c /usr/include/stdio.h /usr/include/sys/param.h
162pwd: /usr/include/machine/machparam.h /usr/include/signal.h
163pwd: /usr/include/sys/types.h
164rm: rm.c /usr/include/stdio.h /usr/include/sys/param.h
165rm: /usr/include/machine/machparam.h /usr/include/signal.h
166rm: /usr/include/sys/types.h /usr/include/sys/stat.h /usr/include/sys/dir.h
167rm: /usr/include/sys/file.h
168rmail: rmail.c /usr/include/stdio.h /usr/include/sysexits.h
169rmdir: rmdir.c /usr/include/stdio.h
170size: size.c /usr/include/stdio.h /usr/include/a.out.h /usr/include/sys/exec.h
171stty: stty.c /usr/include/stdio.h /usr/include/sys/ioctl.h
172stty: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
173sync: sync.c
174tar: tar.c /usr/include/stdio.h /usr/include/sys/param.h
175tar: /usr/include/machine/machparam.h /usr/include/signal.h
176tar: /usr/include/sys/types.h /usr/include/sys/stat.h /usr/include/sys/dir.h
177tar: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
178tar: /usr/include/sys/ttydev.h /usr/include/sys/mtio.h /usr/include/sys/time.h
179tar: /usr/include/time.h /usr/include/signal.h /usr/include/errno.h
180tee: tee.c /usr/include/signal.h /usr/include/sys/types.h
181tee: /usr/include/sys/stat.h /usr/include/errno.h
182test: test.c /usr/include/stdio.h /usr/include/sys/types.h
183test: /usr/include/sys/stat.h
184time: time.c /usr/include/stdio.h /usr/include/signal.h
185time: /usr/include/sys/types.h /usr/include/sys/time.h /usr/include/time.h
186time: /usr/include/sys/resource.h
187wall: wall.c /usr/include/stdio.h /usr/include/utmp.h /usr/include/errno.h
188wall: /usr/include/signal.h /usr/include/sys/time.h /usr/include/time.h
189wall: /usr/include/fcntl.h /usr/include/sys/types.h /usr/include/sys/stat.h
190who: who.c /usr/include/stdio.h /usr/include/utmp.h /usr/include/pwd.h
191who: /usr/include/ctype.h
192write: write.c /usr/include/stdio.h /usr/include/ctype.h
193write: /usr/include/sys/types.h /usr/include/sys/stat.h /usr/include/signal.h
194write: /usr/include/utmp.h /usr/include/sys/time.h /usr/include/time.h
195expr: expr.c /usr/include/stdio.h
196ps: ps.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/nlist.h
197ps: /usr/include/pwd.h /usr/include/sys/param.h
198ps: /usr/include/machine/machparam.h /usr/include/signal.h
199ps: /usr/include/sys/types.h /usr/include/sys/ioctl.h
200ps: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
201ps: /usr/include/sys/tty.h /usr/include/sys/ttychars.h
202ps: /usr/include/sys/ttydev.h /usr/include/sys/dir.h /usr/include/sys/user.h
203ps: /usr/include/machine/pcb.h /usr/include/sys/dmap.h /usr/include/sys/time.h
204ps: /usr/include/time.h /usr/include/sys/resource.h /usr/include/sys/namei.h
205ps: /usr/include/sys/uio.h /usr/include/errno.h /usr/include/sys/proc.h
206ps: /usr/include/machine/pte.h /usr/include/sys/vm.h /usr/include/sys/vmparam.h
207ps: /usr/include/machine/vmparam.h /usr/include/sys/vmmac.h
208ps: /usr/include/sys/vmmeter.h /usr/include/sys/vmsystm.h
209ps: /usr/include/sys/text.h /usr/include/sys/stat.h /usr/include/sys/mbuf.h
210ps: /usr/include/math.h /usr/include/errno.h
211chgrp: chgrp.c /usr/include/stdio.h /usr/include/ctype.h
212chgrp: /usr/include/sys/types.h /usr/include/sys/stat.h /usr/include/grp.h
213chgrp: /usr/include/pwd.h /usr/include/sys/dir.h
214df: df.c /usr/include/sys/param.h /usr/include/machine/machparam.h
215df: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/fs.h
216df: /usr/include/sys/stat.h /usr/include/errno.h /usr/include/stdio.h
217df: /usr/include/fstab.h /usr/include/mtab.h
218login: login.c /usr/include/sys/param.h /usr/include/machine/machparam.h
219login: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/quota.h
220login: /usr/include/sys/stat.h /usr/include/sys/time.h /usr/include/time.h
221login: /usr/include/sys/resource.h /usr/include/sys/file.h /usr/include/sgtty.h
222login: /usr/include/sys/ioctl.h /usr/include/sys/ttychars.h
223login: /usr/include/sys/ttydev.h /usr/include/utmp.h /usr/include/signal.h
224login: /usr/include/pwd.h /usr/include/stdio.h /usr/include/lastlog.h
225login: /usr/include/errno.h /usr/include/ttyent.h /usr/include/syslog.h
226mail: mail.c /usr/include/sys/types.h /usr/include/sys/stat.h
227mail: /usr/include/sys/file.h /usr/include/ctype.h /usr/include/stdio.h
228mail: /usr/include/pwd.h /usr/include/utmp.h /usr/include/signal.h
229mail: /usr/include/setjmp.h /usr/include/sysexits.h /usr/include/sys/socket.h
230mail: /usr/include/netinet/in.h /usr/include/netdb.h
231passwd: passwd.c /usr/include/sys/types.h /usr/include/sys/file.h
232passwd: /usr/include/sys/time.h /usr/include/time.h /usr/include/sys/resource.h
233passwd: /usr/include/stdio.h /usr/include/signal.h /usr/include/pwd.h
234passwd: /usr/include/ndbm.h /usr/include/errno.h /usr/include/strings.h
235passwd: /usr/include/ctype.h
236rcp: rcp.c /usr/include/sys/param.h /usr/include/machine/machparam.h
237rcp: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/stat.h
238rcp: /usr/include/sys/time.h /usr/include/time.h /usr/include/sys/ioctl.h
239rcp: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
240rcp: /usr/include/netinet/in.h /usr/include/stdio.h /usr/include/signal.h
241rcp: /usr/include/pwd.h /usr/include/ctype.h /usr/include/netdb.h
242rcp: /usr/include/errno.h /usr/include/sys/dir.h
243su: su.c /usr/include/stdio.h /usr/include/pwd.h /usr/include/grp.h
244su: /usr/include/syslog.h /usr/include/sys/types.h /usr/include/sys/time.h
245su: /usr/include/time.h /usr/include/sys/resource.h
246cp: cp.c /usr/include/stdio.h /usr/include/sys/param.h
247cp: /usr/include/machine/machparam.h /usr/include/signal.h
248cp: /usr/include/sys/types.h /usr/include/sys/stat.h /usr/include/sys/dir.h
249cp: /usr/include/sys/time.h /usr/include/time.h
250mv: mv.c /usr/include/sys/param.h /usr/include/machine/machparam.h
251mv: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/stat.h
252mv: /usr/include/sys/time.h /usr/include/time.h /usr/include/stdio.h
253mv: /usr/include/sys/dir.h /usr/include/errno.h /usr/include/signal.h
254strip: strip.c /usr/include/a.out.h /usr/include/sys/exec.h
255strip: /usr/include/signal.h /usr/include/stdio.h /usr/include/sys/file.h
256# DEPENDENCIES MUST END AT END OF FILE
257# IF YOU PUT STUFF HERE IT WILL GO AWAY
258# see make depend above
259