summaryrefslogtreecommitdiff
path: root/Makefile
blob: 1e34988e511cad9ed6636679ccc744048a9616b3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
.PHONY: web test dist clean realclean

ASSETS = $(wildcard game/www/*)

TEST_PORT ?= 8000

EMCC_CFLAGS := -O3 \
			   -sUSE_GLFW=3 \
			   -sASSERTIONS=1 \
			   -sWASM=1 \
			   -sASYNCIFY \
			   -sGL_ENABLE_GET_PROC_ADDRESS=1 \
			   -sEXPORTED_RUNTIME_METHODS=HEAPF32,ccall,cwrap,callMain

BUILD_DATE := $(shell date)
BUILD_VERSION := $(shell cargo pkgid -p game | cut -d '#' -f2)

web: dist

test: web
	cd dist && python3 -m http.server $(TEST_PORT)

dist:
	env \
		CC=emcc \
		EMCC_CFLAGS="$(EMCC_CFLAGS)" \
		cargo build --target wasm32-unknown-emscripten --profile wasm
	mkdir -p dist
	cp ./target/wasm32-unknown-emscripten/wasm/game.js dist/game.js
	cp ./target/wasm32-unknown-emscripten/wasm/game.wasm dist/game.wasm
	cp $(ASSETS) dist/
	sed -i 's/BUILD_VERSION/$(BUILD_VERSION)/' dist/index.html
	sed -i 's/BUILD_DATE/$(BUILD_DATE)/' dist/index.html

clean:
	rm -rf dist

realclean: clean
	cargo clean