|
|
1.1 root 1: # $Header: /newbits/286_KERNEL/USRSRC/ldrv/RCS/Makefile,v 1.3 92/01/09 13:40:38 root Exp Locker: root $(USRSRC)/ldrv/RCS/Makefile,v 1.2 91/04/30 18:38:22 root Exp $
2:
3: # Loadable Drivers - Makefile
4: #
5:
6: # Include directories
7: USRINC=/usr/include
8: SYSINC=/usr/include/sys
9:
10: CC=exec /bin/cc
11: CFLAGS=
12:
13: TARGETS=$(USRSYS)/lib/ldrts0.o \
14: $(USRSYS)/lib/ldmain.o \
15: $(USRSYS)/lib/ldswap.o \
16: $(USRSYS)/lib/ldlib.a
17:
18: ld_support: $(TARGETS)
19: @sync
20:
21: $(USRSYS)/lib/ldrts0.o: ldrts0.s
22: as -xo $@ $<
23:
24: $(USRSYS)/lib/ldmain.o: ldmain.c
25: $(CC) $(CFLAGS) -c -o $@ $<
26:
27: $(USRSYS)/lib/ldswap.o: ldswap.c
28: $(CC) $(CFLAGS) -DNOMONITOR -c -o $@ $<
29:
30: # The following script extracts a module from a library.
31: X_LIB= OBJFIL=`basename $@ | sed 's/L//'` ;\
32: ar x $< $$OBJFIL ;\
33: mv $$OBJFIL $@
34:
35: # The following modules are supported in loadable drivers.
36: # NOTE: Most of them are interface stubs to kernel code.
37: # Some of them are entirely driver resident.
38: LIBOBJ1=$(LOBJ)/absL.o \
39: $(LOBJ)/allocL.o \
40: $(LOBJ)/bclaimL.o \
41: $(LOBJ)/bdoneL.o \
42: $(LOBJ)/blkmvL.o \
43: $(LOBJ)/bootL.o \
44: $(LOBJ)/breadL.o \
45: $(LOBJ)/breleaseL.o \
46: $(LOBJ)/clockedfL.o \
47: $(LOBJ)/clrqL.o \
48: $(LOBJ)/cs_selfL.o \
49: $(LOBJ)/dblockL.o \
50: $(LOBJ)/dcloseL.o \
51: $(LOBJ)/deferL.o \
52: $(LOBJ)/devmsgL.o \
53: $(LOBJ)/dioctlL.o \
54: $(LOBJ)/dmagoL.o \
55: $(LOBJ)/dmalockL.o \
56: $(LOBJ)/dmaoffL.o \
57: $(LOBJ)/dmaonL.o \
58: $(LOBJ)/dmareqL.o \
59: $(LOBJ)/dopenL.o \
60: $(LOBJ)/dpollL.o \
61: $(LOBJ)/dpowerL.o \
62: $(LOBJ)/dreadL.o \
63: $(LOBJ)/drvmapL.o \
64: $(LOBJ)/dtimeL.o \
65: $(LOBJ)/dwriteL.o \
66: $(LOBJ)/fclearL.o \
67: $(LOBJ)/fdiskL.o \
68: $(LOBJ)/ffbyteL.o \
69: $(LOBJ)/ffwordL.o \
70: $(LOBJ)/ffmemL.o \
71: $(LOBJ)/fkcopyL.o \
72: $(LOBJ)/fpxcopyL.o \
73: $(LOBJ)/freeL.o \
74: $(LOBJ)/fucopyL.o \
75: $(LOBJ)/getcsL.o \
76: $(LOBJ)/getqL.o \
77: $(LOBJ)/getubdL.o \
78: $(LOBJ)/getuwdL.o \
79: $(LOBJ)/inbL.o \
80: $(LOBJ)/int11L.o \
81: $(LOBJ)/iogetcL.o \
82: $(LOBJ)/iomapvpL.o \
83: $(LOBJ)/ioputcL.o \
84: $(LOBJ)/ioreadL.o \
85: $(LOBJ)/ioreqL.o \
86: $(LOBJ)/iowriteL.o \
87: $(LOBJ)/ipcaccessL.o \
88: $(LOBJ)/kcallL.o \
89: $(LOBJ)/kfcopyL.o \
90: $(LOBJ)/kclearL.o \
91: $(LOBJ)/kpcopyL.o \
92: $(LOBJ)/kucopyL.o \
93: $(LOBJ)/lockL.o \
94: $(LOBJ)/lxdivL.o \
95: $(LOBJ)/lxmulL.o \
96: $(LOBJ)/lxremL.o \
97: $(LOBJ)/lxsgnL.o \
98: $(LOBJ)/memsetL.o \
99: $(LOBJ)/memtestL.o \
100: $(LOBJ)/nmidisableL.o \
101: $(LOBJ)/nmienableL.o \
102: $(LOBJ)/nondsigL.o \
103: $(LOBJ)/nonedevL.o \
104: $(LOBJ)/nulldevL.o \
105:
106: LIBOBJ2=$(LOBJ)/outbL.o \
107: $(LOBJ)/panicL.o \
108: $(LOBJ)/pclearL.o \
109: $(LOBJ)/pkcopyL.o \
110: $(LOBJ)/plrcopyL.o \
111: $(LOBJ)/pollopenL.o \
112: $(LOBJ)/pollwakeL.o \
113: $(LOBJ)/printfL.o \
114: $(LOBJ)/prlcopyL.o \
115: $(LOBJ)/ptovL.o \
116: $(LOBJ)/pucopyL.o \
117: $(LOBJ)/putcharL.o \
118: $(LOBJ)/putqL.o \
119: $(LOBJ)/putubdL.o \
120: $(LOBJ)/putuwdL.o \
121: $(LOBJ)/rucopyL.o \
122: $(LOBJ)/s5_to_sgL.o \
123: $(LOBJ)/s5_to_tcL.o \
124: $(LOBJ)/sallocL.o \
125: $(LOBJ)/sclearL.o \
126: $(LOBJ)/sendsigL.o \
127: $(LOBJ)/setivecL.o \
128: $(LOBJ)/sfreeL.o \
129: $(LOBJ)/sfbyteL.o \
130: $(LOBJ)/sfwordL.o \
131: $(LOBJ)/sfmemL.o \
132: $(LOBJ)/sg_to_s5L.o \
133: $(LOBJ)/sleepL.o \
134: $(LOBJ)/slrcopyL.o \
135: $(LOBJ)/sphiL.o \
136: $(LOBJ)/splL.o \
137: $(LOBJ)/sploL.o \
138: $(LOBJ)/superL.o \
139: $(LOBJ)/swapioL.o \
140: $(LOBJ)/tc_to_s5L.o \
141: $(LOBJ)/timeoutL.o \
142: $(LOBJ)/ttcloseL.o \
143: $(LOBJ)/tthupL.o \
144: $(LOBJ)/ttflushL.o \
145: $(LOBJ)/ttinL.o \
146: $(LOBJ)/ttioctlL.o \
147: $(LOBJ)/ttopenL.o \
148: $(LOBJ)/ttoutL.o \
149: $(LOBJ)/ttpollL.o \
150: $(LOBJ)/ttreadL.o \
151: $(LOBJ)/ttsetgrpL.o \
152: $(LOBJ)/ttsignalL.o \
153: $(LOBJ)/ttstartL.o \
154: $(LOBJ)/ttwriteL.o \
155: $(LOBJ)/uexitL.o \
156: $(LOBJ)/ufcopyL.o \
157: $(LOBJ)/ukcopyL.o \
158: $(LOBJ)/unlockL.o \
159: $(LOBJ)/upcopyL.o \
160: $(LOBJ)/urcopyL.o \
161: $(LOBJ)/vprintL.o \
162: $(LOBJ)/vrelseL.o \
163: $(LOBJ)/vremapL.o \
164: $(LOBJ)/vtopL.o \
165: $(LOBJ)/vxdivL.o \
166: $(LOBJ)/vxmulL.o \
167: $(LOBJ)/vxremL.o \
168: $(LOBJ)/waitqL.o \
169: $(LOBJ)/wakeupL.o \
170:
171: LIBOBJ3=$(LOBJ)/fifo_closeL.o \
172: $(LOBJ)/fifo_lenL.o \
173: $(LOBJ)/fifo_openL.o \
174: $(LOBJ)/fifo_readL.o \
175: $(LOBJ)/fifo_rewindL.o \
176: $(LOBJ)/fifo_writeL.o \
177:
178: $(USRSYS)/lib/ldlib.a: mkstub.m4 $(LIBOBJ1) $(LIBOBJ2) $(LIBOBJ3)
179: rm -f $@
180: ar rc $@ $(LIBOBJ1)
181: ar rc $@ $(LIBOBJ2)
182: ar rc $@ $(LIBOBJ3)
183: ranlib $@
184:
185: # Here is mkstub.m4:
186: #define(sym, substr(basename, -2, ))dnl
187: # .globl sym`_'
188: #sym`_': mov ax,`$K'sym`_'
189: # .byte 0x9A
190: # .word xcalled
191: # .word 0x0060
192: # ret
193:
194: MKSTUB= echo "define(basename, `basename $*`)dnl" | m4 - mkstub.m4 > $*.s ;\
195: as -gxo $@ $*.s; rm $*.s
196:
197: $(LOBJ)/absL.o:
198: $(MKSTUB)
199:
200: $(LOBJ)/allocL.o:
201: $(MKSTUB)
202:
203: $(LOBJ)/bclaimL.o:
204: $(MKSTUB)
205:
206: $(LOBJ)/bdoneL.o:
207: $(MKSTUB)
208:
209: $(LOBJ)/blkmvL.o: /lib/libc.a
210: $(X_LIB)
211:
212: $(LOBJ)/bootL.o:
213: $(MKSTUB)
214:
215: $(LOBJ)/breadL.o:
216: $(MKSTUB)
217:
218: $(LOBJ)/breleaseL.o:
219: $(MKSTUB)
220:
221: $(LOBJ)/clockedfL.o: clockedf.c
222: $(CC) $(CFLAGS) -c -o $@ $<
223:
224: $(LOBJ)/clrivecL.o:
225: $(MKSTUB)
226:
227: $(LOBJ)/clrqL.o:
228: $(MKSTUB)
229:
230: $(LOBJ)/cs_selfL.o: cs_self.s
231: as -gxo $@ $<
232:
233: $(LOBJ)/dblockL.o:
234: $(MKSTUB)
235:
236: $(LOBJ)/dcloseL.o:
237: $(MKSTUB)
238:
239: $(LOBJ)/deferL.o: defer.s
240: as -gxo $@ $<
241:
242: $(LOBJ)/devmsgL.o:
243: $(MKSTUB)
244:
245: $(LOBJ)/dioctlL.o:
246: $(MKSTUB)
247:
248: $(LOBJ)/dmagoL.o:
249: $(MKSTUB)
250:
251: $(LOBJ)/dmalockL.o: dmalock.c
252: $(CC) $(CFLAGS) -c -o $@ $<
253:
254: $(LOBJ)/dmaoffL.o:
255: $(MKSTUB)
256:
257: $(LOBJ)/dmaonL.o:
258: $(MKSTUB)
259:
260: $(LOBJ)/dmareqL.o:
261: $(MKSTUB)
262:
263: $(LOBJ)/dopenL.o:
264: $(MKSTUB)
265:
266: $(LOBJ)/dpollL.o:
267: $(MKSTUB)
268:
269: $(LOBJ)/dpowerL.o:
270: $(MKSTUB)
271:
272: $(LOBJ)/dreadL.o:
273: $(MKSTUB)
274:
275: $(LOBJ)/drvmapL.o:
276: $(MKSTUB)
277:
278: $(LOBJ)/dtimeL.o:
279: $(MKSTUB)
280:
281: $(LOBJ)/dwriteL.o:
282: $(MKSTUB)
283:
284: $(LOBJ)/fclearL.o:
285: $(MKSTUB)
286:
287: $(LOBJ)/fdiskL.o:
288: $(MKSTUB)
289:
290: $(LOBJ)/ffbyteL.o: ffbyte.s
291: as -gxo $@ $<
292:
293: $(LOBJ)/ffwordL.o: ffword.s
294: as -gxo $@ $<
295:
296: $(LOBJ)/ffmemL.o: ffmem.s
297: as -gxo $@ $<
298:
299: $(LOBJ)/fkcopyL.o:
300: $(MKSTUB)
301:
302: $(LOBJ)/fpxcopyL.o:
303: $(MKSTUB)
304:
305: $(LOBJ)/freeL.o:
306: $(MKSTUB)
307:
308: $(LOBJ)/fucopyL.o:
309: $(MKSTUB)
310:
311: $(LOBJ)/getcsL.o: getcs.s
312: as -gxo $@ $<
313:
314: $(LOBJ)/getqL.o:
315: $(MKSTUB)
316:
317: $(LOBJ)/getubdL.o:
318: $(MKSTUB)
319:
320: $(LOBJ)/getuwdL.o:
321: $(MKSTUB)
322:
323: $(LOBJ)/inbL.o: inb.s
324: as -gxo $@ $<
325:
326: $(LOBJ)/int11L.o:
327: $(MKSTUB)
328:
329: $(LOBJ)/iogetcL.o:
330: $(MKSTUB)
331:
332: $(LOBJ)/iomapvpL.o:
333: $(MKSTUB)
334:
335: $(LOBJ)/ioputcL.o:
336: $(MKSTUB)
337:
338: $(LOBJ)/ioreadL.o:
339: $(MKSTUB)
340:
341: $(LOBJ)/ioreqL.o:
342: $(MKSTUB)
343:
344: $(LOBJ)/iowriteL.o:
345: $(MKSTUB)
346:
347: $(LOBJ)/ipcaccessL.o:
348: $(MKSTUB)
349:
350: $(LOBJ)/kcallL.o: kcall.s
351: as -gxo $@ $<
352:
353: $(LOBJ)/kclearL.o:
354: $(MKSTUB)
355:
356: $(LOBJ)/kfcopyL.o:
357: $(MKSTUB)
358:
359: $(LOBJ)/kpcopyL.o:
360: $(MKSTUB)
361:
362: $(LOBJ)/kucopyL.o:
363: $(MKSTUB)
364:
365: $(LOBJ)/lockL.o:
366: $(MKSTUB)
367:
368: $(LOBJ)/lxdivL.o: /lib/libc.a
369: $(X_LIB)
370:
371: $(LOBJ)/lxmulL.o: /lib/libc.a
372: $(X_LIB)
373:
374: $(LOBJ)/lxremL.o: /lib/libc.a
375: $(X_LIB)
376:
377: $(LOBJ)/lxsgnL.o: /lib/libc.a
378: $(X_LIB)
379:
380: $(LOBJ)/memsetL.o: /lib/libc.a
381: $(X_LIB)
382:
383: $(LOBJ)/memtestL.o:
384: $(MKSTUB)
385:
386: $(LOBJ)/nmidisableL.o:
387: $(MKSTUB)
388:
389: $(LOBJ)/nmienableL.o:
390: $(MKSTUB)
391:
392: $(LOBJ)/nondsigL.o:
393: $(MKSTUB)
394:
395: $(LOBJ)/nonedevL.o: nonedev.c
396: $(CC) $(CFLAGS) -c -o $@ $<
397:
398: $(LOBJ)/nulldevL.o: nulldev.c
399: $(CC) $(CFLAGS) -c -o $@ $<
400:
401: $(LOBJ)/outbL.o: outb.s
402: as -gxo $@ $<
403:
404: $(LOBJ)/panicL.o:
405: $(MKSTUB)
406:
407: $(LOBJ)/pclearL.o:
408: $(MKSTUB)
409:
410: $(LOBJ)/plrcopyL.o:
411: $(MKSTUB)
412:
413: $(LOBJ)/pkcopyL.o:
414: $(MKSTUB)
415:
416: $(LOBJ)/pollopenL.o:
417: $(MKSTUB)
418:
419: $(LOBJ)/pollwakeL.o:
420: $(MKSTUB)
421:
422: $(LOBJ)/printfL.o:
423: $(MKSTUB)
424:
425: $(LOBJ)/prlcopyL.o:
426: $(MKSTUB)
427:
428: $(LOBJ)/ptovL.o:
429: $(MKSTUB)
430:
431: $(LOBJ)/pucopyL.o:
432: $(MKSTUB)
433:
434: $(LOBJ)/putcharL.o:
435: $(MKSTUB)
436:
437: $(LOBJ)/putqL.o:
438: $(MKSTUB)
439:
440: $(LOBJ)/putubdL.o:
441: $(MKSTUB)
442:
443: $(LOBJ)/putuwdL.o:
444: $(MKSTUB)
445:
446: $(LOBJ)/rucopyL.o:
447: $(MKSTUB)
448:
449: $(LOBJ)/s5_to_sgL.o:
450: $(MKSTUB)
451:
452: $(LOBJ)/s5_to_tcL.o:
453: $(MKSTUB)
454:
455: $(LOBJ)/sallocL.o:
456: $(MKSTUB)
457:
458: $(LOBJ)/sclearL.o:
459: $(MKSTUB)
460:
461: $(LOBJ)/sendsigL.o:
462: $(MKSTUB)
463:
464: $(LOBJ)/setivecL.o: setivec.c
465: $(CC) $(CFLAGS) -c -o $@ $<
466:
467: $(LOBJ)/sfreeL.o:
468: $(MKSTUB)
469:
470: $(LOBJ)/sfbyteL.o: sfbyte.s
471: as -gxo $@ $<
472:
473: $(LOBJ)/sfwordL.o: sfword.s
474: as -gxo $@ $<
475:
476: $(LOBJ)/sfmemL.o: sfmem.s
477: as -gxo $@ $<
478:
479: $(LOBJ)/sg_to_s5L.o:
480: $(MKSTUB)
481:
482: $(LOBJ)/sleepL.o:
483: $(MKSTUB)
484:
485: $(LOBJ)/slrcopyL.o:
486: $(MKSTUB)
487:
488: $(LOBJ)/sphiL.o: sphi.s
489: as -gxo $@ $<
490:
491: $(LOBJ)/splL.o: spl.s
492: as -gxo $@ $<
493:
494: $(LOBJ)/sploL.o: splo.s
495: as -gxo $@ $<
496:
497: $(LOBJ)/superL.o:
498: $(MKSTUB)
499:
500: $(LOBJ)/swapioL.o:
501: $(MKSTUB)
502:
503: $(LOBJ)/tc_to_s5L.o:
504: $(MKSTUB)
505:
506: $(LOBJ)/timeoutL.o: timeout.c
507: $(CC) $(CFLAGS) -c -o $@ $<
508:
509: $(LOBJ)/ttcloseL.o:
510: $(MKSTUB)
511:
512: $(LOBJ)/ttflushL.o:
513: $(MKSTUB)
514:
515: $(LOBJ)/tthupL.o:
516: $(MKSTUB)
517:
518: $(LOBJ)/ttinL.o:
519: $(MKSTUB)
520:
521: $(LOBJ)/ttioctlL.o:
522: $(MKSTUB)
523:
524: $(LOBJ)/ttopenL.o:
525: $(MKSTUB)
526:
527: $(LOBJ)/ttoutL.o:
528: $(MKSTUB)
529:
530: $(LOBJ)/ttpollL.o:
531: $(MKSTUB)
532:
533: $(LOBJ)/ttreadL.o:
534: $(MKSTUB)
535:
536: $(LOBJ)/ttsetgrpL.o:
537: $(MKSTUB)
538:
539: $(LOBJ)/ttsignalL.o:
540: $(MKSTUB)
541:
542: $(LOBJ)/ttstartL.o:
543: $(MKSTUB)
544:
545: $(LOBJ)/ttwriteL.o:
546: $(MKSTUB)
547:
548: $(LOBJ)/uexitL.o:
549: $(MKSTUB)
550:
551: $(LOBJ)/ufcopyL.o:
552: $(MKSTUB)
553:
554: $(LOBJ)/ukcopyL.o:
555: $(MKSTUB)
556:
557: $(LOBJ)/unlockL.o:
558: $(MKSTUB)
559:
560: $(LOBJ)/upcopyL.o:
561: $(MKSTUB)
562:
563: $(LOBJ)/urcopyL.o:
564: $(MKSTUB)
565:
566: $(LOBJ)/vprintL.o:
567: $(MKSTUB)
568:
569: $(LOBJ)/vrelseL.o:
570: $(MKSTUB)
571:
572: $(LOBJ)/vremapL.o:
573: $(MKSTUB)
574:
575: $(LOBJ)/vtopL.o:
576: $(MKSTUB)
577:
578: $(LOBJ)/vxdivL.o: /lib/libc.a
579: $(X_LIB)
580:
581: $(LOBJ)/vxmulL.o: /lib/libc.a
582: $(X_LIB)
583:
584: $(LOBJ)/vxremL.o: /lib/libc.a
585: $(X_LIB)
586:
587: $(LOBJ)/waitqL.o:
588: $(MKSTUB)
589:
590: $(LOBJ)/wakeupL.o:
591: $(MKSTUB)
592:
593: $(LOBJ)/fifo_closeL.o:
594: $(MKSTUB)
595:
596: $(LOBJ)/fifo_lenL.o:
597: $(MKSTUB)
598:
599: $(LOBJ)/fifo_openL.o:
600: $(MKSTUB)
601:
602: $(LOBJ)/fifo_readL.o:
603: $(MKSTUB)
604:
605: $(LOBJ)/fifo_rewindL.o:
606: $(MKSTUB)
607:
608: $(LOBJ)/fifo_writeL.o:
609: $(MKSTUB)
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.