Justfile (1492B)
1 build program mode="Bootable": 2 if [ "{{ program }}" = "bootloader" ]; then \ 3 zig build -Dmode=Bootloader -Dprogram=bootloader; \ 4 elif [ "{{ program }}" = "sylveos" ]; then \ 5 zig build -Dprogram={{ program }}; \ 6 else \ 7 zig build -Dmode={{ mode }} -Dprogram={{ program }}; \ 8 fi 9 arm-none-eabi-objdump -m armv6 -D zig-out/bin/{{ program }}.elf > zig-out/bin/{{ program }}.s 10 du -h zig-out/bin/{{ program }}.elf 11 12 check program="all": 13 if [ "{{ program }}" = "all" ]; then \ 14 zig build -Drelease=false; \ 15 elif [ "{{ program }}" = "sylveos" ]; then \ 16 zig build -Drelease=false -Dprogram={{ program }}; \ 17 else \ 18 zig build -Dmode=Bootable -Drelease=false -Dprogram={{ program }}; \ 19 fi \ 20 21 install program sd-card="/dev/mmcblk0p1": 22 just build {{ program }} Standalone 23 udisksctl mount -b {{ sd-card }} 24 cp zig-out/bin/{{ program }}.bin $(grep {{ sd-card }} /etc/mtab | cut "-d " -f2)/kernel.img 25 sync $(grep {{ sd-card }} /etc/mtab | cut "-d " -f2) 26 sleep 3 # pray 27 udisksctl unmount -b {{ sd-card }} 28 29 tools *args: 30 cargo run --release --manifest-path tools/Cargo.toml -- {{ args }} 31 32 run program *args: 33 just build {{ program }} Bootable 34 if [ "{{ program }}" = "sylveos" ]; then \ 35 just tools zig-out/bin/{{ program }}.bin {{ args }} --sylveos; \ 36 else \ 37 just tools zig-out/bin/{{ program }}.bin {{ args }}; \ 38 fi \ 39 40 clean: 41 rm -rfv .zig-cache zig-out tools/target