|
|
1.1 root 1: #
2: # makefile for Coherent 386 - overall system build
3: #
4: # Do not use this makefile directly! Use a build script.
5: # (Unless you know what you are doing.)
6: #
7:
8: AR=exec /bin/ar
9: ARFLAGS=rs
10: AS=exec /bin/as
11: CC=exec /bin/cc
12: CFLAGS=-VPSTR -D__COHERENT__
13:
14: USRSRC=/usr/src
15: USRINC=/usr/include
16: SYSINC=$(USRINC)/sys
17:
18: IOOBJ =\
19: $(K386OBJ)/bufq.o \
20: $(K386OBJ)/ct.o \
21: $(K386OBJ)/dmareq.o \
22: $(K386OBJ)/fdisk.o \
23: $(K386OBJ)/msg.o \
24: $(K386OBJ)/sem386.o \
25: $(K386OBJ)/shm1.o
26:
27: COHOBJ =\
28: $(K386OBJ)/alloc.o \
29: $(K386OBJ)/bio.o \
30: $(K386OBJ)/clist.o \
31: $(K386OBJ)/clock.o \
32: $(K386OBJ)/clocked.o \
33: $(K386OBJ)/exec.o \
34: $(K386OBJ)/fd.o \
35: $(K386OBJ)/fifo.o \
36: $(K386OBJ)/fs1.o \
37: $(K386OBJ)/fs2.o \
38: $(K386OBJ)/fs3.o \
39: $(K386OBJ)/main.o \
40: $(K386OBJ)/misc.o \
41: $(K386OBJ)/null.o \
42: $(K386OBJ)/poll.o \
43: $(K386OBJ)/printf.o \
44: $(K386OBJ)/proc.o \
45: $(K386OBJ)/rlock.o \
46: $(K386OBJ)/seg.o \
47: $(K386OBJ)/sig.o \
48: $(K386OBJ)/support.o \
49: $(K386OBJ)/sys1.o \
50: $(K386OBJ)/sys2.o \
51: $(K386OBJ)/sys3.o \
52: $(K386OBJ)/sys4.o \
53: $(K386OBJ)/sys5.o \
54: $(K386OBJ)/syscoh.o \
55: $(K386OBJ)/timeout.o \
56: $(K386OBJ)/var.o
57:
58: I386OBJ0 =\
59: $(K386OBJ)/as.o \
60: $(K386OBJ)/xdt.o \
61:
62: I386OBJ1 =\
63: $(K386OBJ)/atcon.o \
64: $(K386OBJ)/defer.o \
65: $(K386OBJ)/die.o \
66: $(K386OBJ)/dmac.o \
67: $(K386OBJ)/dmalock.o \
68: $(K386OBJ)/fakedma.o \
69: $(K386OBJ)/ff.o \
70: $(K386OBJ)/md.o \
71: $(K386OBJ)/mem_cache.o \
72: $(K386OBJ)/memcpy.o \
73: $(K386OBJ)/memset.o \
74: $(K386OBJ)/mmu.o \
75: $(K386OBJ)/msig.o \
76: $(K386OBJ)/ndp.o \
77: $(K386OBJ)/ndpas.o \
78: $(K386OBJ)/shm0.o \
79: $(K386OBJ)/sys1632.o \
80: $(K386OBJ)/tioc.o \
81: $(K386OBJ)/trap.o \
82: $(K386OBJ)/work.o
83:
84: I386OBJ = $(I386OBJ0) $(I386OBJ1)
85:
86: STUBS = $(K386OBJ)/stubs.o
87:
88: OPTS =\
89: $(K386OBJ)/aha.o \
90: $(K386OBJ)/aha_dsl.o \
91: $(K386OBJ)/albaud.o \
92: $(K386OBJ)/alx.o \
93: $(K386OBJ)/asy.o \
94: $(K386OBJ)/at.o \
95: $(K386OBJ)/com1.o \
96: $(K386OBJ)/com2.o \
97: $(K386OBJ)/hs.o \
98: $(K386OBJ)/ipc.o \
99: $(K386OBJ)/kb.o \
100: $(K386OBJ)/kb_d.o \
101: $(K386OBJ)/kb_f.o \
102: $(K386OBJ)/lp.o \
103: $(K386OBJ)/mm.o \
104: $(K386OBJ)/mmas.o \
105: $(K386OBJ)/nkb.o \
106: $(K386OBJ)/pipe.o \
107: $(K386OBJ)/pty.o \
108: $(K386OBJ)/putchar.o \
109: $(K386OBJ)/scsi.o \
110: $(K386OBJ)/sem386.o \
111: $(K386OBJ)/ss.o \
112: $(K386OBJ)/tty.o \
113: $(K386OBJ)/vtmm.o \
114: $(K386OBJ)/vtmmas.o \
115: $(K386OBJ)/vtkb.o \
116: $(K386OBJ)/vtkb_d.o \
117: $(K386OBJ)/vtkb_f.o \
118: $(K386OBJ)/vtnkb.o \
119: $(K386OBJ)/xlft.o \
120: $(K386OBJ)/xla.o \
121: $(K386OBJ)/xl_dec.o
122:
123: # LIBLIST is the .a files needed for 386 installation.
124: # k386.a is an aggregate used since 92/11/11 for driver kit kernel links.
125: # kl386.a was used in COH 4.0.0 and 4.0.1 to link a kernel on customer's
126: # hard drive during installation.
127: LIBLIST= \
128: $(K386LIB)/k386.a \
129: $(K386LIB)/kb.a \
130: $(K386LIB)/kb_d.a \
131: $(K386LIB)/kb_f.a \
132: $(K386LIB)/kl386.a \
133: $(K386LIB)/mm.a \
134: $(K386LIB)/nkb.a \
135: $(K386LIB)/vt.a \
136: $(K386LIB)/vtkb.a \
137: $(K386LIB)/vtkb_d.a \
138: $(K386LIB)/vtkb_f.a
139:
140: $(K386LIB)/kb.a: $(K386OBJ)/kb.o
141: rm -f $@
142: $(AR) $(ARFLAGS) $@ $<
143:
144: $(K386LIB)/kb_d.a: $(K386OBJ)/kb_d.o
145: rm -f $@
146: $(AR) $(ARFLAGS) $@ $<
147:
148: $(K386LIB)/kb_f.a: $(K386OBJ)/kb_f.o
149: rm -f $@
150: $(AR) $(ARFLAGS) $@ $<
151:
152: $(K386LIB)/nkb.a: $(K386OBJ)/nkb.o
153: rm -f $@
154: $(AR) $(ARFLAGS) $@ $<
155:
156: $(K386LIB)/mm.a: \
157: $(K386OBJ)/mm.o \
158: $(K386OBJ)/mmas.o
159: rm -f $@
160: $(AR) $(ARFLAGS) $@ $<
161:
162: $(K386LIB)/vt.a: \
163: $(K386OBJ)/vtmm.o \
164: $(K386OBJ)/vtmmas.o \
165: $(K386OBJ)/vtnkb.o
166: rm -f $@
167: $(AR) $(ARFLAGS) $@ $<
168:
169: $(K386LIB)/vtkb.a: \
170: $(K386OBJ)/vtmm.o \
171: $(K386OBJ)/vtmmas.o \
172: $(K386OBJ)/vtkb.o
173: rm -f $@
174: $(AR) $(ARFLAGS) $@ $<
175:
176: $(K386LIB)/vtkb_d.a: \
177: $(K386OBJ)/vtmm.o \
178: $(K386OBJ)/vtmmas.o \
179: $(K386OBJ)/vtkb_d.o
180: rm -f $@
181: $(AR) $(ARFLAGS) $@ $<
182:
183: $(K386LIB)/vtkb_f.a: \
184: $(K386OBJ)/vtmm.o \
185: $(K386OBJ)/vtmmas.o \
186: $(K386OBJ)/vtkb_f.o
187: rm -f $@
188: $(AR) $(ARFLAGS) $@ $<
189:
190: # k386.a is used for linking driver kit kernels.
191: $(K386LIB)/k386.a: $(I386OBJ) $(COHOBJ) $(IOOBJ)
192: rm -f $@
193: $(AR) $(ARFLAGS) $@ $(I386OBJ1) $(COHOBJ) $(IOOBJ)
194:
195: # kl386.a is used for linking customer kernels.
196: $(K386LIB)/kl386.a: \
197: $(K386OBJ)/aha.o \
198: $(K386OBJ)/aha_dsl.o \
199: $(K386OBJ)/albaud.o \
200: $(K386OBJ)/asy.o \
201: $(K386OBJ)/at.o \
202: $(K386OBJ)/fdc.o \
203: $(K386OBJ)/fl386.o \
204: $(K386OBJ)/ipc.o \
205: $(K386OBJ)/lp.o \
206: $(K386OBJ)/msg.o \
207: $(K386OBJ)/pipe.o \
208: $(K386OBJ)/pty.o \
209: $(K386OBJ)/putchar.o \
210: $(K386OBJ)/rm.o \
211: $(K386OBJ)/scsi.o \
212: $(K386OBJ)/sem386.o \
213: $(K386OBJ)/shm1.o \
214: $(K386OBJ)/ss.o \
215: $(K386OBJ)/tty.o \
216: $(K386OBJ)/xlft.o \
217: $(K386OBJ)/xla.o \
218: $(K386OBJ)/xl_dec.o \
219: $(K386OBJ)/memcpy.o \
220: $(K386OBJ)/memset.o
221: rm -f $@
222: $(AR) $(ARFLAGS) $@ $<
223:
224: $(K386LIB)/ker386.o: $(I386OBJ) coh io $(STUBS)
225: ld -r -o $@ $(I386OBJ) $(COHOBJ) $(IOOBJ)
226:
227: coh:
228: cd ../coh.386; make "CFLAGS=$(CFLAGS)" "CC=$(CC)"
229:
230: io:
231: cd ../io.386; make "CFLAGS=$(CFLAGS)" "CC=$(CC)"
232:
233: libs: $(LIBLIST)
234: @/bin/echo "Installation libraries up to date."
235:
236: $(K386OBJ)/as.o: as.s as.inc
237: $(AS) -g -o $@ as.s
238:
239: $(K386OBJ)/xdt.o: xdt.s as.inc
240: $(AS) -g -o $@ xdt.s
241:
242: $(K386OBJ)/atcon.o: \
243: $(SYSINC)/coherent.h $(SYSINC)/types.h $(SYSINC)/timeout.h \
244: $(SYSINC)/reg.h $(SYSINC)/param.h \
245: $(SYSINC)/fun.h \
246: $(SYSINC)/con.h \
247: $(USRINC)/mtype.h \
248: $(SYSINC)/stat.h \
249: atcon.c
250: $(CC) $(CFLAGS) -c -o $@ atcon.c
251:
252: $(K386OBJ)/defer.o: defer.c
253: $(CC) $(CFLAGS) -c -o $@ $<
254:
255: $(K386OBJ)/die.o: die.c
256: $(CC) $(CFLAGS) -c -o $@ $<
257:
258: $(K386OBJ)/dmac.o: dmac.c
259: $(CC) $(CFLAGS) -c -o $@ $<
260:
261: $(K386OBJ)/dmalock.o: dmalock.c
262: $(CC) $(CFLAGS) -c -o $@ $<
263:
264: $(K386OBJ)/fakedma.o: fakedma.c
265: $(CC) $(CFLAGS) -c -o $@ $<
266:
267: $(K386OBJ)/ff.o: ff.c
268: $(CC) $(CFLAGS) -c -o $@ $<
269:
270: $(K386OBJ)/fvcon.o: \
271: $(SYSINC)/coherent.h $(SYSINC)/types.h $(SYSINC)/timeout.h \
272: $(SYSINC)/reg.h $(SYSINC)/param.h \
273: $(SYSINC)/fun.h \
274: $(SYSINC)/con.h \
275: $(USRINC)/mtype.h \
276: $(SYSINC)/stat.h \
277: fvcon.c
278: $(CC) $(CFLAGS) -c -o $@ fvcon.c
279:
280: $(K386OBJ)/md.o: md.c
281: $(CC) $(CFLAGS) -c -o $@ $<
282:
283: $(K386OBJ)/mem_cache.o: mem_cache.c
284: $(CC) $(CFLAGS) -c -o $@ $<
285:
286: $(K386OBJ)/memcpy.o: memcpy.s
287: $(AS) -g -o $@ memcpy.s
288:
289: $(K386OBJ)/memset.o: memset.s
290: $(AS) -g -o $@ memset.s
291:
292: $(K386OBJ)/mmu.o: mmu.c
293: $(CC) $(CFLAGS) -VSUVAR -c -o $@ $<
294:
295: $(K386OBJ)/msig.o: msig.c $(SYSINC)/coherent.h
296: $(CC) $(CFLAGS) -VSUVAR -c -o $@ msig.c
297:
298: $(K386OBJ)/ndpas.o: ndpas.s
299: $(AS) -g -o $@ ndpas.s
300:
301: $(K386OBJ)/ndp.o: ndp.c
302: $(CC) $(CFLAGS) -c -o $@ $<
303:
304: $(K386OBJ)/shm0.o: shm0.c
305: $(CC) $(CFLAGS) -c -o $@ $<
306:
307: $(K386OBJ)/stubs.o: stubs.s
308: $(AS) -g -o $@ stubs.s
309:
310: $(K386OBJ)/sys1632.o: sys1632.c \
311: $(SYSINC)/coherent.h $(SYSINC)/types.h $(SYSINC)/timeout.h \
312: $(SYSINC)/reg.h $(SYSINC)/param.h \
313: $(SYSINC)/fun.h \
314: $(SYSINC)/acct.h \
315: $(SYSINC)/buf.h \
316: $(SYSINC)/con.h \
317: $(USRINC)/errno.h \
318: $(SYSINC)/filsys.h \
319: $(SYSINC)/ino.h \
320: $(SYSINC)/inode.h \
321: $(USRINC)/l.out.h \
322: $(SYSINC)/proc.h \
323: $(SYSINC)/sched.h \
324: $(SYSINC)/seg.h \
325: $(USRINC)/signal.h \
326: $(SYSINC)/uproc.h \
327: $(SYSINC)/reg.h \
328: $(SYSINC)/systab.h \
329: $(SYSINC)/oldstat.h \
330: $(SYSINC)/timeb.h \
331: $(SYSINC)/fd.h \
332: $(USRINC)/sgtty.h
333: $(CC) $(CFLAGS) -c -o $@ sys1632.c
334:
335: $(K386OBJ)/tioc.o: tioc.c
336: $(CC) $(CFLAGS) -c -o $@ $<
337:
338: $(K386OBJ)/trap.o: trap.c
339: $(CC) $(CFLAGS) -VSUVAR -c -o $@ $<
340:
341: $(K386OBJ)/work.o: work.c
342: $(CC) $(CFLAGS) -c -o $@ $<
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.