DEBUGFLAGS=-DDEBUG

SUBDIR += init
SUBDIR += hal
SUBDIR += rtl

.include <bsd.port.subdir.mk>

OBJCOPY=	objcopy
OBJCOPY_FLAGS=	-R .dynamic -R .note -R .comment
OBJS=		init/entry.o init/main.o hal/video.o hal/io.o \
		rtl/string.o rtl/memory.o hal/intsupport.o hal/interrupts.o \
		hal/timer.o hal/keyboard.o hal/timestamp.o hal/counters.o
RM=		/bin/rm

all: kernel.bin

kernel.bin: kernel.tmp
	$(OBJCOPY) $(OBJCOPY_FLAGS) -S -O binary ./kernel.tmp kernel.bin ; \
	mcopy -o ./kernel.bin Q: ; \
	mcopy -o ./kernel.map Q: ; \
	$(RM) -f kernel.tmp

kernel.tmp: $(OBJS)
	$(LD) -M -o kernel.tmp -Ttext 0x00010000 -e StartOfKernelImage $(OBJS) \
	> kernel.map

clean:
	$(RM) -f $(TARGET) $(OBJS) *~ #*# .#* ; \
	mdel Q:\$(TARGET)
