.PHONY: clean CC=gcc CFLAGS= -m32 -march=i486 -fno-stack-protector -fno-zero-initialized-in-bss kernldr_obj_core=kernldr_init.o \ kernldr_main.o \ kernldr_print.o \ kernldr_utils.o \ asm_utils.o kernldr_obj_drivers=drivers/ATA.o all: NOS-kernldr.bin NOS-kernldr.bin: kernldr_1 kernldr_2 dd if=kernldr_1 of=$@ bs=512 count=1 dd if=kernldr_2 of=$@ bs=512 seek=1 rm kernldr_1 kernldr_2 kernldr_1: startup.asm nasm -f bin -o $@ $^ kernldr_2: $(kernldr_obj_core) $(kernldr_obj_drivers) ld -melf_i386 --oformat=binary --Ttext=8000 --entry=kernldr_init $^ -o $@ clean: -rm -f NOS-kernldr.bin $(kernldr_obj_core) $(kernldr_obj_drivers) %.o:%.c $(CC) $(CFLAGS) -c $^ -o $@ %.o:%.asm nasm -f elf -o $@ $^