wasm-test/build.sh

61 lines
1.8 KiB
Bash
Raw Permalink Normal View History

2024-10-14 21:42:29 +02:00
#!/bin/bash
2024-11-15 20:58:15 +01:00
if [[ "$1" == "clear" ]]; then
2024-11-27 14:02:45 +01:00
rm -vfr out/*
touch out/.gitkeep
2024-11-15 20:58:15 +01:00
exit
fi;
2024-11-21 16:39:12 +01:00
export_sym="init draw key_pressed key_released set_velocity set_mouse get_pos_x get_pos_y draw_player deco_player reset_collisions add_collisions reset_coins add_coin set_default_map BUFFER width height id nb_players dir"
2024-10-14 21:42:29 +02:00
export_cmd=""
for e in $export_sym; do
export_cmd="$export_cmd -Wl,--export=$e";
done;
2024-11-13 10:05:35 +01:00
if [[ "$1" == "" ]]; then
f='app'
2024-11-14 11:05:49 +01:00
a='app.c'
2024-11-13 10:05:35 +01:00
else
f=$(echo $1 | sed "s/\..*$//g")
2024-11-14 11:05:49 +01:00
a=$1
2024-11-13 10:05:35 +01:00
fi
2024-10-14 21:42:29 +02:00
2024-11-15 12:29:27 +01:00
#set -xe
2024-11-13 10:05:35 +01:00
2024-11-27 14:02:45 +01:00
clang png2c.c -o out/png2c -lm
mkdir -p out/museum.c
rm -f out/museum.c/*
2024-11-15 12:29:27 +01:00
pengers_html=$'\n'
pengers_include=$'\n'
id=0
for p in $(ls static/museum/); do
2024-11-15 12:29:27 +01:00
file=$(echo $p | sed "s/\.png$//g")
2024-11-27 14:02:45 +01:00
./out/png2c "static/museum/"$p $id > out/museum.c/$file.c
pengers_html+=$' <img src="static/museum/'$p'" class="penger-img" penger-id="'$id'"></img>\n'
2024-11-15 12:29:27 +01:00
pengers_include+='#include "museum.c/'$file$'.c"\n'
((id=id+1))
done
2024-11-27 14:02:45 +01:00
echo "int pengers_height[$id];" > out/pengers.h
echo "int pengers_width[$id];" >> out/pengers.h
echo "unsigned int *pengers_img[$id];" >> out/pengers.h
echo "$pengers_include" >> out/pengers.h
echo "void pengers_init(void) {" >> out/pengers.h
2024-11-15 12:29:27 +01:00
((id=id-1))
for i in $(seq 0 $id); do
2024-11-27 14:02:45 +01:00
echo " penger_init_$i();" >> out/pengers.h;
2024-11-15 12:29:27 +01:00
done
2024-11-27 14:02:45 +01:00
echo "}" >> out/pengers.h
2024-11-15 12:29:27 +01:00
echo -e "$pengers_html" > pengers_image.html.temp
2024-11-27 14:02:45 +01:00
sed -e '/<!-- penger images src -->/rpengers_image.html.temp' templates/index.html.template > out/index.html
2024-11-15 12:29:27 +01:00
rm pengers_image.html.temp
./out/png2c "static/assets/hand.png" > out/hand.c
./out/png2c "static/assets/coin.png" > out/coin.c
2024-11-13 10:05:35 +01:00
2024-11-27 14:02:45 +01:00
clang -O3 --target=wasm32 -fno-builtin -nostdlib --no-standard-libraries -Wl,--no-entry $export_cmd -Wl,--allow-undefined -o out/$f.wasm $a
2024-10-14 21:42:29 +02:00
2024-11-27 14:02:45 +01:00
wasm2wat out/$f.wasm > out/$f.wat