BSD 4_3 development
[unix-history] / usr / src / usr.bin / efl / Makefile
CommitLineData
e7954e53
C
1CFLAGS = -O -w
2LIBES =
3FILES1 = Makefile efl.1 defs tokens main.c init.c tailor.c\
4 gram.head gram.dcl gram.expr gram.exec\
5 lex.l fixuplex symtab.c\
6 dcl.c addr.c struct.c field.c misc.c alloc.c mk.c
7FILES2 = exec.c blklab.c simple.c print.c temp.c io.c error.c\
8 pass2.c icfile.c free.c dclgen.c namgen.c
9FILES = $(FILES1) $(FILES2)
10P = detab 0 6 12 18 24 30 36 42 48 54 60 66 72 | und -3 | opr -r2
11
12OBJECTS = main.o init.o tailor.o gram.o lex.o symtab.o\
13 dcl.o addr.o struct.o field.o blklab.o\
14 mk.o misc.o alloc.o print.o simple.o exec.o temp.o io.o error.o\
15 pass2.o icfile.o free.o dclgen.o namgen.o
16
17a.out : $(OBJECTS)
18 @echo LOAD
19 @$(CC) $(CFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBES)
20 @size
21
22$(OBJECTS) : defs
23lex.o init.o : tokdefs
24
25# gram.c can no longer be made on a pdp11 because of yacc limits
26gram.c: gram.head gram.dcl gram.expr gram.exec tokdefs
27 ( sed <tokdefs "s/#define/%token/" ;\
28 cat gram.head gram.dcl gram.expr gram.exec) >gram.in
29 $(YACC) $(YFLAGS) gram.in
30 (echo "#define YYDEBUG"; cat y.tab.c) > gram.c
31 rm -f gram.in y.tab.c
32
33lex.c: fixuplex
34 lex lex.l
35 sh fixuplex
36 mv lex.yy.c lex.c
37
38tokdefs: tokens
39 grep -n . <tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" >tokdefs
40
41clean:
42 -rm -f a.out *.o gram.c lex.c tokdefs
43 -du
44
45printall:
46 -pr $(FILES1) | $P
47 -pr $(FILES2) | $P
48 touch print
49
50print: $(FILES)
51 -pr $? | $P
52 touch print
53
54lint: a.out
55 lint -p *.c -lS
56
57install: a.out
58 -@size a.out /usr/bin/efl
59 install -s a.out ${DESTDIR}/usr/bin/efl
60
61test: a.out
62 a.out "system=gcos" efltest/Hard.e >z1 2>z2
63 cmp z1 efltest/Hard.out
64 a.out "system=gcos" efltest/Band.e >z1 2>z2
65 cmp z1 efltest/Band.out
66 a.out "system=gcos" efltest/Buram.e >z1 2>z2
67 cmp z1 efltest/Buram.out
68 a.out "system=gcos" efltest/Dgl.e >z1 2>z2
69 cmp z1 efltest/Dgl.out
70 rm -f z1 z2
71 @echo TEST OK
72
73tape: $(FILES) gram.c lex.c a.out
74 tar cb $(FILES) gram.c lex.c a.out
75