CONF=cpu
CONFLIST=cpu

objtype=hobbit
</$objtype/mkfile
CFLAGS=-w

DEV=`{rc ../port/mkdevlist $CONF}`
STREAM=`{rc ../port/mkstreamlist $CONF}`
MISC=`{rc ../port/mkmisclist $CONF}`

OBJ=\
	l.$O\
	trap.$O\
	alarm.$O\
	alloc.$O\
	chan.$O\
	clock.$O\
	dev.$O\
	fault.$O\
	latin1.$O\
	taslock.$O\
	main.$O\
	segment.$O\
	swap.$O\
	mmu.$O\
	net.$O\
	page.$O\
	pgrp.$O\
	print.$O\
	proc.$O\
	qlock.$O\
	queue.$O\
	sysfile.$O\
	sysproc.$O\
	$DEV\
	$MISC\
	boot$CONF.root.$O\
	$STREAM\
	stream.$O\
	fcall.$O

def:V: 9$CONF

9cpu:	$OBJ $CONF.c
	$CC $CFLAGS '-DKERNDATE='`{date -n} $CONF.c
	$LD -o $target -l -R4 -H1 -T0x80004000 -E0x80004000 $OBJ $CONF.$O -lc
	size 9$CONF

<../port/portmkfile

install:V: 9$CONF
	cp 9$CONF /$objtype/9$CONF

init.h:	initcode /sys/src/libc/9syscall/sys.h
	$AS initcode
	$LD -l -s -o init.out -H2 -T0x1020 -R4 initcode.$O
	{echo 'uchar initcode[]={'
	 xd -r -1x init.out |
		sed -e 's/^[0-9a-f]+ //' -e 's/ ([0-9a-f][0-9a-f])/0x\1,/g'
	 echo '};'} > init.h

clock.$O main.$O:	/$objtype/include/ureg.h

fpi.root.c:	fpi.out
	../port/mkroot fpi fpi

fpihobbit.$O:	fpi.h fpihobbit.c
	$CC $CFLAGS fpihobbit.c

fpi.$O:		fpi.h fpi.c
	$CC $CFLAGS fpi.c

fpi.out:	fprt0.$O fpihobbit.$O fpi.$O
	$LD -l -R4 -T0xE0000020 $prereq
	cp z.out $target
