1all: awk
2
3awk: awk.g.o awk.lx.o b.o main.o token.o tran.o lib.o run.o parse.o proctab.o version.o
4	$(LD) $(LDFLAGS) awk.g.o awk.lx.o b.o main.o token.o tran.o lib.o run.o parse.o proctab.o version.o $(LUXRE) -lm $(LCOMMON) $(LWCHAR) $(LIBS) -o awk
5
6awk.g.c: awk.g.y
7	$(YACC) -d -o $@ awk.g.y
8
9token.c: awk.h
10	echo '#include "awk.h"' > $@
11	echo 'struct toke' >> $@
12	echo '{ char *tnm;' >> $@
13	echo 'int yval;' >> $@
14	echo '} tok[] = {' >> $@
15	sed 's/#[ 	]*define[ 	]\{1,\}\([^ 	]*\)[ 	]\{1,\}\(.*\)/{ "\1", \2 },/' \
16	    < awk.h >> $@
17	echo '};' >> $@
18	echo 'char *tokname(int n)' >> $@
19	echo '{' >> $@
20	echo '	if (n < FIRSTTOKEN || n >= LASTTOKEN)' >> $@
21	echo '		n = FIRSTTOKEN;' >> $@
22	echo '	return(tok[n - FIRSTTOKEN].tnm);' >> $@
23	echo '}' >> $@
24
25proctab.c: awk.h proc.c token.c
26	$(HOSTCC) -o proc proc.c
27	-./proc > proctab.c
28
29awk.h: awk.g.c
30	grep '^#[ 	]*define[ 	]*[^Yy][^Yy]' awk.g.h >awk.h
31
32awk.g.o: awk.g.c
33	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c awk.g.c
34
35awk.lx.o: awk.lx.c awk.h
36	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c awk.lx.c
37
38b.o: b.c
39	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c b.c
40
41lib.o: lib.c
42	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c lib.c
43
44main.o: main.c
45	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c main.c
46
47parse.o: parse.c
48	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c parse.c
49
50proctab.o: proctab.c
51	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c proctab.c
52
53run.o: run.c
54	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c run.c
55
56tran.o: tran.c
57	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c tran.c
58
59token.o: token.c
60	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c token.c
61
62version.o: version.c
63	$(CC) $(CFLAGSS) $(CPPFLAGS) $(XO5FL) $(LARGEF) $(IUXRE) $(ICOMMON) $(IWCHAR) -c version.c
64
65clean:
66	rm -f awk.g.o awk.lx.o b.o main.o token.o tran.o lib.o run.o \
67		parse.o proctab.o version.o proc.o proc \
68		proctab.c token.c awk.h \
69		awk.lx.c awk.g.c awk.g.h awk token.c core log *~
70
71install: all
72	$(UCBINST) -c awk $(ROOT)$(DEFBIN)/oawk
73	$(STRIP) $(ROOT)$(DEFBIN)/oawk
74	$(MANINST) -c -m 644 oawk.1 $(ROOT)$(MANDIR)/man1/oawk.1
75
76awk.g.o: awk.def
77awk.g.o: awk.def
78awk.lx.o: awk.def
79b.o: awk.def awk.h
80lib.o: awk.def awk.h
81main.o: awk.def awk.h
82parse.o: awk.def awk.h
83proc.o: awk.def awk.h
84proctab.o: awk.def
85run.o: awk.def awk.h
86tran.o: awk.def awk.h
87