Files
nub-os/makefile
2025-08-22 23:39:38 +02:00

33 lines
1.0 KiB
Makefile

build: build/os.bin
@echo "Build succeded"
run: build/os.bin
qemu-system-x86_64 -drive file=build/os.bin,format=raw,index=0,media=disk
build/os.bin: build/boot.bin build/kernel.bin build/zeroes.bin
cat build/boot.bin build/kernel.bin build/zeroes.bin > build/os.bin
build/kernel.bin: build/kernel_entry.o build/kernel.o build/mem.o build/print.o
i386-elf-ld -o build/kernel.bin -Ttext 0x1000 build/kernel_entry.o build/kernel.o build/mem.o build/print.o --oformat binary
build/kernel.o: src/kernel.c
i386-elf-gcc -ffreestanding -m32 -c -o build/kernel.o src/kernel.c
build/mem.o: src/mem.c
i386-elf-gcc -ffreestanding -m32 -c -o build/mem.o src/mem.c
build/print.o: src/print.c
i386-elf-gcc -ffreestanding -m32 -c -o build/print.o src/print.c
build/kernel_entry.o: src/kernel_entry.asm
nasm -f elf -o build/kernel_entry.o src/kernel_entry.asm
build/boot.bin: src/boot.asm
nasm -f bin -o build/boot.bin src/boot.asm
build/zeroes.bin:
dd if=/dev/zero of=build/zeroes.bin bs=1 count=10240
clean:
@rm build/* 2>/dev/null || true