# Makefile fragment for i386

# Copyright 1997, 1999, 2006 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.

# Source files for any i386 kernel.
libkernel_a_SOURCES += \
	i386/i386at/autoconf.c \
	i386/i386at/boothdr.S \
	i386/i386at/com.c \
	i386/i386at/conf.c \
	i386/i386at/cons_conf.c \
	i386/i386at/rtc.c \
	i386/i386at/i386at_ds_routines.c \
	i386/i386at/immc.c \
	i386/i386at/int_init.c \
	i386/i386at/interrupt.S \
	i386/i386at/iopl.c \
	i386/i386at/kd.c \
	i386/i386at/kdasm.S \
	i386/i386at/kd_event.c \
	i386/i386at/kd_mouse.c \
	i386/i386at/kd_queue.c \
	i386/i386at/model_dep.c \
	i386/i386at/pic_isa.c

# lpr device support.
if enable_lpr
libkernel_a_SOURCES += \
	i386/i386at/lpr.c
endif

libkernel_a_SOURCES += \
	i386/i386/ast_check.c \
	i386/i386/cswitch.S \
	i386/i386/db_disasm.c \
	i386/i386/db_interface.c \
	i386/i386/db_trace.c \
	i386/i386/debug_i386.c \
	i386/i386/debug_trace.S \
	i386/i386/fpe_linkage.c \
	i386/i386/fpu.c \
	i386/i386/gdt.c \
	i386/i386/hardclock.c \
	i386/i386/idt.c \
	i386/i386/idt_inittab.S \
	i386/i386/io_emulate.c \
	i386/i386/io_map.c \
	i386/i386/iopb.c \
	i386/i386/ktss.c \
	i386/i386/kttd_interface.c \
	i386/i386/ldt.c \
	i386/i386/locore.S \
	i386/i386/loose_ends.c \
	i386/i386/mp_desc.c \
	i386/i386/pcb.c \
	i386/i386/phys.c \
	i386/i386/pic.c \
	i386/i386/pit.c \
	i386/i386/seg.c \
	i386/i386/spl.S \
	i386/i386/trap.c \
	i386/i386/user_ldt.c

# This file is only needed for KDB support.
if enable_kdb
libkernel_a_SOURCES += \
	i386/i386/_setjmp.S
endif

libkernel_a_SOURCES += \
	i386/intel/pmap.c \
	i386/intel/read_fault.c

# Files from the generic sources that we want.
libkernel_a_SOURCES += \
	chips/busses.c \
	device/cirbuf.c

# See Makefrag.am about lib_dep_tr_for_defs.a.
nodist_lib_dep_tr_for_defs_a_SOURCES += \
	i386/i386/mach_i386.server.defs.c
nodist_libkernel_a_SOURCES += \
	i386/i386/mach_i386.server.h \
	i386/i386/mach_i386.server.c
#	i386/i386/mach_i386.server.defs

#
# Static dependencies.
#

# TODO.  Hm.
i386/i386at/boothdr.o: i386/i386/i386asm.h

nodist_libkernel_a_SOURCES += \
	i386/i386/i386asm.h

#
# Architecture specialities.
#

LINKFLAGS_gnumach = \
	-T '$(srcdir)/$(systype)'/ldscript

#
# Installation.
#

include_mach_i386dir = $(includedir)/mach/i386
include_mach_i386_HEADERS = \
	i386/include/mach/i386/asm.h \
	i386/include/mach/i386/boolean.h \
	i386/include/mach/i386/disk.h \
	i386/include/mach/i386/eflags.h \
	i386/include/mach/i386/exception.h \
	i386/include/mach/i386/fp_reg.h \
	i386/include/mach/i386/ioccom.h \
	i386/include/mach/i386/kern_return.h \
	i386/include/mach/i386/mach_i386.defs \
	i386/include/mach/i386/mach_i386_types.h \
	i386/include/mach/i386/machine_types.defs \
	i386/include/mach/i386/multiboot.h \
	i386/include/mach/i386/rpc.h \
	i386/include/mach/i386/syscall_sw.h \
	i386/include/mach/i386/thread_status.h \
	i386/include/mach/i386/trap.h \
	i386/include/mach/i386/vm_param.h \
	i386/include/mach/i386/vm_types.h