diff --git a/Makefile b/Makefile index e7e50e7..630c945 100644 --- a/Makefile +++ b/Makefile @@ -12,23 +12,26 @@ CARGO_PROFILE := tiny SRC_DIR = ./src SRCS := $(wildcard $(SRC_DIR)/**) +ASSET_SOURCE := $(wildcard assets/**) +ASSETS := $(patsubst assets/%.ogg, out/assets/%.ogg, $(ASSET_SOURCE)) + .PHONY: clean full-clean tarball tarball-standalone web web-standalone # "Standalone" version. It includes an index.html to serve as-is -web-standalone: out/asteroids.js out/asteroids_bg.wasm.gz out/index.html +web-standalone: out/asteroids.js out/asteroids_bg.wasm.gz out/index.html $(ASSETS) # "Bundle-able" version. It has a page, but no index.html. Consumers are # expected to provide their own index.html and link to this page. -web: out/asteroids.js out/asteroids_bg.wasm.gz out/asteroids.html +web: out/asteroids.js out/asteroids_bg.wasm.gz out/asteroids.html $(ASSETS) tarball: asteroids_web_root.tar tarball_standalone: asteroids_web_root_standalone.tar -asteroids_web_root.tar: out/asteroids.js out/asteroids_bg.wasm.gz out/asteroids.html +asteroids_web_root.tar: out/asteroids.js out/asteroids_bg.wasm.gz out/asteroids.html $(ASSETS) tar -caf $@ $^ -asteroids_web_root_standalone.tar: out/asteroids.js out/asteroids_bg.wasm.gz out/index.html +asteroids_web_root_standalone.tar: out/asteroids.js out/asteroids_bg.wasm.gz out/index.html $(ASSETS) tar -caf $@ $^ target/$(CARGO_TARGET)/$(CARGO_PROFILE)/asteroids.wasm: $(SRCS) Cargo.lock Cargo.toml @@ -37,6 +40,12 @@ target/$(CARGO_TARGET)/$(CARGO_PROFILE)/asteroids.wasm: $(SRCS) Cargo.lock Cargo out: mkdir $@ +out/assets: out + mkdir $@ + +out/assets/%.ogg: out/assets assets/%.ogg + cp -ar assets/$*.ogg $@ + # 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/asteroids.js out/asteroids_bg.wasm.gz &: target/$(CARGO_TARGET)/$(CARGO_PROFILE)/asteroids.wasm | out