Ultrix-3.1/src/cmd/makefile
# SCCSID: @(#)makefile 3.0 4/21/86
#
######################################################################
# Copyright (c) Digital Equipment Corporation 1984, 1985, 1986. #
# All Rights Reserved. #
# Reference "/usr/src/COPYRIGHT" for applicable restrictions. #
######################################################################
#
# makefile residing in /usr/src/cmd
#
HERE=`pwd`
SOURCES = ac.c accton.c ar.c arcv.c at.c atrun.c badstat.c \
basename.c bfs.c bufstat.c cal.c cat.c catman.c cb.c \
cc.c checkeq.c chgrp.c chmod.c chog.c chown.c chroot.c \
clear.c clri.c cmp.c col.c comm.c cp.c cpio.c cron.c \
crypt.c csf.c cshprofile csplit.c cu.c cuo.c \
custat_v7m cut.c date.c dcheck.c dcopy.c dd.c \
deroff.c df.c diff3.c dmesg.c du.c dump.c dumpdir.c \
echo.c egrep.y expand.c expr.y factor.s fgrep.c \
file.c find.c fpsim.c fsck.c \
fsdb.c getNAME.c getopt.c getty.c getu.c graph.c \
greek grep.c hostid.c hostname.c init.c \
iostat.c ipatch.c ipcs.c ipcrm.c join.c kill.c labelit.c \
lim.s line.c ln.c login.c look.c lookbib lorder lpset.c \
ls.c mail.c makekey.c makewhatis makewhatis.sed memstat.c \
mesg.c mkdir.c mkfs.c mknod.c \
mount.c msf.c mt.c mv.c newfs.c newgrp.c nice.c nl.c nm.c \
nohup od.c pack.c passwd.c \
paste.c pr.c primes.s printenv.c prof.c profile ps.c \
pstat.c ptx.c pwd.c quot.c ranlib.c rasize.c regcmp.c \
rev.c rm.c rmdir.c \
rx2fmt.c sa.c sdiff.c size.c sleep.c sort.c spline.c split.c stat.c \
strip.c stty.c su.c sum.c sumck.c sync.c tabs.c tail.c tc.c ted.c \
tee.c test.c time.c tk.c touch.c tr.c tsort.c tss.c tty.c \
ul.c umount.c uname.c unexpand.c uniq.c units.c unpack.c update.c \
vipw.c volcopy.c wall.c wc.c who.c write.c yes.c zaptty.c
SUBMAKES= subsources subclean subclobber
# Everything should be in the following LOCS list. Those commands
# that are explicitly listed here are things that don't fit into the
# other categories, ie. shell scripts, things that need -ltermlib, -lPW, etc.
LOCS= 512dumpdir clear cshprofile cu_v7m cu_v7 custat_v7m \
dd factor false graph greek init login lookbib lorder \
makewhatis makewhatis.sed nohup primes prof profile \
random.v7_NS regcmp sp.v7_NS true ul \
${CMD407} ${CMD410} ${SYS5} ${YACCS}
# These are non-shared text commands that are made via
# cc -o foo -O foo.c
CMD407 = badstat bufstat cut dcheck dd dump fgrep fpsim \
fsck fsdb ipatch labelit memstat msf mt paste \
rx2fmt ted tss vipw dumpdir
# These are shared text commands that are made via
# cc -n -o foo -O foo.c
CMD410 = ac accton ar arcv at atrun basename bfs cal \
cat catman cb cc checkeq chgrp chmod chog chown \
chroot clri cmp col comm cp cpio cron crypt csf \
date dcopy deroff df diff3 dmesg du echo expand file \
find getNAME getopt getty getu grep hostid hostname \
iostat ipcs ipcrm join kill line ln look \
lpset ls mail makekey mesg mkdir mkfs mknod \
mount mv newfs newgrp nice nl nm od pack passwd pr \
printenv ps pstat ptx pwd quot ranlib rasize \
rev rm rmdir sa sdiff size sleep sort spline split \
stat strip stty su sum sync tabs tail tc tee test \
time tk touch tr tsort tty umount uname unexpand uniq \
units unpack update volcopy wall wc who write \
yes zaptty
# These are commands that are made from .y files
YACCS = egrep expr
SUBS= adb as awk bc c calendar cpp csh ctrace dc diff decnet \
ed el eqn ex f77 help icheck ld learn lex lint lpr lprsetup \
ltf m4 make man mkconf more ncheck neqn nu oc oeqn olx oper \
otroff otbl pascal pcc plot prep restor ratfor refer roff \
s5make sccs sed sh sh5 spell struct sysgen tar tbl \
tip tp troff usat uucp v7tar yacc
# Programs which require the System 5 environment to compile
SYS5= csplit
all: ${LOCS} ${SUBS}
@echo All Done
sources: ${SOURCES} subsources
@make -f subsources sources "SUBS=${SUBS}"
tags: subtags
@make -f subtags tags "SUBS=${SUBS}"
sccsinfo: subsccsinfo
sccs info
@make -f subsccsinfo sccsinfo "SUBS=${SUBS}"
${SOURCES} ${SUBMAKES}:
sccs get $@
install: forceit instlocal instsubs
instlocal:
@install ${LOCS}
instsubs:
@install ${SUBS}
local: ${LOCS}
@echo local Done
${CMD410}:
cc -n -o $@ -O $@.c
${CMD407}:
cc -O $@.c -o $@
${YACCS}:
yacc $@.y
mv y.tab.c $@.c
cc -n -O $@.c -o $@
rm $@.c
${SYS5}:
cc -n -Y -o $@ -O $@.c
subs: ${SUBS}
clean: subclean
@(echo)
@(echo "Cleaning cmd")
rm -f *.o a.out core log ${LOCS}
@make -f subclean clean "SUBS=${SUBS}"
clobber: subclobber
@(echo)
@(echo "Clobbering cmd")
rm -f *.o a.out core log ${LOCS}
sccs clean
@make -f subclobber clobber "SUBS=${SUBS}"
# These are programs that don't fall under any
# of the default compilation rules.
true:
echo "exit 0" > true
false:
echo "exit 1" > false
graph: graph.c
cc -n -O graph.c -o graph -lplot -lm
prof: prof.c
cc -n -O -Dplot prof.c -lplot -o prof
clear: clear.c
ul: ul.c
clear ul:
cc -n -O $@.c -o $@ -ltermlib
cu_v7m: cu.c
cc -n -O cu.c -o cu_v7m
cu_v7: cuo.c
cc -n -O cuo.c -o cu_v7
factor: factor.s
as -o factor factor.s
init: lim.s init.c sumck
cc -n -O init.c lim.s -o init
./sumck init
strip init
login: lim.s login.c sumck
cc -n -O login.c lim.s -o login
./sumck login
strip login
sumck: sumck.c
cc -O -o sumck sumck.c
primes: primes.s
as -o primes /usr/include/sys.s primes.s
# regcmp needs libPW for regcmp, regex
regcmp: regcmp.c
cc -n -o regcmp -O regcmp.c -lPW
# These next have no source, there are only executables available
random.v7_NS:
@(echo "no source file exists for random.v7_NS")
false
sp.v7_NS:
@(echo "no source file exists for sp.v7_NS")
false
# These just specify the source -> destination dependencies
ac: ac.c
accton: accton.c
ar: ar.c
arcv: arcv.c
at: at.c
atrun: atrun.c
badstat: badstat.c
basename: basename.c
bfs: bfs.c
bufstat: bufstat.c
cal: cal.c
cat: cat.c
catman: catman.c
cb: cb.c
cc: cc.c
checkeq: checkeq.c
chgrp: chgrp.c
chmod: chmod.c
chog: chog.c
chown: chown.c
chroot: chroot.c
clri: clri.c
cmp: cmp.c
col: col.c
comm: comm.c
cp: cp.c
cpio: cpio.c
cron: cron.c
crypt: crypt.c
csf: csf.c
cshprofile: cshprofile
csplit: csplit.c
cut: cut.c
date: date.c
dcheck: dcheck.c
dcopy: dcopy.c
dd: dd.c
deroff: deroff.c
df: df.c
diff3: diff3.c
dmesg: dmesg.c
du: du.c
dump: dump.c
dumpdir: dumpdir.c
512dumpdir: dumpdir.c
cc -O -DREST_512 -o 512dumpdir dumpdir.c
echo: echo.c
egrep: egrep.y
expand: expand.c
expr: expr.y
fgrep: fgrep.c
file: file.c
find: find.c
fpsim: fpsim.c
fsck: fsck.c
fsdb: fsdb.c
getNAME: getNAME.c
getopt: getopt.c
getty: getty.c
getu: getu.c
greek: greek
grep: grep.c
hostid: hostid.c
hostname: hostname.c
iostat: iostat.c
ipatch: ipatch.c
ipcs: ipcs.c
ipcrm: ipcrm.c
join: join.c
kill: kill.c
labelit: labelit.c
line: line.c
ln: ln.c
login: login.c
look: look.c
lookbib: lookbib
lorder: lorder
lpset: lpset.c
ls: ls.c
mail: mail.c
makekey: makekey.c
makewhatis: makewhatis
makewhatis.sed: makewhatis.sed
memstat: memstat.c
mesg: mesg.c
mkdir: mkdir.c
mkfs: mkfs.c
mknod: mknod.c
mount: mount.c
msf: msf.c
mt: mt.c
mv: mv.c
newfs: newfs.c
newgrp: newgrp.c
nice: nice.c
nl: nl.c
nm: nm.c
nohup: nohup
od: od.c
pack: pack.c
passwd: passwd.c
paste: paste.c
pr: pr.c
printenv: printenv.c
profile: profile
ps: ps.c
pstat: pstat.c
ptx: ptx.c
pwd: pwd.c
quot: quot.c
ranlib: ranlib.c
rasize: rasize.c
regcmp: regcmp.c
rev: rev.c
rm: rm.c
rmdir: rmdir.c
rx2fmt: rx2fmt.c
sa: sa.c
sdiff: sdiff
size: size.c
sleep: sleep.c
sort: sort.c
spline: spline.c
split: split.c
stat: stat.c
strip: strip.c
stty: stty.c
su: su.c
sum: sum.c
sync: sync.c
tabs: tabs.c
tail: tail.c
tc: tc.c
ted: ted.c
tee: tee.c
test: test.c
time: time.c
tk: tk.c
touch: touch.c
tr: tr.c
tsort: tsort.c
tss: tss.c
tty: tty.c
umount: umount.c
uname: uname.c
unexpand: unexpand.c
uniq: uniq.c
units: units.c
unpack: unpack.c
update: update.c
vipw: vipw.c
volcopy: volcopy.c
wall: wall.c
wc: wc.c
who: who.c
write: write.c
yes: yes.c
zaptty: zaptty.c
# Beginning of subdirectory commands
${SUBS}: forceit
@echo
@echo Making $@
@(cd $@; make all)
diffh:
@echo
@echo diffh is made with diff in the subdirectory diff
forceit:
@true