summaryrefslogtreecommitdiff
path: root/code/build.sh
blob: ed819b61abc85207f5e75d8c07b357305097b181 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/sh

ThisDir="$(dirname "$(readlink -f "$0")")"
cd "$ThisDir"

mkdir -p ../build

Mode="$1"
if [ "$Mode" != "release" ]
then
 Mode="debug" 
fi
>&2 printf 'Mode: %s\n' "$Mode"

CompilerFlags="
-fdiagnostics-absolute-paths
"
  
WarningFlags="
-Wall
-Wextra
-Wno-unused-variable
-Wno-unused-but-set-variable
-Wno-write-strings
-Wno-pointer-arith
-Wno-unused-parameter
-Wno-unused-function
-Wno-null-dereference
"

LinkerFlags="
-Wl,--allow-undefined
-Wl,--no-entry
-Wl,--export-all
-Wl,--export=LogMessage
"

if [ "$Mode" = "debug" ]
then
 CompilerFlags="$CompilerFlags
 -O0
 -g -g3 -ggdb
 "
elif [ "$Mode" = "release" ]
then
 CompilerFlags="$CompilerFlags
 -O2
 "
fi

printf 'game.c\n'
clang \
    $CompilerFlags \
    -nostdlib \
    -mbulk-memory --target=wasm32 \
    $WarningFlags \
    $LinkerFlags \
    -o ../build/game.wasm \
    game.c
printf 'index.html platform.js\n'
ln -f index.html platform.js ../build

if false
then
 cd ../ws
 printf 'ws.c\n'
 clang \
  -I./libs/wsServer/include -I./libs/wsServer/src \
  $CompilerFlags \
  $WarningFlags \
  -o ../build/ws \
  ws.c
fi

printf '%s\n' "update" | websocat 'ws://localhost:1234/'