34 lines
712 B
Makefile
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 $@ $^
|