Commit initial
This commit is contained in:
33
boot/kernloader/Makefile
Normal file
33
boot/kernloader/Makefile
Normal file
@ -0,0 +1,33 @@
|
||||
.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 $@ $^
|
Reference in New Issue
Block a user