BSD 4_3 release
[unix-history] / usr / src / usr.bin / Makefile
# Makefile 4.39 85/10/11
#
DESTDIR=
CFLAGS= -O
# Programs that live in subdirectories, and have makefiles of their own.
#
SUBDIR= at calendar dc diction diff3 efl eqn f77 find graph learn lex lint \
m4 neqn nroff plot prof ratfor refer spell struct tbl tip troff uucp \
xsend yacc
# Shell scripts that need only be installed and are never removed.
#
SCRIPT= install lorder nohup
# C programs that live in the current directory and do not need
# explicit make lines.
#
STD= ar11 basename cal cb checkeq col comm crypt deroff \
fgrep file join look mesg ptx ranlib \
rev sleep sort spline split sum tabs tc tk touch tr tsort tty \
uniq units
# C programs that live in the current directory and need explicit make lines.
# (make depend has special rules for these files)
#
NSTD= bc egrep
# Programs that must run set-group-id kmem.
#
KMEM= iostat
all: ${SUBDIR} ${STD} ${NSTD} ${KMEM}
${SUBDIR}: FRC
cd $@; make ${MFLAGS}
FRC:
bc egrep:
${YACC} ${YFLAGS} $@.y
${CC} -c ${CFLAGS} y.tab.c
mv y.tab.o $@.o
${CC} -o $@ $@.o
rm -f $@.o
${STD} ${KMEM}:
${CC} ${CFLAGS} -o $@ $@.c
install:
-for i in ${SUBDIR}; do \
(cd $$i; make ${MFLAGS} DESTDIR=${DESTDIR} install); done
-for i in ${SCRIPT}; do \
(install -c -m 555 $$i.sh ${DESTDIR}/usr/bin/$$i); done
-for i in ${STD} ${NSTD}; do \
(install -s $$i ${DESTDIR}/usr/bin/$$i); done
-for i in ${KMEM}; do \
(install -s -g kmem -m 2755 $$i ${DESTDIR}/usr/bin/$$i); done
install -c units.lib ${DESTDIR}/usr/lib/units
clean:
rm -f a.out core *.s *.o y.tab.c
for i in ${SUBDIR}; do (cd $$i; make ${MFLAGS} clean); done
rm -f ${STD} ${NSTD} ${KMEM}
# beware of the non-standard stuff for bc and egrep
depend:
for i in ${STD} ${KMEM}; do \
cc -M ${INCPATH} $$i.c | sed 's/\.o//' | \
awk ' { if ($$1 != prev) \
{ if (rec != "") print rec; rec = $$0; prev = $$1; } \
else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
else rec = rec " " $$2 } } \
END { print rec } ' >> makedep; done
for i in bc egrep; do \
cc -M ${INCPATH} $$i.y | sed 's/\.o//' | \
awk ' { if ($$1 != prev) \
{ if (rec != "") print rec; rec = $$0; prev = $$1; } \
else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
else rec = rec " " $$2 } } \
END { print rec } ' >> makedep; done
echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
echo '$$r makedep' >>eddep
echo 'w' >>eddep
cp Makefile Makefile.bak
ed - Makefile < eddep
rm eddep makedep
echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
echo '# see make depend above' >> Makefile
# Files listed in ${NSTD} have explicit make lines given below.
# DO NOT DELETE THIS LINE -- make depend uses it
ar11: ar11.c /usr/include/signal.h /usr/include/stdio.h
ar11: /usr/include/sys/types.h /usr/include/sys/stat.h
basename: basename.c /usr/include/stdio.h
cal: cal.c
cb: cb.c /usr/include/stdio.h
checkeq: checkeq.c /usr/include/stdio.h
col: col.c /usr/include/stdio.h
comm: comm.c /usr/include/stdio.h
crypt: crypt.c /usr/include/stdio.h
deroff: deroff.c /usr/include/stdio.h
fgrep: fgrep.c /usr/include/stdio.h /usr/include/ctype.h
fgrep: /usr/include/sys/param.h /usr/include/machine/machparam.h
fgrep: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/stat.h
file: file.c /usr/include/sys/param.h /usr/include/machine/machparam.h
file: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/stat.h
file: /usr/include/stdio.h /usr/include/ctype.h /usr/include/a.out.h
file: /usr/include/sys/exec.h
join: join.c /usr/include/stdio.h
look: look.c /usr/include/stdio.h /usr/include/ctype.h
mesg: mesg.c /usr/include/stdio.h /usr/include/sys/types.h
mesg: /usr/include/sys/stat.h
ptx: ptx.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/signal.h
ranlib: ranlib.c /usr/include/sys/types.h /usr/include/ar.h
ranlib: /usr/include/ranlib.h /usr/include/a.out.h /usr/include/sys/exec.h
ranlib: /usr/include/stdio.h
rev: rev.c /usr/include/stdio.h
sleep: sleep.c
sort: sort.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/signal.h
sort: /usr/include/sys/types.h /usr/include/sys/stat.h
spline: spline.c /usr/include/stdio.h /usr/include/math.h
split: split.c /usr/include/stdio.h
sum: sum.c /usr/include/stdio.h
tabs: tabs.c /usr/include/stdio.h /usr/include/sgtty.h /usr/include/sys/ioctl.h
tabs: /usr/include/sys/ttychars.h /usr/include/sys/ttydev.h
tc: tc.c /usr/include/signal.h /usr/include/stdio.h
tk: tk.c /usr/include/stdio.h /usr/include/signal.h
touch: touch.c /usr/include/stdio.h /usr/include/sys/types.h
touch: /usr/include/sys/stat.h
tr: tr.c /usr/include/stdio.h
tsort: tsort.c /usr/include/stdio.h
tty: tty.c
uniq: uniq.c /usr/include/stdio.h /usr/include/ctype.h
units: units.c /usr/include/stdio.h
iostat: iostat.c /usr/include/stdio.h /usr/include/ctype.h /usr/include/nlist.h
iostat: /usr/include/signal.h /usr/include/sys/types.h /usr/include/sys/file.h
iostat: /usr/include/sys/buf.h /usr/include/sys/dk.h
iostat: /usr/include/vaxuba/ubavar.h /usr/include/vaxmba/mbavar.h
bc: bc.y /usr/include/stdio.h
egrep: egrep.y /usr/include/stdio.h /usr/include/sys/types.h
egrep: /usr/include/sys/stat.h
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above