release := "" cargo_flags := if release != "" { "--release" } else { "" } default: run build_user_prog prog: cd {{ "user" / prog }} && \ RUSTFLAGS="-C relocation-model=pic" cargo b {{ cargo_flags }} riscv64-elf-objcopy -O binary {{ "target/riscv64/debug" / prog }} {{ "user" / prog / prog + ".mem" }} build: (map_dir "user" "build_user_prog") cargo b {{ cargo_flags }} run: build cargo r {{ cargo_flags }} --bin kernel-rust map_dir dir recipe: @for file in `ls {{ dir }}`; do \ just cargo_flags={{ cargo_flags }} {{ recipe }} $file ; \ done