CPPFLAGS = -c -fno-builtin -fno-rtti -fno-exceptions

.PHONY:  clean

OBJS = boot.o  main.o system.o video.o gdt.o 

all: kernel.elf

kernel.elf: $(OBJS) link.ld

	ld -T link.ld $(OBJS) -o kernel.tmp
	objcopy -O binary kernel.tmp a:/kernel.bin
	objdump -M intel -D kernel.tmp > debug.txt
	$(RM) kernel.tmp
	$(RM) $(OBJS)

%.o:%.cpp
	g++ $(CPPFLAGS)  $< -o $@
%.o:%.s
	nasm -f elf $< -o $@
%.o:%.asm
	nasm -f elf $< -o $@
