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