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

.PHONY:  clean

OBJS = multiboot.o main.o video.o gdt.o isr.o isrs.o exception.o pic.o timer.o


all: kernel.elf

kernel.elf: $(OBJS) link.lds
	ld -T link.lds $(OBJS) -o kernel.tmp
	objcopy -O elf32-i386 kernel.tmp kernel.elf
	$(RM) kernel.tmp
	"C:\Program Files\WinImage\winimage.exe" floppy.img /i kernel.elf /h
	 objdump.exe -D kernel.elf > log.txt
	
clean:
	$(RM) $(OBJS)
	
	
%.o: %.cpp
	g++ $(CPPFLAGS) $< -o $@
	
video.cpp: system.h video.h
main.cpp: system.h
exception.cpp: exception.h system.h
timer.cpp: timer.h system.h pic.h
isr.cpp: isr.h system.h

	
%.o: %.s
	nasm -f elf  -DLEADING_USCORE $< -o $@