IDENT=-DSOURCE -DKTRACE -DCOMPAT_43 -DCOFF -DSEMAPHORE -DCOMPAT_DEV -DFPE -DINET -DPPP -DMULTICAST -DFFS -DNFS -DMFS -DCD9660 -DMSDOSFS -DQUOTA -DFIFO -DDIAGNOSTIC -DGENERIC
PARAM=-DMAXUSERS=10
DEBUG=-g
#
# Copyright (c) 1993, 1994, 1995 Berkeley Software Design, Inc.
# All rights reserved.
# The Berkeley Software Design Inc. software License Agreement specifies
# the terms and conditions for redistribution.
#
#	BSDI $Id: Makefile.i386,v 2.10 1995/12/13 03:18:53 karels Exp $

#	@(#)Makefile.i386	8.1 (Berkeley) 6/11/93
#
# Makefile for 4.4 BSD
#
# This makefile is constructed from a machine description:
#	config machineid
# Most changes should be made in the machine description
#	/sys/conf/``machineid''
# after which you should do
#	 config machineid
# Machine generic makefile changes should be made in
#	/sys/conf/Makefile.``machinetype''
# after which config should be rerun for all machines of that type.
#
# N.B.: NO DEPENDENCIES ON FOLLOWING FLAGS ARE VISIBLE TO MAKEFILE
#	IF YOU CHANGE THE DEFINITION OF ANY OF THESE RECOMPILE EVERYTHING
#
# -DTRACE	compile in kernel tracing hooks
# -DQUOTA	compile in file system quotas


# DEBUG is set to -g by config if debugging is requested.
# PROF is set to -pg by config if profiling is requested.
AS=	as ${DEBUG}
CC=	cc ${DEBUG}
CPP=	cpp
LD=	ld
# GPROF.EX=/usr/src/usr.lib/libc/csu/i386/gmon.ex	XXX

# source tree is located via $S relative to the compilation directory
S=	../..
I386=	$S/i386

INCLUDES= -I. -I$S -I$S/sys
COPTS+=	${INCLUDES} ${IDENT} -DKERNEL ${WARN}
CFLAGS=	-O ${COPTS}

# compile rules: rules are named ${TYPE}_${SUFFIX}${CONFIG_DEP}
# where TYPE is NORMAL, DRIVER, or PROFILE}; SUFFIX is the file suffix,
# capitalized (e.g. C for a .c file), and CONFIG_DEP is _C if the file
# is marked as config-dependent.

NORMAL_C=	${CC} -c ${CFLAGS} ${PROF} $<
NORMAL_C_C=	${CC} -c ${CFLAGS} ${PROF} ${PARAM} $<

DRIVER_C=	${CC} -c ${CFLAGS} ${PROF} $<
DRIVER_C_C=	${CC} -c ${CFLAGS} ${PROF} ${PARAM} $<

PROFILE_C=	${CC} -c ${COPTS} $<
# XXX in Lite:
# PROFILE_C=	${CC} -S -c ${COPTS} $<; \
#		ex - $*.s < ${GPROF.EX}; \
#		${AS} -o $@ $*.s; \
#		rm -f $*.s

NORMAL_O=	rm -f $@; ln -s ${.ALLSRC:M*.o} $@
DRIVER_O=	rm -f $@; ln -s ${.ALLSRC:M*.o} $@

NORMAL_S=	${CPP} -DLOCORE ${COPTS} $< | ${AS} -o $@
NORMAL_S_C=	${CPP} -DLOCORE ${COPTS} ${PARAM} $< | ${AS} -o $@

OBJS=	scsi_subr.o sd.o st.o disk_subr.o cd9660_bmap.o cd9660_lookup.o \
	cd9660_node.o cd9660_rrip.o cd9660_util.o cd9660_vfsops.o \
	cd9660_vnops.o init_main.o init_sysent.o kern_acct.o kern_clock.o \
	kern_descrip.o kern_exec.o kern_exit.o kern_fork.o kern_ktrace.o \
	kern_malloc.o kern_physio.o kern_proc.o kern_prot.o \
	kern_resource.o kern_sig.o kern_subr.o kern_synch.o kern_sysctl.o \
	kern_time.o kern_xxx.o subr_autoconf.o subr_log.o subr_prf.o \
	subr_prof.o subr_rmap.o subr_xxx.o sys_generic.o sys_process.o \
	sys_socket.o sys_sem.o tty.o tty_compat.o tty_conf.o tty_pty.o \
	tty_subr.o tty_tty.o uipc_domain.o uipc_mbuf.o uipc_proto.o \
	uipc_socket.o uipc_socket2.o uipc_syscalls.o uipc_usrreq.o \
	vfs_bio.o vfs_cache.o vfs_cluster.o vfs_conf.o vfs_init.o \
	vfs_lookup.o vfs_subr.o vfs_syscalls.o vfs_vnops.o dead_vnops.o \
	fifo_vnops.o spec_vnops.o msdosfs_conv.o msdosfs_denode.o \
	msdosfs_fat.o msdosfs_lookup.o msdosfs_vfsops.o msdosfs_vnops.o \
	bpf.o bpf_filter.o if.o if_appp.o if_ethersubr.o if_loop.o \
	if_p2pproto.o if_p2psubr.o if_sl.o ppp_frame.o ppp_fsm.o \
	ppp_ipcp.o ppp_lcp.o radix.o raw_cb.o raw_usrreq.o route.o \
	rtsock.o slcompress.o if_ether.o igmp.o in.o in_pcb.o in_proto.o \
	ip_icmp.o ip_input.o ip_output.o raw_ip.o tcp_debug.o tcp_input.o \
	tcp_output.o tcp_subr.o tcp_timer.o tcp_usrreq.o udp_usrreq.o \
	nfs_bio.o nfs_node.o nfs_nqlease.o nfs_serv.o nfs_socket.o \
	nfs_srvcache.o nfs_subs.o nfs_syscalls.o nfs_vfsops.o nfs_vnops.o \
	ffs_alloc.o ffs_balloc.o ffs_inode.o ffs_subr.o ffs_tables.o \
	ffs_vfsops.o ffs_vnops.o mfs_vfsops.o mfs_vnops.o ufs_bmap.o \
	ufs_ihash.o ufs_inode.o ufs_lockf.o ufs_lookup.o ufs_quota.o \
	ufs_vfsops.o ufs_vnops.o asyncdaemon.o device_pager.o kern_lock.o \
	swap_pager.o vm_fault.o vm_glue.o vm_init.o vm_kern.o vm_map.o \
	vm_meter.o vm_mmap.o vm_object.o vm_page.o vm_pageout.o \
	vm_pager.o vm_swap.o vm_unix.o vm_user.o vnode_pager.o isa.o \
	eisa.o pci.o pccons.o pcaux.o com.o lp.o if_pe.o if_petbl.o xir.o \
	fd.o wdc.o wd.o wdpi.o mcd.o wt.o npx.o vga.o bms.o lms.o \
	ab_subr.o aha.o bha.o if_ne.o if_eo.o if_ep.o sa.o ncr.o saturn.o \
	aic.o if_tn.o if_hpplus.o if_re.o if_we.o if_ef.o if_el.o if_ex.o \
	eaha.o if_de.o autoconf.o cons.o copy.o dos_disksubr.o \
	exec_machdep.o fpe_cmd.o fpe_fmt.o fpe_main.o fpe_s.o \
	i386_param.o in_cksum.o locore.o machdep.o mem.o pmap.o \
	process_machdep.o random.o segments.o sys_machdep.o trap.o \
	vm_machdep.o clock.o icu.o

CFILES=	$S/dev/scsi/scsi_subr.c $S/dev/scsi/sd.c $S/dev/scsi/st.c \
	$S/dev/disk_subr.c $S/isofs/cd9660/cd9660_bmap.c \
	$S/isofs/cd9660/cd9660_lookup.c $S/isofs/cd9660/cd9660_node.c \
	$S/isofs/cd9660/cd9660_rrip.c $S/isofs/cd9660/cd9660_util.c \
	$S/isofs/cd9660/cd9660_vfsops.c $S/isofs/cd9660/cd9660_vnops.c \
	$S/kern/init_main.c $S/kern/init_sysent.c $S/kern/kern_acct.c \
	$S/kern/kern_clock.c $S/kern/kern_descrip.c $S/kern/kern_exec.c \
	$S/kern/kern_exit.c $S/kern/kern_fork.c $S/kern/kern_ktrace.c \
	$S/kern/kern_malloc.c $S/kern/kern_physio.c $S/kern/kern_proc.c \
	$S/kern/kern_prot.c $S/kern/kern_resource.c $S/kern/kern_sig.c \
	$S/kern/kern_subr.c $S/kern/kern_synch.c $S/kern/kern_sysctl.c \
	$S/kern/kern_time.c $S/kern/kern_xxx.c $S/kern/subr_autoconf.c \
	$S/kern/subr_log.c $S/kern/subr_prf.c $S/kern/subr_prof.c \
	$S/kern/subr_rmap.c $S/kern/subr_xxx.c $S/kern/sys_generic.c \
	$S/kern/sys_process.c $S/kern/sys_socket.c $S/kern/sys_sem.c \
	$S/kern/tty.c $S/kern/tty_compat.c $S/kern/tty_conf.c \
	$S/kern/tty_pty.c $S/kern/tty_subr.c $S/kern/tty_tty.c \
	$S/kern/uipc_domain.c $S/kern/uipc_mbuf.c $S/kern/uipc_proto.c \
	$S/kern/uipc_socket.c $S/kern/uipc_socket2.c \
	$S/kern/uipc_syscalls.c $S/kern/uipc_usrreq.c $S/kern/vfs_bio.c \
	$S/kern/vfs_cache.c $S/kern/vfs_cluster.c $S/kern/vfs_conf.c \
	$S/kern/vfs_init.c $S/kern/vfs_lookup.c $S/kern/vfs_subr.c \
	$S/kern/vfs_syscalls.c $S/kern/vfs_vnops.c \
	$S/miscfs/deadfs/dead_vnops.c $S/miscfs/fifofs/fifo_vnops.c \
	$S/miscfs/specfs/spec_vnops.c $S/msdosfs/msdosfs_conv.c \
	$S/msdosfs/msdosfs_denode.c $S/msdosfs/msdosfs_fat.c \
	$S/msdosfs/msdosfs_lookup.c $S/msdosfs/msdosfs_vfsops.c \
	$S/msdosfs/msdosfs_vnops.c $S/net/bpf.c $S/net/bpf_filter.c \
	$S/net/if.c $S/net/if_appp.c $S/net/if_ethersubr.c \
	$S/net/if_loop.c $S/net/if_p2pproto.c $S/net/if_p2psubr.c \
	$S/net/if_sl.c $S/net/ppp_frame.c $S/net/ppp_fsm.c \
	$S/net/ppp_ipcp.c $S/net/ppp_lcp.c $S/net/radix.c $S/net/raw_cb.c \
	$S/net/raw_usrreq.c $S/net/route.c $S/net/rtsock.c \
	$S/net/slcompress.c $S/netinet/if_ether.c $S/netinet/igmp.c \
	$S/netinet/in.c $S/netinet/in_pcb.c $S/netinet/in_proto.c \
	$S/netinet/ip_icmp.c $S/netinet/ip_input.c $S/netinet/ip_output.c \
	$S/netinet/raw_ip.c $S/netinet/tcp_debug.c $S/netinet/tcp_input.c \
	$S/netinet/tcp_output.c $S/netinet/tcp_subr.c \
	$S/netinet/tcp_timer.c $S/netinet/tcp_usrreq.c \
	$S/netinet/udp_usrreq.c $S/nfs/nfs_bio.c $S/nfs/nfs_node.c \
	$S/nfs/nfs_nqlease.c $S/nfs/nfs_serv.c $S/nfs/nfs_socket.c \
	$S/nfs/nfs_srvcache.c $S/nfs/nfs_subs.c $S/nfs/nfs_syscalls.c \
	$S/nfs/nfs_vfsops.c $S/nfs/nfs_vnops.c $S/ufs/ffs/ffs_alloc.c \
	$S/ufs/ffs/ffs_balloc.c $S/ufs/ffs/ffs_inode.c \
	$S/ufs/ffs/ffs_subr.c $S/ufs/ffs/ffs_tables.c \
	$S/ufs/ffs/ffs_vfsops.c $S/ufs/ffs/ffs_vnops.c \
	$S/ufs/mfs/mfs_vfsops.c $S/ufs/mfs/mfs_vnops.c \
	$S/ufs/ufs/ufs_bmap.c $S/ufs/ufs/ufs_ihash.c \
	$S/ufs/ufs/ufs_inode.c $S/ufs/ufs/ufs_lockf.c \
	$S/ufs/ufs/ufs_lookup.c $S/ufs/ufs/ufs_quota.c \
	$S/ufs/ufs/ufs_vfsops.c $S/ufs/ufs/ufs_vnops.c \
	$S/vm/asyncdaemon.c $S/vm/device_pager.c $S/vm/kern_lock.c \
	$S/vm/swap_pager.c $S/vm/vm_fault.c $S/vm/vm_glue.c \
	$S/vm/vm_init.c $S/vm/vm_kern.c $S/vm/vm_map.c $S/vm/vm_meter.c \
	$S/vm/vm_mmap.c $S/vm/vm_object.c $S/vm/vm_page.c \
	$S/vm/vm_pageout.c $S/vm/vm_pager.c $S/vm/vm_swap.c \
	$S/vm/vm_unix.c $S/vm/vm_user.c $S/vm/vnode_pager.c \
	$S/i386/isa/isa.c $S/i386/eisa/eisa.c $S/i386/pci/pci.c \
	$S/i386/isa/pccons.c $S/i386/isa/pcaux.c $S/i386/isa/com.c \
	$S/i386/isa/lp.c $S/i386/isa/fd.c $S/i386/isa/wdc.c \
	$S/i386/isa/wd.c $S/i386/isa/wdpi.c $S/i386/isa/mcd.c \
	$S/i386/isa/wt.c $S/i386/isa/npx.c $S/i386/isa/vga.c \
	$S/i386/isa/bms.c $S/i386/isa/lms.c $S/i386/isa/ab_subr.c \
	$S/i386/isa/aha.c $S/i386/isa/bha.c $S/i386/isa/if_ne.c \
	$S/i386/isa/if_eo.c $S/i386/isa/if_ep.c $S/i386/isa/sa.c \
	$S/i386/pci/ncr.c $S/i386/pci/saturn.c $S/i386/isa/aic.c \
	$S/i386/isa/if_tn.c $S/i386/isa/if_hpplus.c $S/i386/isa/if_re.c \
	$S/i386/isa/if_we.c $S/i386/isa/if_ef.c $S/i386/isa/if_el.c \
	$S/i386/isa/if_ex.c $S/i386/eisa/eaha.c $S/i386/pci/if_de.c \
	$S/i386/i386/autoconf.c $S/i386/i386/cons.c \
	$S/i386/i386/dos_disksubr.c $S/i386/i386/exec_machdep.c \
	$S/i386/i386/fpe_cmd.c $S/i386/i386/fpe_fmt.c \
	$S/i386/i386/fpe_main.c $S/i386/i386/i386_param.c \
	$S/i386/i386/in_cksum.c $S/i386/i386/machdep.c $S/i386/i386/mem.c \
	$S/i386/i386/pmap.c $S/i386/i386/process_machdep.c \
	$S/i386/i386/segments.c $S/i386/i386/sys_machdep.c \
	$S/i386/i386/trap.c $S/i386/i386/vm_machdep.c $S/i386/isa/clock.c \
	$S/i386/i386/swapgeneric.c

SFILES=	$S/i386/i386/copy.s $S/i386/i386/fpe_s.s $S/i386/i386/locore.s \
	$S/i386/i386/random.s $S/i386/isa/icu.s

# load lines for config "xxx" will be emitted as:
# xxx: ${SYSTEM_DEP} swapxxx.o
#	${SYSTEM_LD_HEAD}
#	${SYSTEM_LD} swapxxx.o
#	${SYSTEM_LD_TAIL}
DEBUG?=
.if ${DEBUG} == "-g"
LDX=-X
.else
LDX=-x
.endif

PROF?=
.if ${PROF} == "-pg"
LIBKERN=	libkern_p.a
.else
LIBKERN=	libkern.a
.endif

# move locore.o and icu.o to the front of ${SYSTEM_OBJ}
SYSTEM_OBJ=	locore.o icu.o vnode_if.o ${OBJS:Nlocore.o:Nicu.o} \
		param.o ioconf.o
#SYSTEM_DEP=	Makefile symbols.sort ${SYSTEM_OBJ}
SYSTEM_DEP=	Makefile ${SYSTEM_OBJ} ${LIBKERN}
SYSTEM_LD_HEAD=	rm -f $@; \
		sh $S/conf/newvers.sh; \
		${CC} $(CFLAGS) -c vers.c
SYSTEM_LD=	@echo ${LD} ${LDX} -n -T F0001000 -o $@ -e start \
		    '$${SYSTEM_OBJ}' vers.o ${LIBKERN}; \
		f() { ${LD} ${LDX} -n -T F0001000 -o $@ -e start \
		    ${SYSTEM_OBJ} vers.o $$1 ${LIBKERN}; }; f
SYSTEM_LD_TAIL=	@size $@; chmod 755 $@
.if ${DEBUG} == "-g" 
SYSTEM_LD_TAIL+=; echo mv $@ $@.gdb; rm -f $@.gdb; mv $@ $@.gdb; \
		echo strip -d -o $@ $@.gdb; strip -d -o $@ $@.gdb
.endif

all: bsd

bsd: ${SYSTEM_DEP} swapgeneric.o
	${SYSTEM_LD_HEAD}
	${SYSTEM_LD} swapgeneric.o
	${SYSTEM_LD_TAIL}

swapgeneric.o: $S/i386/i386/swapgeneric.c
	${NORMAL_C}


# cheat: hard-wire this dependency so that make depend is not necessary
# in a clean compile directory.
locore.o copy.o: assym.s

# C library modules used by the kernel.
CLIB=	adddi3.o anddi3.o ashldi3.o ashrdi3.o bcmp.o cmpdi2.o divdi3.o \
	ffs.o iordi3.o lshldi3.o lshrdi3.o moddi3.o muldi3.o \
	negdi2.o notdi2.o qdivrem.o rindex.o strcat.o strcmp.o strcpy.o \
	strlen.o strncmp.o strncpy.o subdi3.o ucmpdi2.o udivdi3.o umoddi3.o \
	xordi3.o
# Local "library" modules.
#LIB=	bitcount.o locc.o random.o scanc.o skpc.o
LIB=	bitcount.o locc.o scanc.o skpc.o
libkern.a: ${LIB}
	rm -f $@
	ar x /usr/lib/libc.a ${CLIB} mcount.o
	ar cq $@ ${CLIB} ${LIB}
	ranlib $@
	rm -f ${CLIB} mcount.o

libkern_p.a: ${LIB}
	rm -f $@
	ar x /usr/lib/libc.a mcount.o
	ar x /usr/lib/libc_p.a ${CLIB}
	ar cq $@ ${CLIB} ${LIB}
	ranlib $@
	rm -f ${CLIB} mcount.o

.if exists($S/common/bitcount.c)
bitcount.o: $S/common/bitcount.c
	${NORMAL_C}
locc.o: $S/common/locc.c
	${NORMAL_C}
#random.o: $S/common/random.c
#	${NORMAL_C}
scanc.o: $S/common/scanc.c
	${NORMAL_C}
skpc.o: $S/common/skpc.c
	${NORMAL_C}
.else
bitcount.o: $S/i386/OBJ/bitcount.o
	${NORMAL_O}
locc.o: $S/i386/OBJ/locc.o
	${NORMAL_O}
#random.o: $S/i386/OBJ/random.o
#	${NORMAL_O}
scanc.o: $S/i386/OBJ/scanc.o
	${NORMAL_O}
skpc.o: $S/i386/OBJ/skpc.o
	${NORMAL_O}
.endif

# Target for generating object files for i386/OBJ
objs:	${OBJS} ${LIB}

install-objs:
	cp -p ${OBJS} ${LIB} $S/i386/OBJ

clean:
	rm -f *bsd bsd.gdb genassym libkern.a *.o [a-z]*.s makelinks

# symbols.sort: ${I386}/i386/symbols.raw
#	grep -v '^#' ${I386}/i386/symbols.raw \
#	    | sed 's/^	//' | sort -u > symbols.sort

# depend on network configuration
uipc_proto.o in_proto.o ns_proto.o icu.o: Makefile

# depend on file system configuration
vfs_conf.o: Makefile

# depend on maxusers and config options
assym.s i386_param.o: Makefile

# depend on tty and other pseudo-devices
tty_conf.o subr_pdev.o: Makefile

assym.s: genassym
	./genassym >assym.s

genassym:
	${CC} ${INCLUDES} ${IDENT} ${PARAM} -o genassym \
	    ${I386}/i386/genassym.c

# Note, ${SFILES} need -traditional
SRCS=	${CFILES} ioconf.c param.c
depend: .depend
.depend: ${SRCS} ${SFILES} assym.s vnode_if.h
	@echo mkdep ${COPTS} '$${SRCS}'
	@mkdep ${COPTS} ${SRCS}
	@if [ "X${SFILES}" != X ]; then \
		echo mkdep -a -traditional -DLOCORE ${COPTS} '$${SFILES}'; \
		mkdep -a -traditional -DLOCORE ${COPTS} ${SFILES}; \
		echo 'g/\.s\.o/s//.o/Xw' | tr X '\012' | ed - .depend; \
	fi
	mkdep -a -p ${INCLUDES} ${IDENT} ${PARAM} ${I386}/i386/genassym.c

links:
	egrep '#if' ${CFILES} | sed -f $S/conf/defines | \
	  sed -e 's/:.*//' -e 's/\.c/.o/' | sort -u > dontlink
	echo ${CFILES} | tr -s ' ' '\12' | sed 's/\.c/.o/' | \
	  sort -u | comm -23 - dontlink | \
	  sed 's,../.*/\(.*.o\),rm -f \1;ln -s ../GENERIC/\1 \1,' > makelinks
	sh makelinks && rm -f dontlink

tags:
	@echo "see $S/kern/Makefile for tags"

ioconf.o: ioconf.c
	${CC} -c ${CFLAGS} ioconf.c

param.c: $S/conf/param.c
	rm -f param.c
	cp $S/conf/param.c .

param.o: param.c Makefile
	${CC} -c ${CFLAGS} ${PARAM} param.c

vnode_if.c: $S/kern/vnode_if.sh $S/kern/vnode_if.src
	sh $S/kern/vnode_if.sh $S/kern/vnode_if.src
vnode_if.h: $S/kern/vnode_if.sh $S/kern/vnode_if.src
	sh $S/kern/vnode_if.sh $S/kern/vnode_if.src

scsi_subr.o: $S/dev/scsi/scsi_subr.c
	${NORMAL_C}

sd.o: $S/dev/scsi/sd.c
	${NORMAL_C}

st.o: $S/dev/scsi/st.c
	${NORMAL_C}

disk_subr.o: $S/dev/disk_subr.c
	${NORMAL_C}

cd9660_bmap.o: $S/isofs/cd9660/cd9660_bmap.c
	${NORMAL_C}

cd9660_lookup.o: $S/isofs/cd9660/cd9660_lookup.c
	${NORMAL_C}

cd9660_node.o: $S/isofs/cd9660/cd9660_node.c
	${NORMAL_C}

cd9660_rrip.o: $S/isofs/cd9660/cd9660_rrip.c
	${NORMAL_C}

cd9660_util.o: $S/isofs/cd9660/cd9660_util.c
	${NORMAL_C}

cd9660_vfsops.o: $S/isofs/cd9660/cd9660_vfsops.c
	${NORMAL_C}

cd9660_vnops.o: $S/isofs/cd9660/cd9660_vnops.c
	${NORMAL_C}

init_main.o: $S/kern/init_main.c
	${NORMAL_C}

init_sysent.o: $S/kern/init_sysent.c
	${NORMAL_C}

kern_acct.o: $S/kern/kern_acct.c
	${NORMAL_C}

kern_clock.o: $S/kern/kern_clock.c
	${NORMAL_C}

kern_descrip.o: $S/kern/kern_descrip.c
	${NORMAL_C}

kern_exec.o: $S/kern/kern_exec.c
	${NORMAL_C}

kern_exit.o: $S/kern/kern_exit.c
	${NORMAL_C}

kern_fork.o: $S/kern/kern_fork.c
	${NORMAL_C}

kern_ktrace.o: $S/kern/kern_ktrace.c
	${NORMAL_C}

kern_malloc.o: $S/kern/kern_malloc.c
	${NORMAL_C}

kern_physio.o: $S/kern/kern_physio.c
	${NORMAL_C}

kern_proc.o: $S/kern/kern_proc.c
	${NORMAL_C}

kern_prot.o: $S/kern/kern_prot.c
	${NORMAL_C}

kern_resource.o: $S/kern/kern_resource.c
	${NORMAL_C}

kern_sig.o: $S/kern/kern_sig.c
	${NORMAL_C}

kern_subr.o: $S/kern/kern_subr.c
	${NORMAL_C}

kern_synch.o: $S/kern/kern_synch.c
	${NORMAL_C}

kern_sysctl.o: $S/kern/kern_sysctl.c
	${NORMAL_C}

kern_time.o: $S/kern/kern_time.c
	${NORMAL_C}

kern_xxx.o: $S/kern/kern_xxx.c
	${NORMAL_C}

subr_autoconf.o: $S/kern/subr_autoconf.c
	${NORMAL_C}

subr_log.o: $S/kern/subr_log.c
	${NORMAL_C}

subr_prf.o: $S/kern/subr_prf.c
	${NORMAL_C}

subr_prof.o: $S/kern/subr_prof.c
	${NORMAL_C}

subr_rmap.o: $S/kern/subr_rmap.c
	${NORMAL_C}

subr_xxx.o: $S/kern/subr_xxx.c
	${NORMAL_C}

sys_generic.o: $S/kern/sys_generic.c
	${NORMAL_C}

sys_process.o: $S/kern/sys_process.c
	${NORMAL_C}

sys_socket.o: $S/kern/sys_socket.c
	${NORMAL_C}

sys_sem.o: $S/kern/sys_sem.c
	${NORMAL_C}

tty.o: $S/kern/tty.c
	${NORMAL_C}

tty_compat.o: $S/kern/tty_compat.c
	${NORMAL_C}

tty_conf.o: $S/kern/tty_conf.c
	${NORMAL_C}

tty_pty.o: $S/kern/tty_pty.c
	${NORMAL_C}

tty_subr.o: $S/kern/tty_subr.c
	${NORMAL_C}

tty_tty.o: $S/kern/tty_tty.c
	${NORMAL_C}

uipc_domain.o: $S/kern/uipc_domain.c
	${NORMAL_C}

uipc_mbuf.o: $S/kern/uipc_mbuf.c
	${NORMAL_C}

uipc_proto.o: $S/kern/uipc_proto.c
	${NORMAL_C}

uipc_socket.o: $S/kern/uipc_socket.c
	${NORMAL_C}

uipc_socket2.o: $S/kern/uipc_socket2.c
	${NORMAL_C}

uipc_syscalls.o: $S/kern/uipc_syscalls.c
	${NORMAL_C}

uipc_usrreq.o: $S/kern/uipc_usrreq.c
	${NORMAL_C}

vfs_bio.o: $S/kern/vfs_bio.c
	${NORMAL_C}

vfs_cache.o: $S/kern/vfs_cache.c
	${NORMAL_C}

vfs_cluster.o: $S/kern/vfs_cluster.c
	${NORMAL_C}

vfs_conf.o: $S/kern/vfs_conf.c
	${NORMAL_C}

vfs_init.o: $S/kern/vfs_init.c
	${NORMAL_C}

vfs_lookup.o: $S/kern/vfs_lookup.c
	${NORMAL_C}

vfs_subr.o: $S/kern/vfs_subr.c
	${NORMAL_C}

vfs_syscalls.o: $S/kern/vfs_syscalls.c
	${NORMAL_C}

vfs_vnops.o: $S/kern/vfs_vnops.c
	${NORMAL_C}

dead_vnops.o: $S/miscfs/deadfs/dead_vnops.c
	${NORMAL_C}

fifo_vnops.o: $S/miscfs/fifofs/fifo_vnops.c
	${NORMAL_C}

spec_vnops.o: $S/miscfs/specfs/spec_vnops.c
	${NORMAL_C}

msdosfs_conv.o: $S/msdosfs/msdosfs_conv.c
	${NORMAL_C}

msdosfs_denode.o: $S/msdosfs/msdosfs_denode.c
	${NORMAL_C}

msdosfs_fat.o: $S/msdosfs/msdosfs_fat.c
	${NORMAL_C}

msdosfs_lookup.o: $S/msdosfs/msdosfs_lookup.c
	${NORMAL_C}

msdosfs_vfsops.o: $S/msdosfs/msdosfs_vfsops.c
	${NORMAL_C}

msdosfs_vnops.o: $S/msdosfs/msdosfs_vnops.c
	${NORMAL_C}

bpf.o: $S/net/bpf.c
	${NORMAL_C}

bpf_filter.o: $S/net/bpf_filter.c
	${NORMAL_C}

if.o: $S/net/if.c
	${NORMAL_C}

if_appp.o: $S/net/if_appp.c
	${NORMAL_C}

if_ethersubr.o: $S/net/if_ethersubr.c
	${NORMAL_C}

if_loop.o: $S/net/if_loop.c
	${NORMAL_C}

if_p2pproto.o: $S/net/if_p2pproto.c
	${NORMAL_C}

if_p2psubr.o: $S/net/if_p2psubr.c
	${NORMAL_C}

if_sl.o: $S/net/if_sl.c
	${NORMAL_C}

ppp_frame.o: $S/net/ppp_frame.c
	${NORMAL_C}

ppp_fsm.o: $S/net/ppp_fsm.c
	${NORMAL_C}

ppp_ipcp.o: $S/net/ppp_ipcp.c
	${NORMAL_C}

ppp_lcp.o: $S/net/ppp_lcp.c
	${NORMAL_C}

radix.o: $S/net/radix.c
	${NORMAL_C}

raw_cb.o: $S/net/raw_cb.c
	${NORMAL_C}

raw_usrreq.o: $S/net/raw_usrreq.c
	${NORMAL_C}

route.o: $S/net/route.c
	${NORMAL_C}

rtsock.o: $S/net/rtsock.c
	${NORMAL_C}

slcompress.o: $S/net/slcompress.c
	${NORMAL_C}

if_ether.o: $S/netinet/if_ether.c
	${NORMAL_C}

igmp.o: $S/netinet/igmp.c
	${NORMAL_C}

in.o: $S/netinet/in.c
	${NORMAL_C}

in_pcb.o: $S/netinet/in_pcb.c
	${NORMAL_C}

in_proto.o: $S/netinet/in_proto.c
	${NORMAL_C}

ip_icmp.o: $S/netinet/ip_icmp.c
	${NORMAL_C}

ip_input.o: $S/netinet/ip_input.c
	${NORMAL_C}

ip_output.o: $S/netinet/ip_output.c
	${NORMAL_C}

raw_ip.o: $S/netinet/raw_ip.c
	${NORMAL_C}

tcp_debug.o: $S/netinet/tcp_debug.c
	${NORMAL_C}

tcp_input.o: $S/netinet/tcp_input.c
	${NORMAL_C}

tcp_output.o: $S/netinet/tcp_output.c
	${NORMAL_C}

tcp_subr.o: $S/netinet/tcp_subr.c
	${NORMAL_C}

tcp_timer.o: $S/netinet/tcp_timer.c
	${NORMAL_C}

tcp_usrreq.o: $S/netinet/tcp_usrreq.c
	${NORMAL_C}

udp_usrreq.o: $S/netinet/udp_usrreq.c
	${NORMAL_C}

nfs_bio.o: $S/nfs/nfs_bio.c
	${NORMAL_C}

nfs_node.o: $S/nfs/nfs_node.c
	${NORMAL_C}

nfs_nqlease.o: $S/nfs/nfs_nqlease.c
	${NORMAL_C}

nfs_serv.o: $S/nfs/nfs_serv.c
	${NORMAL_C}

nfs_socket.o: $S/nfs/nfs_socket.c
	${NORMAL_C}

nfs_srvcache.o: $S/nfs/nfs_srvcache.c
	${NORMAL_C}

nfs_subs.o: $S/nfs/nfs_subs.c
	${NORMAL_C}

nfs_syscalls.o: $S/nfs/nfs_syscalls.c
	${NORMAL_C}

nfs_vfsops.o: $S/nfs/nfs_vfsops.c
	${NORMAL_C}

nfs_vnops.o: $S/nfs/nfs_vnops.c
	${NORMAL_C}

ffs_alloc.o: $S/ufs/ffs/ffs_alloc.c
	${NORMAL_C}

ffs_balloc.o: $S/ufs/ffs/ffs_balloc.c
	${NORMAL_C}

ffs_inode.o: $S/ufs/ffs/ffs_inode.c
	${NORMAL_C}

ffs_subr.o: $S/ufs/ffs/ffs_subr.c
	${NORMAL_C}

ffs_tables.o: $S/ufs/ffs/ffs_tables.c
	${NORMAL_C}

ffs_vfsops.o: $S/ufs/ffs/ffs_vfsops.c
	${NORMAL_C}

ffs_vnops.o: $S/ufs/ffs/ffs_vnops.c
	${NORMAL_C}

mfs_vfsops.o: $S/ufs/mfs/mfs_vfsops.c
	${NORMAL_C}

mfs_vnops.o: $S/ufs/mfs/mfs_vnops.c
	${NORMAL_C}

ufs_bmap.o: $S/ufs/ufs/ufs_bmap.c
	${NORMAL_C}

ufs_ihash.o: $S/ufs/ufs/ufs_ihash.c
	${NORMAL_C}

ufs_inode.o: $S/ufs/ufs/ufs_inode.c
	${NORMAL_C}

ufs_lockf.o: $S/ufs/ufs/ufs_lockf.c
	${NORMAL_C}

ufs_lookup.o: $S/ufs/ufs/ufs_lookup.c
	${NORMAL_C}

ufs_quota.o: $S/ufs/ufs/ufs_quota.c
	${NORMAL_C}

ufs_vfsops.o: $S/ufs/ufs/ufs_vfsops.c
	${NORMAL_C}

ufs_vnops.o: $S/ufs/ufs/ufs_vnops.c
	${NORMAL_C}

asyncdaemon.o: $S/vm/asyncdaemon.c
	${NORMAL_C}

device_pager.o: $S/vm/device_pager.c
	${NORMAL_C}

kern_lock.o: $S/vm/kern_lock.c
	${NORMAL_C}

swap_pager.o: $S/vm/swap_pager.c
	${NORMAL_C}

vm_fault.o: $S/vm/vm_fault.c
	${NORMAL_C}

vm_glue.o: $S/vm/vm_glue.c
	${NORMAL_C}

vm_init.o: $S/vm/vm_init.c
	${NORMAL_C}

vm_kern.o: $S/vm/vm_kern.c
	${NORMAL_C}

vm_map.o: $S/vm/vm_map.c
	${NORMAL_C}

vm_meter.o: $S/vm/vm_meter.c
	${NORMAL_C}

vm_mmap.o: $S/vm/vm_mmap.c
	${NORMAL_C}

vm_object.o: $S/vm/vm_object.c
	${NORMAL_C}

vm_page.o: $S/vm/vm_page.c
	${NORMAL_C}

vm_pageout.o: $S/vm/vm_pageout.c
	${NORMAL_C}

vm_pager.o: $S/vm/vm_pager.c
	${NORMAL_C}

vm_swap.o: $S/vm/vm_swap.c
	${NORMAL_C}

vm_unix.o: $S/vm/vm_unix.c
	${NORMAL_C}

vm_user.o: $S/vm/vm_user.c
	${NORMAL_C}

vnode_pager.o: $S/vm/vnode_pager.c
	${NORMAL_C}

isa.o: $S/i386/isa/isa.c
	${DRIVER_C}

eisa.o: $S/i386/eisa/eisa.c
	${DRIVER_C}

pci.o: $S/i386/pci/pci.c
	${DRIVER_C}

pccons.o: $S/i386/isa/pccons.c
	${DRIVER_C}

pcaux.o: $S/i386/isa/pcaux.c
	${DRIVER_C}

com.o: $S/i386/isa/com.c
	${DRIVER_C}

lp.o: $S/i386/isa/lp.c
	${DRIVER_C}

if_pe.o: $S/i386/OBJ/if_pe.o
	${DRIVER_O}

if_petbl.o: $S/i386/OBJ/if_petbl.o
	${DRIVER_O}

xir.o: $S/i386/OBJ/xir.o
	${DRIVER_O}

fd.o: $S/i386/isa/fd.c
	${DRIVER_C}

wdc.o: $S/i386/isa/wdc.c
	${DRIVER_C}

wd.o: $S/i386/isa/wd.c
	${DRIVER_C}

wdpi.o: $S/i386/isa/wdpi.c
	${DRIVER_C}

mcd.o: $S/i386/isa/mcd.c
	${DRIVER_C}

wt.o: $S/i386/isa/wt.c
	${DRIVER_C}

npx.o: $S/i386/isa/npx.c
	${DRIVER_C}

vga.o: $S/i386/isa/vga.c
	${DRIVER_C}

bms.o: $S/i386/isa/bms.c
	${DRIVER_C}

lms.o: $S/i386/isa/lms.c
	${DRIVER_C}

ab_subr.o: $S/i386/isa/ab_subr.c
	${DRIVER_C}

aha.o: $S/i386/isa/aha.c
	${DRIVER_C}

bha.o: $S/i386/isa/bha.c
	${DRIVER_C}

if_ne.o: $S/i386/isa/if_ne.c
	${DRIVER_C}

if_eo.o: $S/i386/isa/if_eo.c
	${DRIVER_C}

if_ep.o: $S/i386/isa/if_ep.c
	${DRIVER_C}

sa.o: $S/i386/isa/sa.c
	${DRIVER_C}

ncr.o: $S/i386/pci/ncr.c
	${DRIVER_C}

saturn.o: $S/i386/pci/saturn.c
	${DRIVER_C}

aic.o: $S/i386/isa/aic.c
	${DRIVER_C}

if_tn.o: $S/i386/isa/if_tn.c
	${DRIVER_C}

if_hpplus.o: $S/i386/isa/if_hpplus.c
	${DRIVER_C}

if_re.o: $S/i386/isa/if_re.c
	${DRIVER_C}

if_we.o: $S/i386/isa/if_we.c
	${DRIVER_C}

if_ef.o: $S/i386/isa/if_ef.c
	${DRIVER_C}

if_el.o: $S/i386/isa/if_el.c
	${DRIVER_C}

if_ex.o: $S/i386/isa/if_ex.c
	${DRIVER_C}

eaha.o: $S/i386/eisa/eaha.c
	${DRIVER_C}

if_de.o: $S/i386/pci/if_de.c
	${DRIVER_C}

autoconf.o: $S/i386/i386/autoconf.c
	${DRIVER_C}

cons.o: $S/i386/i386/cons.c
	${NORMAL_C}

copy.o: $S/i386/i386/copy.s
	${NORMAL_S}

dos_disksubr.o: $S/i386/i386/dos_disksubr.c
	${NORMAL_C}

exec_machdep.o: $S/i386/i386/exec_machdep.c
	${NORMAL_C}

fpe_cmd.o: $S/i386/i386/fpe_cmd.c
	${NORMAL_C}

fpe_fmt.o: $S/i386/i386/fpe_fmt.c
	${NORMAL_C}

fpe_main.o: $S/i386/i386/fpe_main.c
	${NORMAL_C}

fpe_s.o: $S/i386/i386/fpe_s.s
	${NORMAL_S}

i386_param.o: $S/i386/i386/i386_param.c
	${NORMAL_C}

in_cksum.o: $S/i386/i386/in_cksum.c
	${NORMAL_C}

locore.o: $S/i386/i386/locore.s
	${NORMAL_S}

machdep.o: $S/i386/i386/machdep.c
	${NORMAL_C}

mem.o: $S/i386/i386/mem.c
	${NORMAL_C}

pmap.o: $S/i386/i386/pmap.c
	${NORMAL_C}

process_machdep.o: $S/i386/i386/process_machdep.c
	${NORMAL_C}

random.o: $S/i386/i386/random.s
	${NORMAL_S}

segments.o: $S/i386/i386/segments.c
	${NORMAL_C}

sys_machdep.o: $S/i386/i386/sys_machdep.c
	${NORMAL_C}

trap.o: $S/i386/i386/trap.c
	${NORMAL_C}

vm_machdep.o: $S/i386/i386/vm_machdep.c
	${NORMAL_C}

clock.o: $S/i386/isa/clock.c
	${NORMAL_C}

icu.o: $S/i386/isa/icu.s
	${NORMAL_S}

