Rust-for-Arduboy/run

44 lines
3.7 KiB
Bash
Executable file

#!/bin/bash
option=$1
if [ -z "$option" ]
then
cargo build -p game --release && cp ./target/arduboy/release/libgame.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/game.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "snake" ]
then
cargo build -p snake --release && cp ./target/arduboy/release/libsnake.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/snake.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "pong" ]
then
cargo build -p pong --release && cp ./target/arduboy/release/libpong.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/pong.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "rustacean" ]
then
cargo build -p rustacean --release && cp ./target/arduboy/release/librustacean.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/rustacean.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "tone" ]
then
cargo build -p tone --release && cp ./target/arduboy/release/libtone.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/tone.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "eeprom" ]
then
cargo build -p eeprom-demo --release && cp ./target/arduboy/release/libeeprom_demo.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/eeprom.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "progmem" ]
then
cargo build -p progmem --release && cp ./target/arduboy/release/libprogmem.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/progmem.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "demo2" ]
then
cargo build -p demo2 --release && cp ./target/arduboy/release/libdemo2.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/demo2.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "demo3" ]
then
cargo build -p demo3 --release && cp ./target/arduboy/release/libdemo3.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/demo3.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "demo4" ]
then
cargo build -p demo4 --release && cp ./target/arduboy/release/libdemo4.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/demo4.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "demo5" ]
then
cargo build -p demo5 --release && cp ./target/arduboy/release/libdemo5.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/demo5.hex && pio run -t clean && rm lib/libgame.a && cd ..
elif [ "$option" = "demo6" ]
then
cargo build -p demo6 --release && cp ./target/arduboy/release/libdemo6.a ./Wrapper-Project/lib/libgame.a && cd Wrapper-Project/ && pio run -v -t upload && cp ./.pio/build/arduboy/firmware.hex ./.pio/build/demo6.hex && pio run -t clean && rm lib/libgame.a && cd ..
else
echo Usage: for uploading your game \|./run.sh
echo Usage: for uploading an example game \| ./run.sh \<Example Game\>
fi