summaryrefslogtreecommitdiff
path: root/lib/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'lib/build.sh')
-rwxr-xr-xlib/build.sh29
1 files changed, 23 insertions, 6 deletions
diff --git a/lib/build.sh b/lib/build.sh
index 3f8b5a6..1695dfe 100755
--- a/lib/build.sh
+++ b/lib/build.sh
@@ -5,11 +5,9 @@ fail() {
exit 1
}
-CC=cc
-CFLAGS="-std=c99 -Wall -Wextra -Wpedantic -Og -g -D_POSIX_C_SOURCE=200809L"
-LDFLAGS="-fPIC -lm"
-SOURCES="test.c vec2.c snapshot.c log.c player.c physics.c"
-output="build"
+ODIN_FLAGS="-vet -warnings-as-errors -reloc-mode=pic"
+
+output="output"
for arg ; do
case "$arg" in
@@ -19,6 +17,15 @@ for arg ; do
--output=*)
output="${arg#*=}"
;;
+ --release)
+ release=1
+ ;;
+ --client)
+ ODIN_FLAGS="$ODIN_FLAGS -define:DJUP_CLIENT=true"
+ ;;
+ --server)
+ ODIN_FLAGS="$ODIN_FLAGS -define:DJUP_SERVER=true"
+ ;;
*)
echo "usage"
;;
@@ -42,10 +49,20 @@ fi
case "$runtime" in
linux-x64)
sofile="libdjup.so"
+ target="linux_amd64"
;;
*)
fail "Unsupported runtime $runtime"
esac
+if [ ! -z "$release" ]; then
+ optimize="-o=speed"
+else
+ optimize="-o=none"
+fi
+
echo Building for runtime "$runtime ..."
-mkdir -p "$output/$runtime" && $CC $CFLAGS $SOURCES -shared $LDFLAGS -o "$output/$runtime/$sofile" && echo Done
+echo ODIN_FLAGS=$ODIN_FLAGS
+mkdir -p "$output/$runtime" && \
+ odin build . -build-mode=shared -out="$output/$runtime/$sofile" $ODIN_FLAGS $optimize && \
+ echo Done