Commit | Line | Data |
---|---|---|
9e78675a C |
1 | # Makefile 4.39 85/10/11 |
2 | # | |
3 | DESTDIR= | |
4 | CFLAGS= -O | |
5 | ||
6 | # Programs that live in subdirectories, and have makefiles of their own. | |
7 | # | |
8 | SUBDIR= at calendar dc diction diff3 efl eqn f77 find graph learn lex lint \ | |
9 | m4 neqn nroff plot prof ratfor refer spell struct tbl tip troff uucp \ | |
10 | xsend yacc | |
11 | ||
12 | # Shell scripts that need only be installed and are never removed. | |
13 | # | |
14 | SCRIPT= install lorder nohup | |
15 | ||
16 | # C programs that live in the current directory and do not need | |
17 | # explicit make lines. | |
18 | # | |
19 | STD= ar11 basename cal cb checkeq col comm crypt deroff \ | |
20 | fgrep file join look mesg ptx ranlib \ | |
21 | rev sleep sort spline split sum tabs tc tk touch tr tsort tty \ | |
22 | uniq units | |
23 | ||
24 | # C programs that live in the current directory and need explicit make lines. | |
25 | # (make depend has special rules for these files) | |
26 | # | |
27 | NSTD= bc egrep | |
28 | ||
29 | # Programs that must run set-group-id kmem. | |
30 | # | |
31 | KMEM= iostat | |
32 | ||
33 | all: ${SUBDIR} ${STD} ${NSTD} ${KMEM} | |
34 | ||
35 | ${SUBDIR}: FRC | |
36 | cd $@; make ${MFLAGS} | |
37 | ||
38 | FRC: | |
39 | ||
40 | bc egrep: | |
41 | ${YACC} ${YFLAGS} $@.y | |
42 | ${CC} -c ${CFLAGS} y.tab.c | |
43 | mv y.tab.o $@.o | |
44 | ${CC} -o $@ $@.o | |
45 | rm -f $@.o | |
46 | ||
47 | ${STD} ${KMEM}: | |
48 | ${CC} ${CFLAGS} -o $@ $@.c | |
49 | ||
50 | install: | |
51 | -for i in ${SUBDIR}; do \ | |
52 | (cd $$i; make ${MFLAGS} DESTDIR=${DESTDIR} install); done | |
53 | -for i in ${SCRIPT}; do \ | |
54 | (install -c -m 555 $$i.sh ${DESTDIR}/usr/bin/$$i); done | |
55 | -for i in ${STD} ${NSTD}; do \ | |
56 | (install -s $$i ${DESTDIR}/usr/bin/$$i); done | |
57 | -for i in ${KMEM}; do \ | |
58 | (install -s -g kmem -m 2755 $$i ${DESTDIR}/usr/bin/$$i); done | |
59 | install -c units.lib ${DESTDIR}/usr/lib/units | |
60 | ||
61 | clean: | |
62 | rm -f a.out core *.s *.o y.tab.c | |
63 | for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done | |
64 | rm -f ${STD} ${NSTD} ${KMEM} | |
65 | ||
66 | # beware of the non-standard stuff for bc and egrep | |
67 | depend: | |
68 | for i in ${STD} ${KMEM}; do \ | |
69 | cc -M ${INCPATH} $$i.c | sed 's/\.o//' | \ | |
70 | awk ' { if ($$1 != prev) \ | |
71 | { if (rec != "") print rec; rec = $$0; prev = $$1; } \ | |
72 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ | |
73 | else rec = rec " " $$2 } } \ | |
74 | END { print rec } ' >> makedep; done | |
75 | for i in bc egrep; do \ | |
76 | cc -M ${INCPATH} $$i.y | sed 's/\.o//' | \ | |
77 | awk ' { if ($$1 != prev) \ | |
78 | { if (rec != "") print rec; rec = $$0; prev = $$1; } \ | |
79 | else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \ | |
80 | else rec = rec " " $$2 } } \ | |
81 | END { print rec } ' >> makedep; done | |
82 | echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep | |
83 | echo '$$r makedep' >>eddep | |
84 | echo 'w' >>eddep | |
85 | cp Makefile Makefile.bak | |
86 | ed - Makefile < eddep | |
87 | rm eddep makedep | |
88 | echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile | |
89 | echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile | |
90 | echo '# see make depend above' >> Makefile | |
91 | ||
92 | # Files listed in ${NSTD} have explicit make lines given below. | |
93 | ||
94 | # DO NOT DELETE THIS LINE -- make depend uses it | |
95 | ||
96 | ar11: ar11.c /usr/include/signal.h /usr/include/stdio.h | |
97 | ar11: /usr/include/sys/types.h /usr/include/sys/stat.h | |
98 | basename: basename.c /usr/include/stdio.h | |
99 | cal: cal.c | |
100 | cb: cb.c /usr/include/stdio.h | |
101 | checkeq: checkeq.c /usr/include/stdio.h | |
102 | col: col.c /usr/include/stdio.h | |
103 | comm: comm.c /usr/include/stdio.h | |
104 | crypt: crypt.c /usr/include/stdio.h | |
105 | deroff: deroff.c /usr/include/stdio.h | |
106 | fgrep: fgrep.c /usr/include/stdio.h /usr/include/ctype.h | |
107 | fgrep: /usr/include/sys/param.h /usr/include/machine/machparam.h | |
108 | fgrep: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/stat.h | |
109 | file: file.c /usr/include/sys/param.h /usr/include/machine/machparam.h | |
110 | file: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/stat.h | |
111 | file: /usr/include/stdio.h /usr/include/ctype.h /usr/include/a.out.h | |
112 | file: /usr/include/sys/exec.h | |
113 | join: join.c /usr/include/stdio.h | |
114 | look: look.c /usr/include/stdio.h /usr/include/ctype.h | |
115 | mesg: mesg.c /usr/include/stdio.h /usr/include/sys/types.h | |
116 | mesg: /usr/include/sys/stat.h | |
117 | ptx: ptx.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/signal.h | |
118 | ranlib: ranlib.c /usr/include/sys/types.h /usr/include/ar.h | |
119 | ranlib: /usr/include/ranlib.h /usr/include/a.out.h /usr/include/sys/exec.h | |
120 | ranlib: /usr/include/stdio.h | |
121 | rev: rev.c /usr/include/stdio.h | |
122 | sleep: sleep.c | |
123 | sort: sort.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/signal.h | |
124 | sort: /usr/include/sys/types.h /usr/include/sys/stat.h | |
125 | spline: spline.c /usr/include/stdio.h /usr/include/math.h | |
126 | split: split.c /usr/include/stdio.h | |
127 | sum: sum.c /usr/include/stdio.h | |
128 | tabs: tabs.c /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h | |
129 | tabs: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h | |
130 | tc: tc.c /usr/include/signal.h /usr/include/stdio.h | |
131 | tk: tk.c /usr/include/stdio.h /usr/include/signal.h | |
132 | touch: touch.c /usr/include/stdio.h /usr/include/sys/types.h | |
133 | touch: /usr/include/sys/stat.h | |
134 | tr: tr.c /usr/include/stdio.h | |
135 | tsort: tsort.c /usr/include/stdio.h | |
136 | tty: tty.c | |
137 | uniq: uniq.c /usr/include/stdio.h /usr/include/ctype.h | |
138 | units: units.c /usr/include/stdio.h | |
139 | iostat: iostat.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/nlist.h | |
140 | iostat: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/file.h | |
141 | iostat: /usr/include/sys/buf.h /usr/include/sys/dk.h | |
142 | iostat: /usr/include/vaxuba/ubavar.h /usr/include/vaxmba/mbavar.h | |
143 | bc: bc.y /usr/include/stdio.h | |
144 | egrep: egrep.y /usr/include/stdio.h /usr/include/sys/types.h | |
145 | egrep: /usr/include/sys/stat.h | |
146 | # DEPENDENCIES MUST END AT END OF FILE | |
147 | # IF YOU PUT STUFF HERE IT WILL GO AWAY | |
148 | # see make depend above |