68 lines
1.4 KiB
Bash
68 lines
1.4 KiB
Bash
#!/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"
|