.PHONY: clean .SUFFIXES: include_dir=include/ CC=gcc CFLAGS= -m32 -march=i486 -fno-stack-protector -fno-zero-initialized-in-bss -I $(include_dir) kobj_core=src/main.o \ src/print.o \ src/memory.o \ src/interrupt.o \ src/utils.o \ src/systemCall.o \ src/process.o \ src/ipc.o \ src/scheduler.o \ src/elf_loader.o \ src/signal.o kobj_asm_x86=src/asm/isr.o \ src/asm/asm_utils.o \ src/asm/io_port.o \ src/asm/sched.o all: NOS-kernel32.bin NOS-kernel32.bin: $(kobj_core) $(kobj_asm_x86) ld -melf_i386 --oformat=binary --Ttext=100000 --entry=main $^ -o $@ %.o: %.asm nasm -f elf -o $@ $^ %.o: %.c $(CC) $(CFLAGS) -c $^ -o $@ clean: -rm -f $(kobj_core) $(kobj_asm_x86) -rm -f NOS-kernel32.bin