-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjustfile
39 lines (25 loc) · 1.32 KB
/
justfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# idk, i like just :3
default:
rm -rf src/sys.h.gch
nasm -felf32 src/asm/boot.asm -o boot.ao # .ao to have precedence over other .os
nasm -felf32 src/asm/gdt.asm -o gdt.ao
nasm -felf32 src/asm/isr.asm -o isr.ao
nasm -felf32 src/asm/irq.asm -o irq.ao
i686-elf-gcc -c src/libc/stdio/* -ffreestanding -O2 -Wall -Wextra -I src/libc/include
i686-elf-gcc -c src/libc/string/* -ffreestanding -O2 -Wall -Wextra -I src/libc/include
i686-elf-gcc -c src/misc/* -ffreestanding -O2 -Wall -Wextra -I src/misc/include/
i686-elf-gcc -c src/shell/* -ffreestanding -O2 -Wall -Wextra -I src/shell/include/
i686-elf-gcc -c src/kernel/* -ffreestanding -O2 -Wall -Wextra -I src/kernel/include
i686-elf-gcc -c src/* -ffreestanding -O2 -Wall -Wextra -g
i686-elf-gcc -T linker.ld -o vixenOS.bin -ffreestanding -fno-leading-underscore -O2 -nostdlib *.ao *.o -lgcc -g
objcopy --only-keep-debug vixenOS.bin vixenOS.sym
mkdir -p isodir/boot/grub
cp vixenOS.bin isodir/boot/vixen.bin
cp grub.cfg isodir/boot/grub/grub.cfg
grub2-mkrescue -o vixenOS.iso isodir
just clean
rm -rf isodir
qemu-system-i386 -cdrom vixenOS.iso -device ahci,id=ahci -drive file=disk.img,id=disk,if=none,format=raw -device ide-hd,drive=disk,bus=ahci.0 -audiodev pa,id=snd0 -machine pcspk-audiodev=snd0 -rtc base=localtime
clean:
rm -rf *.ao
rm -rf *.o