30 lines
639 B
Bash
Executable file
30 lines
639 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# terrible
|
|
eval $(grep '^name *=' Cargo.toml | head -n1 | sed 's/ //g')
|
|
eval $(grep '^target *=' .cargo/config.toml | head -n1 | sed 's/ //g')
|
|
|
|
# terribler
|
|
export RUSTC_BOOTSTRAP=1
|
|
|
|
next_arg=false
|
|
for arg in "$@"; do
|
|
if $next_arg; then
|
|
target="$arg"
|
|
next_arg=false
|
|
elif [ "$arg" == "--target" ]; then
|
|
next_arg=true
|
|
elif [[ "$arg" =~ ^--target= ]]; then
|
|
target="${arg/--target=/}"
|
|
fi
|
|
done
|
|
|
|
set -exo pipefail
|
|
|
|
cargo -Z build-std build --release "$@"
|
|
|
|
arm-none-eabi-objcopy -O binary "target/${target}/release/$name" "target/${name}.gba"
|
|
|
|
which gbafix || cargo install gbafix
|
|
|
|
gbafix "target/${name}.gba"
|