Annotation of Gnu-Mach/i386/Makefrag, revision 1.1.1.2

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
1.1.1.2 ! root       20: i386at-files = autoconf.c blit.c com.c conf.c cons_conf.c fd.c rtc.c \
1.1       root       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: # Assembler source
                     30: i386at-Sfiles = boothdr.S interrupt.S kdasm.S
                     31: i386-Sfiles = cswitch.S debug_trace.S idt_inittab.S locore.S spl.S
                     32: 
                     33: # Account for them in the image
                     34: objfiles += $(subst .c,.o,$(i386at-files) $(i386-files) $(intel-files)) \
                     35:            $(subst .S,.o,$(i386at-Sfiles) $(i386-Sfiles))
                     36: vpath %.c $(sysdep)/i386at $(sysdep)/i386 $(sysdep)/intel
                     37: vpath %.S $(sysdep)/i386at $(sysdep)/i386
                     38: 
                     39: # Files from the generic source that we want
                     40: objfiles += busses.o cirbuf.o
                     41: vpath busses.c $(srcdir)/chips
                     42: 
                     43: # FPE emulation
                     44: objfiles += fpe.o
                     45: 
                     46: # Mig-generated
                     47: objfiles += mach_i386_server.o
                     48: 
1.1.1.2 ! root       49: # This file is only needed for KDB support.
        !            50: ifeq ($(enable_kdb),yes)
        !            51: objfiles += _setjmp.o
        !            52: endif
        !            53: 
1.1       root       54: ### Linux device drivers (make this Better, Please)
                     55: 
                     56: linux-gen-files = $(addprefix linux_,$(linux-gen-names))
                     57: linux-gen-names = autoirq.c block.c dma.c init.c irq.c kmem.c misc.c net.c \
                     58:                port.c printk.c sched.c soft.c timer.c version.c vsprintf.c
                     59: 
                     60: linux-block-files = cmd640.c floppy.c genhd.c ide-cd.c ide.c rz1000.c triton.c
                     61: 
                     62: linux-net-files = 3c501.c 3c503.c 3c505.c 3c507.c 3c509.c 3c59x.c \
                     63:        8390.c Space.c ac3200.c apricot.c at1700.c atp.c \
                     64:        de4x5.c de600.c de620.c depca.c dev.c e2100.c eepro.c eexpress.c \
                     65:        eth16i.c ewrk3.c hp-plus.c hp.c hp100.c lance.c ne.c net_init.c \
                     66:        ni52.c ni65.c seeq8005.c sk_g16.c smc-ultra.c tulip.c \
                     67:        wavelan.c wd.c znet.c
                     68: 
                     69: linux-pci-files = bios32.c pci.c
                     70: 
1.1.1.2 ! root       71: linux-scsi-files = 53c78xx.c AM53C974.c BusLogic.c NCR53c406a.c advansys.c \
1.1       root       72:        aha152x.c aha1542.c aha1740.c aic7xxx.c constants.c eata.c eata_dma.c \
                     73:        eata_pio.c fdomain.c g_NCR5380.c hosts.c in2000.c pas16.c qlogic.c \
                     74:        scsi.c scsi_debug.c scsi_ioctl.c scsi_proc.c scsicam.c sd.c \
                     75:        sd_ioctl.c seagate.c sr.c sr_ioctl.c t128.c u14-34f.c \
                     76:        ultrastor.c wd7000.c
                     77: 
                     78: all-linux-files = $(linux-gen-files) $(linux-block-files) \
                     79:                $(linux-net-files) $(linux-pci-files) $(linux-scsi-files)
                     80: 
                     81: # These are always used.
                     82: objfiles += $(subst .c,.o,$(filter-out linux_net.c,$(linux-gen-files)))
                     83: objfiles += $(subst .c,.o,$(linux-pci-files)) genhd.o
                     84: 
                     85: vpath %.c $(sysdep)/i386at/gpl/linux $(sysdep)/i386at/gpl/linux/block
                     86: vpath %.c $(sysdep)/i386at/gpl/linux/net $(sysdep)/i386at/gpl/linux/pci
                     87: vpath %.c $(sysdep)/i386at/gpl/linux/scsi
                     88: 
                     89: # These files need special flags for compilation; each one will
                     90: # have a variable like wd7000.c-linux-flags with those flags.
                     91: CFLAGS += $($(<F)-linux-flags)
                     92: 
                     93: # These flags are:
                     94: # Instead of Mach's KERNEL, Linux uses __KERNEL__.  Whee.
                     95: # Arrange for special include directories too.
                     96: # Because of the use of `extern inline' in some Linux header files without
                     97: # corresponding text-segment definitions, we must always optimize.
                     98: linux-spec-flags= -D__KERNEL__ -I$(sysdep)/i386at/gpl/linux \
                     99:        -I$(sysdep)/i386at/gpl/linux/include -O2
                    100: 
                    101: # Here is where those specs are found.
                    102: include linux-flags
                    103: 
                    104: # How to make this file:
                    105: 
                    106: linux-flags: $(sysdep)/Makefrag
                    107:        rm -f $@
                    108:        for i in $(all-linux-files); do \
                    109:                echo $$i-linux-flags '= $$(linux-spec-flags)' >> $@; \
                    110:        done
                    111:        echo 'linux-flags-done='$(all-linux-files) >> $@
                    112: 
                    113: # If we haven't included `linux-flags' properly, then don't try and build
                    114: # .d files.
                    115: ifneq ($(linux-flags-done),$(all-linux-files))
                    116: no_deps=t
                    117: endif
                    118: 
                    119: ### End Linux device drivers grot
                    120: 
                    121: 
                    122: 
                    123: include i386/driverlist
1.1.1.2 ! root      124: objfiles += $(sort $(device_drivers))
1.1       root      125: 
                    126: 
                    127: 
                    128: # Where to find some things
                    129: vpath i386asm.sym $(sysdep)/i386
                    130: vpath mach_i386.srv $(sysdep)/i386
                    131: 
                    132: # Make sure boothdr.o is at the very front
                    133: objfiles := boothdr.o $(filter-out boothdr.o,$(objfiles))
                    134: 
                    135: # Our include files are here; make sure they PRECEDE the generic ones.
                    136: INCLUDES := -I$(sysdep)/i386at -I$(sysdep)/i386 \
                    137:        -I$(sysdep)/include -I$(sysdep)/include/mach/sa \
                    138:        -I$(sysdep)/bogus -I$(sysdep) \
                    139:        $(INCLUDES)
                    140: 
                    141: # arrange suitable load address
                    142: LDFLAGS += -Ttext 100000
                    143: 
                    144: # Assemble .S files correctly
                    145: ASFLAGS += -DASSEMBLER
                    146: 
                    147: boothdr.o: i386asm.h 
                    148: 
                    149: 
                    150: # Header files we install
                    151: 
                    152: # We have our own version of this file
                    153: installed-headers := $(filter-out mach/proc_ops.h,$(installed-headers))
                    154: 
                    155: i386-installed-headers= mach/proc_ops.h \
                    156:                $(addprefix mach/i386/,asm.h bios.h boolean.h code16.h \
                    157:                debug_reg.h disk.h dpmi.h eflags.h exception.h far_ptr.h \
                    158:                fp_reg.h ioccom.h kern_return.h mach_i386.defs \
                    159:                mach_i386_types.h machine_types.defs multiboot.h paging.h \
                    160:                pio.h pmode.h proc_reg.h rpc.h seg.h syscall_sw.h \
                    161:                thread_status.h time_stamp.h trap.h tss.h vcpi.h vm_param.h \
                    162:                vm_types.h)
                    163: 
                    164: 
                    165: # Autoconf support
                    166: 
                    167: $(sysdep)/configure: $(sysdep)/Drivers.in $(srcdir)/Drivers.macros
                    168:        cd $(sysdep) && rm -f configure && autoconf Drivers.in > configure
                    169: 
                    170: $(systype)/device-drivers.h $(systype)/driverlist: $(sysdep)/driverlist.in $(systype)/config.status
                    171:        cd $(systype) && ./config.status
                    172: 
                    173: $(systype)/config.status: $(sysdep)/configure
                    174:        cd $(systype) && ./config.status --recheck
                    175: 
                    176: 
                    177: 
                    178: 
                    179: # Cheat, cheat, cheat.
                    180: fpe.o: fpe.b_elf
                    181:        uudecode $<
                    182: vpath fpe.b_elf $(sysdep)/i386
                    183: 
                    184: fpe.d:; touch $@

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.