OBJ=kernel
CC=gcc -Wall 

all: $(OBJ) 

kernel: boot.o kernel.o screen.o lib.o gdt.o idt.o interrupt.o int.o pic.o syscalls.o mm.o process.o printk.o schedule.o sched.o kmalloc.o
	ld -Ttext=100000 --entry=_start $^ -o $@

boot.o: boot.asm
	nasm -f elf -o $@ $^

sched.o: sched.asm
	nasm -f elf -o $@ $^

int.o: int.asm
	nasm -f elf -o $@ $^

.o: .c 
	$(CC) -c $^

clean:
	rm -f $(OBJ) *.o

indent: 
	indent -kr -i8 -ts8 *.c *.h
