From 9249dca20261144afbb4a26e2e7c0fac54c0f831 Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Sun, 30 Jun 2024 20:32:38 -0500 Subject: [PATCH] build: Makefile enhancements --- Makefile | 16 ++++++++++++---- scripts/wasm-build.sh | 9 +++++++++ scripts/wasm-opt.sh | 6 ++++++ 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 scripts/wasm-build.sh create mode 100644 scripts/wasm-opt.sh diff --git a/Makefile b/Makefile index cdddd93..41ef01d 100644 --- a/Makefile +++ b/Makefile @@ -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) diff --git a/scripts/wasm-build.sh b/scripts/wasm-build.sh new file mode 100644 index 0000000..49e8356 --- /dev/null +++ b/scripts/wasm-build.sh @@ -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 diff --git a/scripts/wasm-opt.sh b/scripts/wasm-opt.sh new file mode 100644 index 0000000..7cfaa52 --- /dev/null +++ b/scripts/wasm-opt.sh @@ -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