CC=	/usr/home/kch/local/bin/sparc64-elf-gcc
AS=	/usr/home/kch/local/bin/sparc64-elf-as
LD=	/usr/home/kch/local/bin/sparc64-elf-ld
#CC=	/usr/cross/bin/sparc64-linux-gcc
#AS=	/usr/cross/bin/sparc64-linux-as
#LD=	/usr/cross/bin/sparc64-linux-ld
ARCH=		sparc64
ARCHDIR=	sparc64
#LDFLAGS=	--entry=_start -Ttext 0x0000000000404000
OPTFLAGS=	-Wall -fno-builtin -fomit-frame-pointer -mno-fpu -mtune=ultrasparc -mmedlow -ffixed-g4 -fcall-used-g5 -fcall-used-g7
DEFINES=	-DKERNEL -D_KERNEL
CFLAGS=		-Wa,-Av9a -nostdinc $(OPTFLAGS) $(DEFINES) -I.
LDFLAGS=	-T sparc64/conf/kernel.script
VPATH=	$(ARCHDIR)/$(ARCH):libkern:kern
OBJS=	prom.o cpu.o ls.o bcd.o strlen.o machdep.o ttable.o trap.o support.o \
	pmap.o kern_shutdown.o subr_xxx.o subr_prf.o kern_conf.o cons.o zs.o
SYSTEM_OBJS= locore.o setdef0.o $(OBJS) setdef1.o

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

all:	kernel

kernel.aout: kernel
	elftoaout ${.ALLSRC} -o ${.TARGET}

kernel:	$(SYSTEM_OBJS)
	${LD} ${LDFLAGS} ${.ALLSRC} -o $@

setdef0.o: ${ARCHDIR}/$(ARCH)/setdef0.c setdefs.h
	${NORMAL_C}

setdef1.o: ${ARCHDIR}/$(ARCH)/setdef1.c setdefs.h
	${NORMAL_C}

setdefs.h: ${OBJS}
	$(ARCHDIR)/conf/gensetdefs.tcl ${OBJS} >setdefs.h

clean:
	rm -f $(SYSTEM_OBJS) kernel

cleandir:
	@echo dummy cleandir
