|
|
1.1 root 1: # i386 Mach makefile fragment
1.1.1.3 root 2: # Copyright 1997, 1999 Free Software Foundation, Inc.
1.1 root 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.
1.1.1.3 root 9: #
1.1 root 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.
1.1.1.3 root 17: DEFINES += -DCONTINUATIONS -D__ELF__ -Di386 -DLINUX_DEV
1.1 root 18:
19: # Source files for any i386 kernel
1.1.1.3 root 20: i386at-files = autoconf.c blit.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.1.3 root 54: # XXX: In i386, com is always enabled.
55: objfiles += com.o
1.1 root 56:
1.1.1.3 root 57: # This file is only needed for LPR support.
58: ifeq ($(findstring -DMACH_LPR,@DEFS@),-DMACH_LPR)
59: objfiles += lpr.o
1.1 root 60: endif
61:
1.1.1.3 root 62: # We link the device drivers together into this file in a separate Make
63: # run, because the Linux-related code sometimes re-uses filenames. Arrange
1.1.1.4 ! root 64: # to have that Makefile used to generate and clean and otherwise deal with
1.1.1.3 root 65: # those filenames.
66:
67: objfiles += i386/sysdep.o
1.1.1.4 ! root 68: i386/sysdep.o: FORCE
1.1.1.3 root 69: cd i386 && $(MAKE) all
1.1.1.4 ! root 70: FORCE:
1.1.1.3 root 71:
72: clean: i386-clean
73: i386-clean:
74: cd i386 && $(MAKE) clean
75:
76: distclean: i386-distclean
77: i386-distclean:
78: cd i386 && $(MAKE) distclean
79:
80: mostlyclean: i386-mostlyclean
81: i386-mostlyclean:
82: cd i386 && $(MAKE) mostlyclean
83:
84: maintainerclean: i386-maintainerclean
85: i386-maitainerclean:
86: cd i386 && $(MAKE) maintainer-clean
1.1 root 87:
88:
89:
90:
91:
92: # Where to find some things
93: vpath i386asm.sym $(sysdep)/i386
94: vpath mach_i386.srv $(sysdep)/i386
95:
96: # Make sure boothdr.o is at the very front
97: objfiles := boothdr.o $(filter-out boothdr.o,$(objfiles))
98:
99: # Our include files are here; make sure they PRECEDE the generic ones.
100: INCLUDES := -I$(sysdep)/i386at -I$(sysdep)/i386 \
101: -I$(sysdep)/include -I$(sysdep)/include/mach/sa \
102: -I$(sysdep)/bogus -I$(sysdep) \
103: $(INCLUDES)
104:
105: # arrange suitable load address
106: LDFLAGS += -Ttext 100000
107:
108: # Assemble .S files correctly
109: ASFLAGS += -DASSEMBLER
110:
1.1.1.3 root 111: boothdr.o: i386asm.h
1.1 root 112:
113:
114: # Header files we install
115:
1.1.1.3 root 116: install-headers: i386-install-headers
117: i386-install-headers:
118: cd i386 && $(MAKE) install-headers
119:
120: install-kernel: i386-install-kernel
121: i386-install-kernel:
122: cd $(systype) && $(MAKE) install-kernel
123:
1.1 root 124: # We have our own version of this file
125: installed-headers := $(filter-out mach/proc_ops.h,$(installed-headers))
126:
1.1.1.4 ! root 127: i386-installed-headers= \
! 128: $(addprefix mach/i386/,asm.h boolean.h \
! 129: disk.h eflags.h exception.h \
1.1 root 130: fp_reg.h ioccom.h kern_return.h mach_i386.defs \
1.1.1.4 ! root 131: mach_i386_types.h machine_types.defs multiboot.h \
! 132: rpc.h syscall_sw.h \
! 133: thread_status.h trap.h vm_param.h \
1.1 root 134: vm_types.h)
135:
136:
137: # Cheat, cheat, cheat.
138: fpe.o: fpe.b_elf
139: uudecode $<
140: vpath fpe.b_elf $(sysdep)/i386
141:
142: fpe.d:; touch $@
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.