KKROOT = ../../../
KERNEL = kernel.elf
MULTIBOOT_IMAGE = kernel.iso
GRUB_DIR = ../../bootstrap/grub
CC = cc
CFLAGS = -nostdlib -nostdinc -ffreestanding -Wall -ansi -I$(KKROOT)
LD = ld
LDFLAGS = --warn-common -nostartfiles -nostdlib
OBJECTS = ../../bootstrap/multiboot.o cpu.o

all: $(MULTIBOOT_IMAGE)

$(MULTIBOOT_IMAGE): $(KERNEL)
	cp $(KERNEL) $(GRUB_DIR)/
	mkisofs -R -b boot/grub/stage2_eltorito -no-emul-boot \
	-boot-load-size 4 -boot-info-table -o kernel.iso $(GRUB_DIR)/

$(KERNEL): $(OBJECTS)
	$(LD) $(LDFLAGS) -T ../../linker_script.ld -o $@ $^

%.o: %.c
	#$(CC) -c $< -o $@ $(CFLAGS)
	$(CC) $(CFLAGS) -static $< -L../../build -lkk_hardware -o $@ 
	
%.o: %.S
	$(CC) -c $< $(CFLAGS) -DASM_SOURCE=1 -o $@
	
clean:
	rm -rf *.o *.elf *.iso 
	rm -rf $(GRUB_DIR)/$(KERNEL)
	rm -rf ../../bootstrap/multiboot.o
