Blame


1 a1cd4b7f 2024-10-03 benni .SUFFIXES: .asm .o
2 a1cd4b7f 2024-10-03 benni LDFLAGS = -s --no-pie
3 1fd6a248 2024-09-28 benni
4 9990f831 2024-10-05 benni OBJ = loader.o kernel.o floppy.o
5 a64d9d6e 2024-10-05 benni IMG = sys.img
6 1fd6a248 2024-09-28 benni
7 a1cd4b7f 2024-10-03 benni
8 a1cd4b7f 2024-10-03 benni all: ${IMG}
9 a1cd4b7f 2024-10-03 benni
10 a1cd4b7f 2024-10-03 benni xxd: ${IMG}
11 a1cd4b7f 2024-10-03 benni xxd ${IMG} | less
12 a1cd4b7f 2024-10-03 benni
13 1fd6a248 2024-09-28 benni clean:
14 6b04638f 2024-10-05 benni rm -f *.o *.elf *.bin *.img
15 1fd6a248 2024-09-28 benni
16 a1cd4b7f 2024-10-03 benni run: ${IMG}
17 a1cd4b7f 2024-10-03 benni qemu-system-i386 -M pc -m 1M -fda ${IMG}
18 1fd6a248 2024-09-28 benni
19 6b04638f 2024-10-05 benni floppy1440.img: sys.bin
20 6b04638f 2024-10-05 benni cat sys.bin /dev/zero | dd of=floppy1440.img bs=512 count=2880
21 1fd6a248 2024-09-28 benni
22 6b04638f 2024-10-05 benni sys.img: sys.bin
23 6b04638f 2024-10-05 benni cat sys.bin /dev/zero | dd of=sys.img bs=512 count=128
24 a64d9d6e 2024-10-05 benni
25 6b04638f 2024-10-05 benni sys.bin: sys.elf
26 6b04638f 2024-10-05 benni objcopy -O binary sys.elf sys.bin
27 6b04638f 2024-10-05 benni
28 a1cd4b7f 2024-10-03 benni sys.elf: linker.ld ${OBJ}
29 a1cd4b7f 2024-10-03 benni ld -o $@ -T linker.ld ${OBJ} ${LDFLAGS}
30 a1cd4b7f 2024-10-03 benni
31 79ff103d 2024-10-07 benni user.bin: user.asm
32 79ff103d 2024-10-07 benni nasm -fbin -o $@ user.asm
33 79ff103d 2024-10-07 benni
34 a1cd4b7f 2024-10-03 benni .asm.o:
35 a1cd4b7f 2024-10-03 benni nasm -felf32 -o $@ $<
36 a1cd4b7f 2024-10-03 benni
37 79ff103d 2024-10-07 benni kernel.o: user.bin
38 79ff103d 2024-10-07 benni