|
|
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.