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