move stuff aroundd

This commit is contained in:
nub31
2025-08-23 14:43:00 +02:00
parent e2dcdbeb53
commit 3b5e08951c
11 changed files with 43 additions and 32 deletions

View File

@@ -1,32 +0,0 @@
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

5
src/boot/makefile Normal file
View File

@@ -0,0 +1,5 @@
bootloader.bin: bootloader.asm
nasm -f bin -o bootloader.bin bootloader.asm
clean:
@rm *.o *.bin 2>/dev/null || true

19
src/kernel/makefile Normal file
View File

@@ -0,0 +1,19 @@
CC = i386-elf-gcc -ffreestanding -m32
kernel.bin: entry.o kernel.o mem.o print.o
i386-elf-ld -o kernel.bin -Ttext 0x1000 entry.o kernel.o mem.o print.o --oformat binary
entry.o: entry.asm
nasm -f elf -o entry.o entry.asm
kernel.o: kernel.c
$(CC) -c -o kernel.o kernel.c
mem.o: mem.c
$(CC) -c -o mem.o mem.c
print.o: print.c
$(CC) -c -o print.o print.c
clean:
@rm *.o *.bin 2>/dev/null || true

19
src/makefile Normal file
View File

@@ -0,0 +1,19 @@
os.bin: boot/bootloader.bin kernel/kernel.bin zeroes.bin
cat boot/bootloader.bin kernel/kernel.bin zeroes.bin > os.bin
kernel/kernel.bin:
pushd kernel; make kernel.bin; popd
boot/bootloader.bin:
pushd boot; make bootloader.bin; popd
zeroes.bin:
dd if=/dev/zero of=zeroes.bin bs=1 count=10240
run: os.bin
qemu-system-x86_64 -drive file=os.bin,format=raw,index=0,media=disk
clean:
pushd kernel; make clean; popd
pushd boot; make clean; popd
@rm *.o *.bin 2>/dev/null || true