|
|
1.1 ! root 1: # i386 Mach makefile fragment ! 2: # Copyright 1997 Free Software Foundation, Inc. ! 3: # ! 4: # Permission to use, copy, modify and distribute this software and its ! 5: # documentation is hereby granted, provided that both the copyright ! 6: # notice and this permission notice appear in all copies of the ! 7: # software, derivative works or modified versions, and any portions ! 8: # thereof, and that both notices appear in supporting documentation. ! 9: # ! 10: # THE FREE SOFTWARE FOUNDATION ALLOWS FREE USE OF THIS SOFTWARE IN ITS ! 11: # "AS IS" CONDITION. THE FREE SOFTWARE FOUNDATION DISCLAIMS ANY ! 12: # LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE ! 13: # USE OF THIS SOFTWARE. ! 14: ! 15: ! 16: # Some of the i386-specific code checks for these. ! 17: DEFINES += -DCONTINUATIONS -DLINUX_DEV -D__ELF__ -Di386 ! 18: ! 19: # Source files for any i386 kernel ! 20: i386at-files = autoconf.c blit.c conf.c cons_conf.c fd.c rtc.c \ ! 21: i386at_ds_routines.c immc.c int_init.c iopl.c kd.c kd_event.c \ ! 22: kd_mouse.c kd_queue.c model_dep.c phys_mem_grab_page.c pic_isa.c ! 23: i386-files = ast_check.c db_disasm.c db_interface.c db_trace.c debug_i386.c \ ! 24: fpe_linkage.c fpu.c gdt.c hardclock.c idt.c io_emulate.c io_map.c \ ! 25: iopb.c ktss.c kttd_interface.c ldt.c loose_ends.c mp_desc.c pcb.c \ ! 26: phys.c pic.c pit.c seg.c trap.c user_ldt.c ! 27: intel-files = pmap.c read_fault.c ! 28: ! 29: # Drivers; not used in all kernel, but only if selected. ! 30: driver-files= com.c ! 31: ! 32: # Assembler source ! 33: i386at-Sfiles = boothdr.S interrupt.S kdasm.S ! 34: i386-Sfiles = cswitch.S debug_trace.S idt_inittab.S locore.S spl.S ! 35: ! 36: # Account for them in the image ! 37: objfiles += $(subst .c,.o,$(i386at-files) $(i386-files) $(intel-files)) \ ! 38: $(subst .S,.o,$(i386at-Sfiles) $(i386-Sfiles)) ! 39: vpath %.c $(sysdep)/i386at $(sysdep)/i386 $(sysdep)/intel ! 40: vpath %.S $(sysdep)/i386at $(sysdep)/i386 ! 41: ! 42: # Files from the generic source that we want ! 43: objfiles += busses.o cirbuf.o ! 44: vpath busses.c $(srcdir)/chips ! 45: ! 46: # FPE emulation ! 47: objfiles += fpe.o ! 48: ! 49: # Mig-generated ! 50: objfiles += mach_i386_server.o ! 51: ! 52: ### Linux device drivers (make this Better, Please) ! 53: ! 54: linux-gen-files = $(addprefix linux_,$(linux-gen-names)) ! 55: linux-gen-names = autoirq.c block.c dma.c init.c irq.c kmem.c misc.c net.c \ ! 56: port.c printk.c sched.c soft.c timer.c version.c vsprintf.c ! 57: ! 58: linux-block-files = cmd640.c floppy.c genhd.c ide-cd.c ide.c rz1000.c triton.c ! 59: ! 60: linux-net-files = 3c501.c 3c503.c 3c505.c 3c507.c 3c509.c 3c59x.c \ ! 61: 8390.c Space.c ac3200.c apricot.c at1700.c atp.c \ ! 62: de4x5.c de600.c de620.c depca.c dev.c e2100.c eepro.c eexpress.c \ ! 63: eth16i.c ewrk3.c hp-plus.c hp.c hp100.c lance.c ne.c net_init.c \ ! 64: ni52.c ni65.c seeq8005.c sk_g16.c smc-ultra.c tulip.c \ ! 65: wavelan.c wd.c znet.c ! 66: ! 67: linux-pci-files = bios32.c pci.c ! 68: ! 69: linux-scsi-files = 53c7,8xx.c AM53C974.c BusLogic.c NCR53c406a.c advansys.c \ ! 70: aha152x.c aha1542.c aha1740.c aic7xxx.c constants.c eata.c eata_dma.c \ ! 71: eata_pio.c fdomain.c g_NCR5380.c hosts.c in2000.c pas16.c qlogic.c \ ! 72: scsi.c scsi_debug.c scsi_ioctl.c scsi_proc.c scsicam.c sd.c \ ! 73: sd_ioctl.c seagate.c sr.c sr_ioctl.c t128.c u14-34f.c \ ! 74: ultrastor.c wd7000.c ! 75: ! 76: all-linux-files = $(linux-gen-files) $(linux-block-files) \ ! 77: $(linux-net-files) $(linux-pci-files) $(linux-scsi-files) ! 78: ! 79: # These are always used. ! 80: objfiles += $(subst .c,.o,$(filter-out linux_net.c,$(linux-gen-files))) ! 81: objfiles += $(subst .c,.o,$(linux-pci-files)) genhd.o ! 82: ! 83: vpath %.c $(sysdep)/i386at/gpl/linux $(sysdep)/i386at/gpl/linux/block ! 84: vpath %.c $(sysdep)/i386at/gpl/linux/net $(sysdep)/i386at/gpl/linux/pci ! 85: vpath %.c $(sysdep)/i386at/gpl/linux/scsi ! 86: ! 87: # These files need special flags for compilation; each one will ! 88: # have a variable like wd7000.c-linux-flags with those flags. ! 89: CFLAGS += $($(<F)-linux-flags) ! 90: ! 91: # These flags are: ! 92: # Instead of Mach's KERNEL, Linux uses __KERNEL__. Whee. ! 93: # Arrange for special include directories too. ! 94: # Because of the use of `extern inline' in some Linux header files without ! 95: # corresponding text-segment definitions, we must always optimize. ! 96: linux-spec-flags= -D__KERNEL__ -I$(sysdep)/i386at/gpl/linux \ ! 97: -I$(sysdep)/i386at/gpl/linux/include -O2 ! 98: ! 99: # Here is where those specs are found. ! 100: include linux-flags ! 101: ! 102: # How to make this file: ! 103: ! 104: linux-flags: $(sysdep)/Makefrag ! 105: rm -f $@ ! 106: for i in $(all-linux-files); do \ ! 107: echo $$i-linux-flags '= $$(linux-spec-flags)' >> $@; \ ! 108: done ! 109: echo 'linux-flags-done='$(all-linux-files) >> $@ ! 110: ! 111: # If we haven't included `linux-flags' properly, then don't try and build ! 112: # .d files. ! 113: ifneq ($(linux-flags-done),$(all-linux-files)) ! 114: no_deps=t ! 115: endif ! 116: ! 117: ### End Linux device drivers grot ! 118: ! 119: ! 120: ! 121: include i386/driverlist ! 122: objfiles += $(device_drivers) ! 123: ! 124: ! 125: ! 126: # Where to find some things ! 127: vpath i386asm.sym $(sysdep)/i386 ! 128: vpath mach_i386.srv $(sysdep)/i386 ! 129: ! 130: # Make sure boothdr.o is at the very front ! 131: objfiles := boothdr.o $(filter-out boothdr.o,$(objfiles)) ! 132: ! 133: # Our include files are here; make sure they PRECEDE the generic ones. ! 134: INCLUDES := -I$(sysdep)/i386at -I$(sysdep)/i386 \ ! 135: -I$(sysdep)/include -I$(sysdep)/include/mach/sa \ ! 136: -I$(sysdep)/bogus -I$(sysdep) \ ! 137: $(INCLUDES) ! 138: ! 139: # arrange suitable load address ! 140: LDFLAGS += -Ttext 100000 ! 141: ! 142: # Assemble .S files correctly ! 143: ASFLAGS += -DASSEMBLER ! 144: ! 145: boothdr.o: i386asm.h ! 146: ! 147: ! 148: # Header files we install ! 149: ! 150: # We have our own version of this file ! 151: installed-headers := $(filter-out mach/proc_ops.h,$(installed-headers)) ! 152: ! 153: i386-installed-headers= mach/proc_ops.h \ ! 154: $(addprefix mach/i386/,asm.h bios.h boolean.h code16.h \ ! 155: debug_reg.h disk.h dpmi.h eflags.h exception.h far_ptr.h \ ! 156: fp_reg.h ioccom.h kern_return.h mach_i386.defs \ ! 157: mach_i386_types.h machine_types.defs multiboot.h paging.h \ ! 158: pio.h pmode.h proc_reg.h rpc.h seg.h syscall_sw.h \ ! 159: thread_status.h time_stamp.h trap.h tss.h vcpi.h vm_param.h \ ! 160: vm_types.h) ! 161: ! 162: ! 163: # Autoconf support ! 164: ! 165: $(sysdep)/configure: $(sysdep)/Drivers.in $(srcdir)/Drivers.macros ! 166: cd $(sysdep) && rm -f configure && autoconf Drivers.in > configure ! 167: ! 168: $(systype)/device-drivers.h $(systype)/driverlist: $(sysdep)/driverlist.in $(systype)/config.status ! 169: cd $(systype) && ./config.status ! 170: ! 171: $(systype)/config.status: $(sysdep)/configure ! 172: cd $(systype) && ./config.status --recheck ! 173: ! 174: ! 175: ! 176: ! 177: # Cheat, cheat, cheat. ! 178: fpe.o: fpe.b_elf ! 179: uudecode $< ! 180: vpath fpe.b_elf $(sysdep)/i386 ! 181: ! 182: fpe.d:; touch $@
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.