build: Makefile enhancements

This commit is contained in:
Jeremy Wall 2024-06-30 20:32:38 -05:00
parent dac4324c8f
commit 9249dca202
3 changed files with 27 additions and 4 deletions

View File

@ -14,6 +14,11 @@
mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST)))
mkfile_dir := $(dir $(mkfile_path))
sqlite_url := sqlite://$(mkfile_dir)/.session_store/store.db
out := dist
project := kitchen
export out
export kitchen
kitchen: wasm kitchen/src/*.rs
cd kitchen; cargo build
@ -27,15 +32,18 @@ static-prep: web/index.html web/favicon.ico web/static/*.css
cp -r web/favicon.ico web/dist/
cp -r web/static web/dist/
wasmrelease: wasmrelease-dist static-prep
wasmrelease: wasm-opt static-prep
wasm-opt: wasmrelease-dist
cd web; sh ../scripts/wasm-opt.sh release
wasmrelease-dist: web/src/*.rs web/src/components/*.rs
cd web; wasm-pack build --mode no-install --release --target web --no-typescript --out-name kitchen_wasm --out-dir dist/
cd web; sh ../scripts/wasm-build.sh release
wasm: wasm-dist static-prep
wasm-dist: web/src/*.rs web/src/components/*.rs
cd web; wasm-pack build --mode no-install --target web --no-typescript --out-dir dist/ --features debug_logs
cd web; sh ../scripts/wasm-build.sh debug
clean:
rm -rf web/dist/*
@ -50,5 +58,5 @@ sqlx-add-%:
sqlx-revert:
cd kitchen; cargo sqlx migrate revert --database-url $(sqlite_url)
sqlx-prepare:
sqlx-prepare: kitchen
cd kitchen; cargo sqlx prepare --database-url $(sqlite_url)

9
scripts/wasm-build.sh Normal file
View File

@ -0,0 +1,9 @@
set -x
buildtype=$1;
if [ -eq ${buildtype} = "release" ]; then
builtype_flag="--release"
fi
cargo build --lib ${buildtype_flag} --target wasm32-unknown-unknown --target-dir $out --features debug_logs
wasm-bindgen $out/wasm32-unknown-unknown/${buildtype}/kitchen_wasm.wasm --out-dir $out --typescript --target web

6
scripts/wasm-opt.sh Normal file
View File

@ -0,0 +1,6 @@
set -x
buildtype=$1;
wasm-opt $out/wasm32-unkown-unkown/${buildtype}/${project}_wasm.wasm --out-dir dist/ -0
rm -f $out/${project}_wasm_bg.wasm
mv $out/${project}_wasm_bg-opt.wasm dist/${project}_wasm_bg.wasm