|
|
1.1 root 1: # Makefile 4.7 83/08/14
2: #
3: # as.h Definitions for data structures
4: # asnumber.h Definitions for all numbers: byte .. G format float
5: # asscan.h Definitions for the character scanner
6: # asscanl.h Definitions for the character scanner;
7: # local to asscan?.c
8: # astokfix.awk
9: # astoks.H The defines for tokens that yacc produced
10: # This is processed by astokfix.awk to yield:
11: # astoks.h Included implicitly in as.h
12: # asexpr.h The macros for parsing and expressions
13: # assyms.h Macros for dealing with the symbol table
14: # instrs.h Definitions to make instrs more readable
15: #
16: # asscan1.c buffer management, yylex, and buffer drainer
17: # asscan2.c character scanner, and buffer filler
18: # asscan3.c character sets definitions (initialized data)
19: # asscan4.c constructs normal integers; interfaces with bignum.c
20: #
21: # bignum.c constructs large integers; utility routines
22: #
23: # asparse.c parser
24: # asexpr.c parses expressions, constructs and evaluates
25: # expression trees
26: #
27: # asmain.c main body
28: # assyms.c symbol table processing routines
29: # asjxxx.c Fixes jxxx instructions
30: # ascode.c Emits code
31: # assizetab.c Converts internal ordinal #'s into sizes, strings, etc
32: # asio.c Does block I/O and faster versions of fwrite
33: #
34: # aspseudo.c Symbol table definitions for reserved words
35: # instrs included in pseudo.c; instructions and semantic info
36: # for each instructions
37: #
38:
39: AS=/bin/as
40: CC=/bin/cc
41: LD=/bin/ld
42: INCLDIR=/usr/src/include
43: LIBDIR=/lib
44: ULIBDIR=/usr/lib
45: DESTDIR=
46: MAKEPARAM = AS=${AS} CC=${CC} LD=${LD} INCLDIR=${INCLDIR} LIBDIR=${LIBDIR} ULIBDIR=${ULIBDIR} DESTDIR=${DESTDIR}
47: HDRS = astoks.H astokfix.awk as.h asscan.h assyms.h asexpr.h
48:
49: SRCS = asscan1.c asscan2.c asscan3.c asscan4.c \
50: bignum.c \
51: asmain.c asparse.c \
52: asexpr.c assyms.c \
53: asjxxx.c ascode.c aspseudo.c \
54: assizetab.c asio.c
55:
56: OBJS = asscan1.o asscan2.o asscan3.o asscan4.o \
57: bignum.o \
58: asparse.o asexpr.o \
59: asmain.o assyms.o \
60: asjxxx.o ascode.o aspseudo.o \
61: assizetab.o asio.o
62:
63: GRIND = astoks.h as.h asscan.h assyms.h asexpr.h instrs.h asnumber.h \
64: asscanl.h asscan1.c asscan2.c asscan3.c asscan4.c \
65: bignum.c \
66: asmain.c asscan.c asparse.c asexpr.c \
67: assyms.c asjxxx.c ascode.c asio.c \
68: assizetab.c aspseudo.c
69:
70: #
71: # available flags:
72: #
73: # AS This is the assembler; always set
74: # (UNIX and VMS are mutually exclusive.)
75: # UNIX Must be set if the assembler is to produce a.out
76: # files for UNIX.
77: #
78: # VMS Must be set if the assembler is to produce executables
79: # for VMS (Thanks to David Kashtan, SRI for these fixes)
80: #
81: # if VMS is set, then these two flags are also valid:
82: # (necessary to frob system calls and '$' conventions
83: # VMSDEVEL The assembler is being compiled under VMS
84: # UNIXDEVEL The assembler is being compiled under UNIX
85: #
86: #
87: # DEBUG print out various debugging information
88: # in the first pass
89: #
90: # FLEXNAMES All names are stored internally as true character
91: # strings, null terminated, and can be no more
92: # than BUFSIZ long.
93: #
94:
95: DFLAGS= -DAS
96: CFLAGS = -O $(DFLAGS) -I${INCLDIR}
97:
98: LDFLAGS = -O
99:
100: as: $(OBJS)
101: $(CC) $(LDFLAGS) $(OBJS) -o as
102:
103: .c.o: astoks.h
104: $(CC) $(CFLAGS) -c $*.c
105:
106: astoks.h: astoks.H astokfix.awk
107: awk -f astokfix.awk < astoks.H > astoks.h
108:
109: aspseudo.o: as.h astoks.h aspseudo.c instrs.h instrs.as
110: $(CC) -c -R $(DFLAGS) aspseudo.c
111:
112: instrs.as: instrs
113: (echo FLAVOR AS ; cat instrs) | awk -f instrs > instrs.as
114:
115: lint:
116: lint $(DFLAGS) $(SRCS)
117: clean:
118: rm -f $(OBJS) as
119:
120: cleansrc:
121: rm -f *.[chH] *.as *.awk makefile instrs
122: install:
123: install -s as ${DESTDIR}/bin
124:
125: print:
126: pr Makefile $(HDRS) $(SRCS)
127:
128: as.h: instrs.h astoks.h asnumber.h
129: touch as.h
130:
131: asscanl.h: as.h asscan.h
132: touch asscanl.h
133:
134: depend:
135: grep '^#include' ${SRCS} | grep -v '<' | \
136: sed -e 's/:[^"]*"\([^"]*\)".*/: \1/' \
137: -e 's/\.c/.o/' \
138: -e 's,../[a-zA-Z]*/,,' | \
139: awk ' { if ($$1 != prev) { print rec; rec = $$0; prev = $$1; } \
140: else { if (length(rec $$2) > 78) { print rec; rec = $$0; } \
141: else rec = rec " " $$2 } } \
142: END { print rec } ' > makedep
143: echo '$$r makedep' >>eddep
144: echo '/^# DO NOT DELETE THIS LINE/+1,$$d' >>eddep
145: echo '$$r makedep' >>eddep
146: echo 'w' >>eddep
147: cp makefile makefile.bak
148: ed - makefile < eddep
149: rm eddep makedep
150:
151:
152: # DO NOT DELETE THIS LINE -- make depend uses it
153:
154: asscan1.o: asscanl.h
155: asscan2.o: asscanl.h
156: asscan3.o: asscanl.h
157: asscan4.o: asscanl.h
158: bignum.o: as.h
159: asmain.o: as.h assyms.h asscan.h asexpr.h
160: asparse.o: as.h asscan.h assyms.h asexpr.h
161: asexpr.o: as.h asscan.h asexpr.h
162: assyms.o: as.h asscan.h assyms.h
163: asjxxx.o: as.h assyms.h
164: ascode.o: as.h assyms.h
165: aspseudo.o: as.h instrs.as
166: assizetab.o: as.h assyms.h
167: asio.o: as.h
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.