|
|
1.1 root 1: BUILTINS =
2: #CFLAGS = -g
3: CFLAGS =
4: CC = lcc
5:
6: %.o: %.c Efix cpt
7: Efix $stem.c >efix/$stem.c
8: cpt $stem.c efix/$stem.c
9: $CC $CFLAGS -c efix/$stem.c
10:
11: # cpt preserves times for use with -g
12:
13: LIBES =
14: FILES1 = mkfile defs tokens main.c init.c tailor.c\
15: gram.head gram.dcl gram.expr gram.exec\
16: lex.l fixuplex symtab.c\
17: dcl.c addr.c struct.c field.c misc.c alloc.c mk.c
18: FILES2 = exec.c blklab.c simple.c print.c temp.c io.c error.c\
19: pass2.c icfile.c free.c dclgen.c namgen.c
20: FILES = $FILES1 $FILES2
21: P = detab 0 6 12 18 24 30 36 42 48 54 60 66 72 | und -3 | opr -r2
22:
23: OBJECTS = main.o init.o tailor.o gram.o lex.o symtab.o\
24: dcl.o addr.o struct.o field.o blklab.o\
25: mk.o misc.o alloc.o print.o simple.o exec.o temp.o io.o error.o\
26: pass2.o icfile.o free.o dclgen.o namgen.o
27:
28: a.out : efix Efix cpt $OBJECTS
29: echo LOAD
30: $CC $CFLAGS $LDFLAGS $OBJECTS $LIBES
31: size
32:
33: Efix cpt:
34: cd efixsrc; mk
35:
36: efix: defs tokdefs
37: mkdir efix
38: ln $prereq efix
39:
40: $OBJECTS : defs
41: lex.o init.o : tokdefs
42:
43: gram.c: gram.head gram.dcl gram.expr gram.exec tokdefs
44: ( sed <tokdefs "s/#define/%token/" ;\
45: cat gram.head gram.dcl gram.expr gram.exec) >gram.in
46: $YACC $YFLAGS gram.in
47: sed 's!^# include "y.debug"!/* & */!;s!^# line.*!/* & */!' y.tab.c >gram.c
48: rm gram.in y.tab.c
49:
50: gram.o: gram.c
51: $CC $CFLAGS -c gram.c
52:
53: lex.c: fixuplex lex.l
54: lex lex.l
55: fixuplex
56: mv lex.yy.c lex.c
57:
58: lex.o: lex.c
59: $CC $CFLAGS -c lex.c
60:
61: tokdefs: tokens
62: grep -n . <tokens | sed "s/\([^:]*\):\(.*\)/#define \2 \1/" >tokdefs
63:
64: clean:
65: rm -rf a.out *.o lex.c tokdefs gram.c Efix cpt efix efixsrc/*.o
66:
67: printall:
68: pr $FILES1 | $P
69: pr $FILES2 | $P
70: touch print
71:
72: print: $FILES
73: pr $newprereq | $P
74: touch print
75: lint: a.out
76: lint -p *.c -lS
77:
78: install: a.out
79: strip a.out
80: size a.out /usr/bin/efl
81: cp a.out /usr/bin/efl
82:
83: bundle: $FILES efixsrc/mkfile efixsrc/*.[ch]
84: stree $prereq >/tmp/t/efl.st
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.