This repository has been archived on 2023-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
libparzel-shadow/build.bash

68 lines
1.4 KiB
Bash
Raw Permalink Normal View History

2023-10-07 07:12:30 +00:00
#!/usr/bin/env bash
set -e
mkdir -p build/
build_debug() {
gcc -g -c -o build/shadow_parser.o src/shadow_parser.c -I inc/
ar -rvs build/libparzel-shadow.a \
build/shadow_parser.o
mv build/libparzel-shadow.a .
gcc -g -o write_shadow_names.elf main.c libparzel-shadow.a -I inc/
}
build_fast() {
gcc -O3 -c -o build/shadow_parser.o src/shadow_parser.c -I inc/
ar -rvs build/libparzel-shadow.a \
build/shadow_parser.o
mv build/libparzel-shadow.a .
gcc -O3 -o write_shadow_names.elf main.c libparzel-shadow.a -I inc/
}
build_small() {
gcc -Os -c -o build/shadow_parser.o src/shadow_parser.c -I inc/
ar -rvs build/libparzel-shadow.a \
build/shadow_parser.o
mv build/libparzel-shadow.a .
gcc -Os -o write_shadow_names.elf main.c libparzel-shadow.a -I inc/
}
BUILD_PROFILE=$1
REMAINING_TRIES=3
while [[ $REMAINING_TRIES > 0 ]] do
case $BUILD_PROFILE in
"debug")
build_debug
exit
;;
"release" | "fast")
build_fast
exit
;;
"small")
build_small
exit
;;
"cleanup")
rm write_shadow_names.elf
rm libparzel-shadow.a
rm -r build/
exit
;;
*)
printf "Profile (debug | release | small): "
read BUILD_PROFILE
;;
esac
let REMAINING_TRIES--
done
echo "Tries exhausted"