ASMSOURCES=src/boot.asm src/idt_s.asm
CSOURCES=src/main.c src/io.c src/monitor.c src/memory.c src/hw_utils.c src/idt.c
#src/gdt.c
ASMOBJECTS=$(patsubst %.asm, %.o, $(ASMSOURCES))
COBJECTS=$(patsubst %.c, %.o, $(CSOURCES))
all:
@echo Building and linking $(ASMOBJECTS) $(COBJECTS)
make $(ASMOBJECTS)
make $(COBJECTS)
make link
link:
@echo Linking kernel.bin
../Toolchain/Compiler/x86_64/bin/x86_64-elf-ld -nodefaultlibs -Tlink.ld -o bin/kernel.bin $(ASMOBJECTS) $(COBJECTS)
%.o: %.asm
@echo Assembling $<
yasm -felf64 $< -o $@
%.o: %.c
@echo Compiling $<
../Toolchain/Compiler/x86_64/bin/x86_64-elf-gcc -m64 -Wall -mcmodel=kernel -ffreestanding -nostdlib -mno-red-zone -c $< -o $@
clean:
rm bin/kernel.bin $(COBJECTS) $(ASMOBJECTS)
QVNNU09VUkNFUz1zcmMvYm9vdC5hc20gc3JjL2lkdF9zLmFzbQpDU09VUkNFUz1zcmMvbWFpbi5jIHNyYy9pby5jIHNyYy9tb25pdG9yLmMgc3JjL21lbW9yeS5jIHNyYy9od191dGlscy5jIHNyYy9pZHQuYwojc3JjL2dkdC5jCgpBU01PQkpFQ1RTPSQocGF0c3Vic3QgJS5hc20sICUubywgJChBU01TT1VSQ0VTKSkKQ09CSkVDVFM9JChwYXRzdWJzdCAlLmMsICUubywgJChDU09VUkNFUykpCgphbGw6CglAZWNobyBCdWlsZGluZyBhbmQgbGlua2luZyAkKEFTTU9CSkVDVFMpICQoQ09CSkVDVFMpCgltYWtlICQoQVNNT0JKRUNUUykKCW1ha2UgJChDT0JKRUNUUykKCW1ha2UgbGluawoKbGluazoKCUBlY2hvIExpbmtpbmcga2VybmVsLmJpbgoJLi4vVG9vbGNoYWluL0NvbXBpbGVyL3g4Nl82NC9iaW4veDg2XzY0LWVsZi1sZCAtbm9kZWZhdWx0bGlicyAtVGxpbmsubGQgLW8gYmluL2tlcm5lbC5iaW4gJChBU01PQkpFQ1RTKSAkKENPQkpFQ1RTKQoKJS5vOiAlLmFzbQoJQGVjaG8gQXNzZW1ibGluZyAkPAoJeWFzbSAtZmVsZjY0ICQ8IC1vICRACgolLm86ICUuYwoJQGVjaG8gQ29tcGlsaW5nICQ8CgkuLi9Ub29sY2hhaW4vQ29tcGlsZXIveDg2XzY0L2Jpbi94ODZfNjQtZWxmLWdjYyAtbTY0IC1XYWxsIC1tY21vZGVsPWtlcm5lbCAtZmZyZWVzdGFuZGluZyAtbm9zdGRsaWIgLW1uby1yZWQtem9uZSAtYyAkPCAtbyAkQAoKY2xlYW46CglybSBiaW4va2VybmVsLmJpbiAkKENPQkpFQ1RTKSAkKEFTTU9CSkVDVFMp