2020-04-17 17:44:23 +02:00

34 lines
712 B
Makefile

.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 $@ $^