summaryrefslogtreecommitdiff
path: root/build_all.sh
diff options
context:
space:
mode:
Diffstat (limited to 'build_all.sh')
-rwxr-xr-xbuild_all.sh51
1 files changed, 37 insertions, 14 deletions
diff --git a/build_all.sh b/build_all.sh
index dd6da5e..1cc40ee 100755
--- a/build_all.sh
+++ b/build_all.sh
@@ -1,4 +1,4 @@
-FLAGS=" \
+FLAGS_X11=" \
-Wall -Wextra -Werror -pedantic \
-Wno-old-style-declaration \
-Wno-missing-braces \
@@ -6,21 +6,44 @@ FLAGS=" \
-Wno-unused-but-set-variable \
-Wno-unused-parameter \
-Wno-overlength-strings \
+ -D NDEBUG \
-O3 \
-fsanitize=undefined,address,leak \
-lX11 -lm -lasound"
-if [ ! -d ./bin ]; then
- mkdir ./bin
-fi
+FLAGS_WEB=" \
+ -Wall -Wextra -Werror -pedantic \
+ -Wno-missing-braces \
+ -Wno-unused-variable \
+ -Wno-unused-but-set-variable \
+ -Wno-unused-parameter \
+ -Wno-overlength-strings \
+ -D NDEBUG \
+ -O3 \
+ --target=wasm32 \
+ -nostdlib -fno-builtin \
+ -mbulk-memory \
+ -Wl,--no-entry,--allow-undefined"
+
+mkdir -p bin/x11
+mkdir -p bin/web
+
+gcc $FLAGS_X11 -o ./bin/x11/graph ./examples/graph.c
+gcc $FLAGS_X11 -o ./bin/x11/particles ./examples/particles.c
+gcc $FLAGS_X11 -o ./bin/x11/julia_set ./examples/julia_set.c
+gcc $FLAGS_X11 -o ./bin/x11/game_of_life ./examples/game_of_life.c
+gcc $FLAGS_X11 -o ./bin/x11/labyrinth ./examples/labyrinth.c
+gcc $FLAGS_X11 -o ./bin/x11/sinewave ./examples/sinewave.c
+gcc $FLAGS_X11 -o ./bin/x11/pixels ./examples/pixels.c
+gcc $FLAGS_X11 -o ./bin/x11/ui ./examples/ui.c
+gcc $FLAGS_X11 -o ./bin/x11/echo ./examples/echo.c
+gcc $FLAGS_X11 -o ./bin/x11/proto ./examples/proto.c
-gcc $FLAGS -o ./bin/graph ./examples/graph.c
-gcc $FLAGS -o ./bin/particles ./examples/particles.c
-gcc $FLAGS -o ./bin/julia_set ./examples/julia_set.c
-gcc $FLAGS -o ./bin/game_of_life ./examples/game_of_life.c
-gcc $FLAGS -o ./bin/labyrinth ./examples/labyrinth.c
-gcc $FLAGS -o ./bin/sinewave ./examples/sinewave.c
-gcc $FLAGS -o ./bin/pixels ./examples/pixels.c
-gcc $FLAGS -o ./bin/ui ./examples/ui.c
-gcc $FLAGS -o ./bin/echo ./examples/echo.c
-gcc $FLAGS -o ./bin/proto ./examples/proto.c
+clang $FLAGS_WEB -o ./bin/web/graph.wasm ./examples/graph.c
+clang $FLAGS_WEB -o ./bin/web/julia_set.wasm ./examples/julia_set.c
+clang $FLAGS_WEB -o ./bin/web/game_of_life.wasm ./examples/game_of_life.c
+clang $FLAGS_WEB -o ./bin/web/labyrinth.wasm ./examples/labyrinth.c
+clang $FLAGS_WEB -o ./bin/web/sinewave.wasm ./examples/sinewave.c
+clang $FLAGS_WEB -o ./bin/web/pixels.wasm ./examples/pixels.c
+clang $FLAGS_WEB -o ./bin/web/ui.wasm ./examples/ui.c
+clang $FLAGS_WEB -o ./bin/web/proto.wasm ./examples/proto.c