Commit | Line | Data |
---|---|---|
e7954e53 C |
1 | CFLAGS = -O -w |
2 | LIBES = | |
3 | FILES1 = 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 | |
7 | FILES2 = 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 | |
9 | FILES = $(FILES1) $(FILES2) | |
10 | P = detab 0 6 12 18 24 30 36 42 48 54 60 66 72 | und -3 | opr -r2 | |
11 | ||
12 | OBJECTS = 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 | ||
17 | a.out : $(OBJECTS) | |
18 | @echo LOAD | |
19 | @$(CC) $(CFLAGS) $(LDFLAGS) $(OBJECTS) $(LIBES) | |
20 | @size | |
21 | ||
22 | $(OBJECTS) : defs | |
23 | lex.o init.o : tokdefs | |
24 | ||
25 | # gram.c can no longer be made on a pdp11 because of yacc limits | |
26 | gram.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 | ||
33 | lex.c: fixuplex | |
34 | lex lex.l | |
35 | sh fixuplex | |
36 | mv lex.yy.c lex.c | |
37 | ||
38 | tokdefs: tokens | |
39 | grep -n . <tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" >tokdefs | |
40 | ||
41 | clean: | |
42 | -rm -f a.out *.o gram.c lex.c tokdefs | |
43 | -du | |
44 | ||
45 | printall: | |
46 | -pr $(FILES1) | $P | |
47 | -pr $(FILES2) | $P | |
48 | touch print | |
49 | ||
50 | print: $(FILES) | |
51 | -pr $? | $P | |
52 | touch print | |
53 | ||
54 | lint: a.out | |
55 | lint -p *.c -lS | |
56 | ||
57 | install: a.out | |
58 | -@size a.out /usr/bin/efl | |
59 | install -s a.out ${DESTDIR}/usr/bin/efl | |
60 | ||
61 | test: 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 | ||
73 | tape: $(FILES) gram.c lex.c a.out | |
74 | tar cb $(FILES) gram.c lex.c a.out | |
75 |