# i386 Mach makefile fragment
# Copyright 1997, 1999 Free Software Foundation, Inc.
#
# Permission to use, copy, modify and distribute this software and its
# documentation is hereby granted, provided that both the copyright
# notice and this permission notice appear in all copies of the
# software, derivative works or modified versions, and any portions
# thereof, and that both notices appear in supporting documentation.
#
# THE FREE SOFTWARE FOUNDATION ALLOWS FREE USE OF THIS SOFTWARE IN ITS
# "AS IS" CONDITION.  THE FREE SOFTWARE FOUNDATION DISCLAIMS ANY
# LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE
# USE OF THIS SOFTWARE.


# Some of the i386-specific code checks for these.
DEFINES += -D__ELF__=1 -Di386=1 -DAT386=1

# Source files for any i386 kernel
i386at-files = int_init.c pic_isa.c
i386-files = ast_check.c fpu.c gdt.c idt.c ldt.c \
	     mp_desc.c pcb.c phys.c pic.c pit.c trap.c user_ldt.c \
	     hardclock.c io_perm.c machine_task.c # loose_ends.c
intel-files = pmap.c read_fault.c

# Assembler source
i386at-Sfiles = interrupt.S
i386-Sfiles = cswitch.S idt_inittab.S locore.S spl.S

objfiles += $(subst .c,.o,$(i386at-files) $(i386-files) $(intel-files)) \
	    $(subst .S,.o,$(i386at-Sfiles) $(i386-Sfiles))
vpath %.c $(sysdep)/i386at $(sysdep)/i386 $(sysdep)/intel
vpath %.S $(sysdep)/i386at $(sysdep)/i386

# Mig-generated
objfiles += mach_i386_server.o



# Where to find some things
vpath i386asm.sym $(sysdep)/i386
vpath mach_i386.srv $(sysdep)/i386

$(patsubst %.S,%.o,$(i386at-Sfiles) $(i386-Sfiles)): i386asm.h

# Our include files are here; make sure they PRECEDE the generic ones.
INCLUDES := -I$(sysdep)/i386at -I$(sysdep)/i386 \
	-I$(sysdep)/include -I$(sysdep)/include/mach/sa \
	-I$(sysdep)/bogus -I$(sysdep) \
	$(INCLUDES)

# arrange suitable load address
KERN_LDFLAGS += -Ttext 0x100000

# Assemble .S files correctly
ASFLAGS += -DASSEMBLER


# Header files we install

i386-installed-headers := $(addprefix mach/i386/,\
		            asm.h boolean.h disk.h eflags.h exception.h \
			    fp_reg.h ioccom.h kern_return.h mach_i386.defs \
			    mach_i386_types.h machine_types.defs \
			    rpc.h syscall_sw.h \
			    thread_status.h trap.h vm_param.h vm_types.h)
