|
|
1.1 root 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:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.