|
|
1.1 root 1: #
2: # TWO PROCESS BELLMAC-32 COMLD MAKEFILE
3: #
4: # @(#) twoproc.mk: 1.15 9/23/83
5: #
6: # Specify the machine architecture on which ld runs:
7: #
8: # AR16WR = DEC 11/45-70
9: # AR32WR = VAX 11/780
10: # AR32W = 3B20, IBM370, ...
11: #
12: # Specify the version of UN*X beng used:
13: #
14: # TS : BTL UN*X TS
15: #
16: #
17: BM=make
18: SGS=m32
19: CC=cc
20: CFLAGS=-O -c
21: ARCH=AR16WR
22: SYS=TS
23: NPROC=TWOPROC
24: FFLAG=
25: SDP=SDP
26: ARFORMAT=PORTAR
27: DBO=FBO
28: FLEX=-DFLEXNAMES
29: DEFLIST=-D$(ARCH) -D$(NPROC) -D$(SDP) -D$(ARFORMAT) -D$(DBO) $(FLEX)
30: INCLIST=-I. -I$(COMLD) -I$(M32INC) -I$(COMINC) -I$(N3BINC) -I$(USRINC)
31: ENV=
32: CC_CMD=$(CC) $(CFLAGS) $(DEFLIST) $(INCLIST) $(ENV)
33: #
34: LD=$(CC)
35: LDFLAGS=-i $(FFLAG)
36: LD_CMD=$(LD) $(LDFLAGS)
37: #
38: YACC=yacc
39: YFLAGS=-d
40: YACC_CMD=$(YACC) $(YFLAGS)
41: #
42: LEX_CMD=lex
43: #
44: STRIP=strip
45: SPFLAGS=
46: STRIP_CMD=$(STRIP) $(SPFLAGS)
47: #
48: LINT=lint
49: LINTFLAGS=-p
50: LINT_CMD=$(LINT) $(LINTFLAGS)
51: #
52: # External Directories
53: #
54: ROOT=
55: VERSION=
56: USRINC= $(ROOT)/usr/$(VERSION)include
57: #
58: # Internal Directories
59: #
60: BASE= ../..
61: BINDIR= $(BASE)/xenv/m32/bin
62: LIBDIR= $(BASE)/xenv/m32/lib
63: M32INC= $(BASE)/inc/m32
64: COMLD= $(BASE)/ld/common
65: COMINC= $(BASE)/inc/common
66: N3BINC= $(BASE)/inc/3b
67: #
68: LIBLD = $(BASE)/libld/m32/libld.a
69: LIBES= -ll -ly
70: LIBS=
71: #
72: #
73: #
74: # Specify the *.c files making up ld:
75: #
76: CFILES=$(COMLD)/alloc.c $(COMLD)/dump.c $(COMLD)/expr0.c $(COMLD)/expr1.c \
77: $(COMLD)/globs.c $(COMLD)/instr.c \
78: $(COMLD)/ld00.c $(COMLD)/ld01.c $(COMLD)/ld1.c $(COMLD)/ld2.c \
79: $(COMLD)/lists.c $(COMLD)/output.c $(COMLD)/sdp.c $(COMLD)/syms.c \
80: $(COMLD)/slotvec.c $(COMLD)/tv.c $(COMLD)/util.c \
81: $(COMLD)/version.c \
82: lex.yy.c $(COMLD)/maps.c y.tab.c sglobs.c special1.c special2.c specsyms.c
83: #
84: #
85: # Specify the *.h files making up ld:
86: #
87: HFILES1=y.tab.h params.h system.h \
88: $(COMLD)/attributes.h $(COMLD)/list.h \
89: $(COMLD)/structs.h $(COMLD)/extrns.h $(COMLD)/ldtv.h \
90: $(COMINC)/aouthdr.h $(COMLD)/slotvec.h $(COMLD)/sdp1.h \
91: $(COMLD)/instr.h $(COMLD)/ldmacros.h
92: HFILES2=$(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
93: $(COMINC)/storclass.h $(COMINC)/bool.h \
94: $(COMINC)/sgsmacros.h $(COMINC)/ldfcn.h $(COMINC)/reloc.h \
95: $(COMINC)/linenum.h $(COMINC)/patch.h
96: HFILES3=$(M32INC)/sgs.h $(M32INC)/paths.h $(M32INC)/tv.h $(N3BINC)/magic.h
97: #HFILES4=$(COMINC)/sdpsrc/hd/define2.h $(COMINC)/sdpsrc/hd/define3.h \
98: # $(COMINC)/sdpsrc/hd/define4.h $(COMINC)/sdpsrc/hd/struct.h \
99: # $(COMINC)/sdpsrc/hd/globals.h $(COMINC)/sdpsrc/lo/delist.c \
100: # $(COMINC)/sdpsrc/lo/enlist.c $(COMINC)/sdpsrc/lo/fatal.c \
101: # $(COMINC)/sdpsrc/lo/getnxtpage.c $(COMINC)/sdpsrc/lo/readpage.c \
102: # $(COMINC)/sdpsrc/lo/sojourn.c $(COMINC)/sdpsrc/lo/rpartition.c \
103: # $(COMINC)/sdpsrc/lo/writeframe.c $(COMINC)/sdpsrc/hi/allocate.c \
104: # $(COMINC)/sdpsrc/hi/flush.c \
105: # $(COMINC)/sdpsrc/hi/init.c $(COMINC)/sdpsrc/hi/lock.c \
106: # $(COMINC)/sdpsrc/hi/unlock.c
107: #
108: #
109: # Specify the *.o files making up ld:
110: #
111: OBJFL1=expr0.o globs.o sglobs.o ld00.o lex.yy.o lists.o \
112: util.o version.o y.tab.o special1.o
113: OBJFL2=alloc.o specsyms.o dump.o expr1.o globs.o sglobs.o ld01.o ld1.o ld2.o lists.o maps.o \
114: output.o sdp.o slotvec.o syms.o tv.o util.o version.o \
115: instr.o special2.o
116: #
117: #
118: #
119: # Make ld
120: #
121: #
122: all: ld ld2
123: #
124: # PASS 1
125: ld: $(OBJFL1) $(LIBLD)
126: $(LD_CMD) -o ld $(OBJFL1) $(LIBES) $(LIBLD) $(LIBS)
127: #
128: # PASS 2
129: ld2: $(OBJFL2) $(LIBLD)
130: $(LD_CMD) -o ld2 $(OBJFL2) $(LIBLD) $(LIBS)
131: #
132: #
133: # Make the *.c:
134: #
135: y.tab.c y.tab.h: $(COMLD)/ld.yac
136: @echo "Expect to see message 'conflicts: 6 shift/reduce'";
137: $(YACC_CMD) $(COMLD)/ld.yac
138: #
139: y.tab.o: $(COMLD)/attributes.h $(COMLD)/list.h $(COMLD)/structs.h \
140: $(COMLD)/ldmacros.h $(COMLD)/extrns.h $(COMLD)/ldtv.h system.h \
141: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
142: $(COMINC)/storclass.h $(COMINC)/bool.h $(COMINC)/sgsmacros.h \
143: $(M32INC)/sgs.h $(M32INC)/tv.h \
144: params.h \
145: y.tab.c
146: $(CC_CMD) y.tab.c
147: #
148: lex.yy.c: $(COMLD)/ld.lex
149: $(LEX_CMD) $(COMLD)/ld.lex
150: #
151: lex.yy.o: $(COMLD)/structs.h $(COMLD)/extrns.h system.h \
152: $(COMLD)/ldtv.h \
153: $(COMLD)/instr.h $(COMINC)/aouthdr.h \
154: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
155: $(COMINC)/storclass.h $(COMINC)/bool.h \
156: $(M32INC)/paths.h $(M32INC)/sgs.h $(M32INC)/tv.h \
157: y.tab.h \
158: lex.yy.c
159: $(CC_CMD) lex.yy.c
160: #
161: expr0.o: $(COMLD)/extrns.h $(COMLD)/structs.h system.h \
162: $(COMLD)/ldmacros.h \
163: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
164: $(COMINC)/storclass.h $(COMINC)/sgsmacros.h \
165: y.tab.h \
166: $(COMLD)/expr0.c
167: $(CC_CMD) $(COMLD)/expr0.c
168: #
169: expr1.o: $(COMLD)/extrns.h $(COMLD)/structs.h system.h \
170: $(COMLD)/ldmacros.h \
171: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
172: $(COMINC)/storclass.h $(COMINC)/sgsmacros.h \
173: y.tab.h \
174: $(COMLD)/expr1.c
175: $(CC_CMD) $(COMLD)/expr1.c
176: #
177: ld00.o: $(COMLD)/extrns.h $(COMLD)/list.h $(COMLD)/structs.h \
178: system.h $(COMINC)/ldfcn.h \
179: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
180: $(COMINC)/storclass.h $(COMINC)/sgsmacros.h \
181: $(M32INC)/paths.h $(M32INC)/sgs.h \
182: params.h y.tab.h \
183: $(COMLD)/ld00.c
184: $(CC_CMD) $(COMLD)/ld00.c
185: #
186: ld01.o: $(COMLD)/extrns.h $(COMLD)/structs.h $(COMLD)/list.h \
187: $(COMLD)/ldmacros.h system.h $(COMLD)/ldtv.h $(COMLD)/instr.h \
188: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
189: $(COMINC)/storclass.h $(COMINC)/sgsmacros.h \
190: $(M32INC)/tv.h \
191: $(COMLD)/ld01.c
192: $(CC_CMD) $(COMLD)/ld01.c
193: #
194: ld1.o: $(COMLD)/extrns.h $(COMLD)/list.h $(COMLD)/ldtv.h \
195: $(COMLD)/ldmacros.h $(COMLD)/structs.h system.h \
196: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
197: $(COMINC)/storclass.h $(COMINC)/ldfcn.h $(COMINC)/reloc.h \
198: $(COMINC)/sgsmacros.h $(COMINC)/sdpsrc/hd/define2.h \
199: $(M32INC)/sgs.h $(M32INC)/tv.h $(N3BINC)/magic.h \
200: params.h \
201: $(COMLD)/ld1.c
202: $(CC_CMD) $(COMLD)/ld1.c
203: #
204: ld2.o: $(COMLD)/ldtv.h $(COMLD)/extrns.h $(COMLD)/list.h \
205: $(COMLD)/structs.h system.h \
206: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
207: $(COMINC)/sgsmacros.h $(COMINC)/storclass.h \
208: $(COMINC)/reloc.h $(COMINC)/linenum.h $(COMINC)/patch.h \
209: $(M32INC)/tv.h \
210: y.tab.h params.h \
211: $(COMLD)/ld2.c
212: $(CC_CMD) $(COMLD)/ld2.c
213: #
214: alloc.o: $(COMLD)/extrns.h $(COMLD)/list.h $(COMLD)/structs.h \
215: $(COMLD)/ldmacros.h system.h $(COMLD)/ldtv.h \
216: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
217: $(COMINC)/storclass.h $(COMINC)/sgsmacros.h \
218: $(COMINC)/sdpsrc/hd/define2.h \
219: $(M32INC)/tv.h \
220: params.h \
221: $(COMLD)/alloc.c
222: $(CC_CMD) $(COMLD)/alloc.c
223: #
224: output.o: $(COMLD)/structs.h $(COMLD)/extrns.h system.h \
225: $(COMLD)/ldtv.h $(COMLD)/slotvec.h $(COMINC)/aouthdr.h \
226: $(COMLD)/ldmacros.h $(COMLD)/instr.h \
227: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
228: $(COMINC)/sgsmacros.h $(COMINC)/storclass.h \
229: $(COMINC)/reloc.h $(COMINC)/linenum.h $(COMINC)/ldfcn.h \
230: $(COMINC)/patch.h \
231: $(M32INC)/sgs.h $(M32INC)/tv.h \
232: params.h \
233: $(COMLD)/output.c
234: $(CC_CMD) $(COMLD)/output.c
235: #
236: maps.o: $(COMLD)/extrns.h $(COMLD)/structs.h $(COMLD)/attributes.h \
237: system.h \
238: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
239: $(COMINC)/storclass.h $(COMINC)/sgsmacros.h \
240: $(COMLD)/maps.c
241: $(CC_CMD) $(COMLD)/maps.c
242: #
243: util.o: $(COMLD)/structs.h $(COMLD)/extrns.h system.h \
244: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
245: $(COMINC)/storclass.h $(COMINC)/sgsmacros.h \
246: $(M32INC)/sgs.h \
247: $(COMLD)/util.c
248: $(CC_CMD) $(COMLD)/util.c
249: #
250: lists.o: $(COMLD)/list.h $(COMLD)/structs.h system.h \
251: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
252: $(COMINC)/sgsmacros.h $(COMINC)/storclass.h \
253: $(COMLD)/lists.c
254: $(CC_CMD) $(COMLD)/lists.c
255: #
256: dump.o: $(COMLD)/structs.h $(COMLD)/extrns.h system.h \
257: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
258: $(COMINC)/storclass.h \
259: $(COMLD)/dump.c
260: $(CC_CMD) $(COMLD)/dump.c
261: #
262: syms.o: $(COMLD)/structs.h $(COMLD)/extrns.h $(COMLD)/ldtv.h \
263: $(COMLD)/ldmacros.h $(COMINC)/ldfcn.h \
264: system.h $(COMLD)/sdp1.h $(COMLD)/instr.h \
265: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
266: $(COMINC)/storclass.h $(COMINC)/sgsmacros.h \
267: $(COMINC)/sdpsrc/hd/define2.h $(COMINC)/sdpsrc/hd/define4.h \
268: $(COMINC)/sdpsrc/hd/struct.h $(M32INC)/paths.h $(M32INC)/tv.h \
269: $(COMLD)/syms.c
270: $(CC_CMD) $(COMLD)/syms.c
271: #
272: sdp.o: $(COMLD)/sdp1.h system.h $(COMLD)/structs.h \
273: $(COMLD)/instr.h $(COMLD)/extrns.h \
274: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
275: $(COMINC)/storclass.h \
276: $(COMINC)/sdpsrc/hd/define2.h $(COMINC)/sdpsrc/hd/define3.h \
277: $(COMINC)/sdpsrc/hd/define4.h $(COMINC)/sdpsrc/hd/struct.h \
278: $(COMINC)/sdpsrc/hd/globals.h $(COMINC)/sdpsrc/lo/delist.c \
279: $(COMINC)/sdpsrc/lo/enlist.c $(COMINC)/sdpsrc/lo/fatal.c \
280: $(COMINC)/sdpsrc/lo/getnxtpage.c \
281: $(COMINC)/sdpsrc/lo/readpage.c \
282: $(COMINC)/sdpsrc/lo/writeframe.c \
283: $(COMINC)/sdpsrc/lo/sojourn.c \
284: $(COMINC)/sdpsrc/lo/rpartition.c \
285: $(COMINC)/sdpsrc/hi/allocate.c $(COMINC)/sdpsrc/hi/flush.c \
286: $(COMINC)/sdpsrc/hi/init.c $(COMINC)/sdpsrc/hi/lock.c \
287: $(COMINC)/sdpsrc/hi/unlock.c \
288: $(M32INC)/paths.h \
289: $(COMLD)/sdp.c
290: $(CC_CMD) $(COMLD)/sdp.c
291: #
292: tv.o: $(COMLD)/extrns.h $(COMLD)/structs.h $(COMLD)/ldtv.h \
293: $(COMLD)/ldmacros.h system.h $(COMLD)/list.h \
294: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
295: $(COMINC)/sdpsrc/hd/define2.h $(COMINC)/bool.h $(COMINC)/storclass.h \
296: $(COMINC)/reloc.h $(COMINC)/ldfcn.h $(COMINC)/sgsmacros.h \
297: $(M32INC)/tv.h \
298: $(COMLD)/tv.c
299: $(CC_CMD) $(COMLD)/tv.c
300: #
301: globs.o: $(COMLD)/structs.h $(COMLD)/ldtv.h system.h \
302: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
303: $(COMINC)/storclass.h \
304: $(M32INC)/paths.h $(M32INC)/tv.h \
305: params.h \
306: $(COMLD)/globs.c
307: $(CC_CMD) $(COMLD)/globs.c
308: #
309: instr.o: $(COMLD)/instr.c
310: $(CC_CMD) $(COMLD)/instr.c
311: #
312: slotvec.o: $(COMLD)/slotvec.h $(COMLD)/structs.h $(COMLD)/extrns.h \
313: $(COMLD)/sdp1.h system.h \
314: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
315: $(COMINC)/storclass.h $(COMINC)/sdpsrc/hd/define2.h \
316: $(COMINC)/sdpsrc/hd/define4.h \
317: $(M32INC)/paths.h \
318: $(COMLD)/slotvec.c
319: $(CC_CMD) $(COMLD)/slotvec.c
320: #
321: version.o: $(COMLD)/version.c
322: $(CC_CMD) $(COMLD)/version.c
323: #
324: sglobs.o: $(COMLD)/structs.h $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h $(COMINC)/storclass.h \
325: $(M32INC)/sgs.h $(M32INC)/tv.h $(COMLD)/ldtv.h \
326: system.h sglobs.c
327: $(CC_CMD) sglobs.c
328: #
329: special1.o: system.h $(COMLD)/structs.h $(COMLD)/extrns.h \
330: special1.c $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
331: $(COMINC)/storclass.h
332: $(CC_CMD) special1.c
333: #
334: special2.o: system.h $(COMINC)/aouthdr.h $(COMLD)/structs.h $(COMINC)/filehdr.h \
335: $(COMINC)/scnhdr.h $(COMINC)/syms.h $(COMINC)/storclass.h $(COMINC)/ldfcn.h \
336: $(M32INC)/tv.h $(COMLD)/ldtv.h $(COMLD)/slotvec.h \
337: $(COMINC)/reloc.h $(COMLD)/extrns.h $(COMLD)/list.h \
338: $(M32INC)/sgs.h $(N3BINC)/magic.h $(COMINC)/sgsmacros.h \
339: special2.c
340: $(CC_CMD) special2.c
341: #
342: specsyms.o: system.h $(COMLD)/extrns.h $(COMINC)/sgsmacros.h \
343: $(COMLD)/structs.h $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h $(COMINC)/storclass.h \
344: $(M32INC)/tv.h $(COMLD)/ldtv.h \
345: specsyms.c
346: $(CC_CMD) specsyms.c
347: #
348: #
349: #
350: # Compile the display program, for dumping the ld intermediate file
351: # used to pass information between PASS 1 and PASS 2
352: #
353: display: globs.o display.o
354: $(LD_CMD) -o display display.o globs.o
355: #
356: display.o: system.h $(COMLD)/structs.h $(COMLD)/extrns.h \
357: $(COMLD)/ldtv.h \
358: $(COMINC)/filehdr.h $(COMINC)/scnhdr.h $(COMINC)/syms.h \
359: $(COMINC)/storclass.h \
360: $(M32INC)/tv.h \
361: y.tab.h \
362: $(COMLD)/display.c
363: $(CC_CMD) $(COMLD)/display.c
364: #
365: #
366: # File and administrative commands:
367: #
368: #
369: install: $(BINDIR)/$(SGS)ld $(LIBDIR)/$(SGS)ld2
370: #
371: $(BINDIR)/$(SGS)ld: ld
372: -rm -f $(BINDIR)/$(SGS)ld
373: cp ld $(BINDIR)/$(SGS)ld
374: -$(STRIP_CMD) $(BINDIR)/$(SGS)ld
375: #
376: $(LIBDIR)/$(SGS)ld2: ld2
377: -rm -f $(LIBDIR)/$(SGS)ld2
378: cp ld2 $(LIBDIR)/$(SGS)ld2
379: -$(STRIP_CMD) $(LIBDIR)/$(SGS)ld2
380: #
381: save: $(BINDIR)/$(SGS)ld $(LIBDIR)/$(SGS)ld2
382: -rm -f $(BINDIR)/$(SGS)ld.back
383: -rm -f $(LIBDIR)/$(SGS)ld2.back
384: cp $(BINDIR)/$(SGS)ld $(BINDIR)/$(SGS)ld.back
385: cp $(LIBDIR)/$(SGS)ld2 $(LIBDIR)/$(SGS)ld2.back
386: #
387: uninstall: $(BINDIR)/$(SGS)ld.back $(LIBDIR)/$(SGS)ld2.back
388: -rm -f $(BINDIR)/$(SGS)ld
389: -rm -f $(LIBDIR)/$(SGS)ld2
390: cp $(BINDIR)/$(SGS)ld.back $(BINDIR)/$(SGS)ld
391: cp $(LIBDIR)/$(SGS)ld2.back $(LIBDIR)/$(SGS)ld2
392: #
393: shrink:
394: -rm -f *.o y.tab.c lex.yy.c y.tab.h ld ld2
395: #
396: # Run lint on the *.c files:
397: #
398: lint: $(CFILES) $(HFILES1) $(HFILES2) $(HFILES3) $(HFILES4)
399: $(LINT_CMD) $(DEFLIST) $(INCLIST) $(CFILES)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.