sylveos

Toy Operating System
Log | Files | Refs

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