Rename the Makefile, add usage note at the top
I had named it makefile_web" in an effort to communicate to the user that the Make-based build path is only for web builds. It's annoying to type all that out, though, and it doesn't seem like other projects follow this convention. I'll just put a usage note at the top. It's not like the Makefile can be mis-used to make a non-web version. There is no footgun here.
This commit is contained in:
44
Makefile
Normal file
44
Makefile
Normal file
@@ -0,0 +1,44 @@
|
||||
# This script produces a web build. If you aren't trying to do that, it is
|
||||
# entirely useless to you.
|
||||
|
||||
SRC_DIR = ./src
|
||||
SRCS := $(wildcard $(SRC_DIR)/**)
|
||||
|
||||
# Patch these to select a different build profile or target
|
||||
# The target shouldn't change any time soon. WASM64, I guess. Other targets
|
||||
# aren't aimed at the web, so you shouldn't be using this makefile.
|
||||
CARGO_TARGET := wasm32-unknown-unknown
|
||||
CARGO_PROFILE := wasm-release
|
||||
|
||||
.PHONY: clean full-clean web tarball
|
||||
|
||||
web: out/boids.js out/boids_bg.wasm out/index.html
|
||||
|
||||
tarball: boids_web_root.tar
|
||||
|
||||
boids_web_root.tar: out/boids.js out/boids_bg.wasm out/index.html
|
||||
tar -caf $@ $^
|
||||
|
||||
target/$(CARGO_TARGET)/$(CARGO_PROFILE)/another-boids-in-rust.wasm: $(SRCS) Cargo.lock Cargo.toml
|
||||
cargo build --profile $(CARGO_PROFILE) --target $(CARGO_TARGET)
|
||||
|
||||
out:
|
||||
mkdir $@
|
||||
|
||||
# Both the JS and WASM files are generated by the wasm-bindgen call, so both
|
||||
# get to be on the target half of this recipe.
|
||||
out/boids.js out/boids_bg.wasm &: target/$(CARGO_TARGET)/$(CARGO_PROFILE)/another-boids-in-rust.wasm | out
|
||||
wasm-bindgen --no-typescript --target web --out-dir ./out/ --out-name boids target/$(CARGO_TARGET)/$(CARGO_PROFILE)/another-boids-in-rust.wasm
|
||||
|
||||
out/index.html: www/index.html
|
||||
cp -a $< $@
|
||||
|
||||
# Clean the web build, but not the Cargo cache. Cargo handles it's own caching
|
||||
# and I don't want to obliterate it all the time.
|
||||
clean:
|
||||
rm -rf out/ boids_web_root.tar
|
||||
|
||||
# Delete everything, including the Cargo build cache. In case someone needs
|
||||
# this, I guess.
|
||||
full-clean: clean
|
||||
cargo clean
|
||||
Reference in New Issue
Block a user