• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1clean:
2	- rm -rf ../../out/canvaskit_wasm
3	- rm -rf ./npm_build/bin
4	- rm -rf ./build/
5	$(MAKE) release
6
7release:
8	# Does an incremental build where possible.
9	./compile.sh
10	- rm -rf build/
11	mkdir build
12	cp ../../out/canvaskit_wasm/canvaskit.js   ./build/
13	cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
14
15release_cpu:
16	# Does an incremental build where possible.
17	./compile.sh cpu_only
18	- rm -rf build/
19	mkdir build
20	cp ../../out/canvaskit_wasm/canvaskit.js   ./build/
21	cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
22
23release_viewer:
24	# Does an incremental build where possible.
25	./compile.sh viewer
26	- rm -rf build/
27	mkdir build
28	cp ../../out/canvaskit_wasm/canvaskit.js   ./build/
29	cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
30
31debug:
32	# Does an incremental build where possible.
33	./compile.sh debug
34	- rm -rf build/
35	mkdir build
36	cp ../../out/canvaskit_wasm_debug/canvaskit.js   ./build/
37	cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
38
39debug_cpu:
40	# Does an incremental build where possible.
41	./compile.sh debug cpu_only
42	- rm -rf build/
43	mkdir build
44	cp ../../out/canvaskit_wasm_debug/canvaskit.js   ./build/
45	cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
46
47debug_viewer:
48	# Does an incremental build where possible.
49	./compile.sh debug viewer
50	- rm -rf build/
51	mkdir build
52	cp ../../out/canvaskit_wasm_debug/canvaskit.js   ./build/
53	cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
54
55profile:
56	./compile.sh profiling
57	- rm -rf build/
58	mkdir build
59	cp ../../out/canvaskit_wasm_profile/canvaskit.js   ./build/
60	cp ../../out/canvaskit_wasm_profile/canvaskit.wasm ./build/
61
62npm:
63	rm -rf ./npm_build/bin
64	mkdir -p ./npm_build/bin
65	cp ./CHANGELOG.md ./npm_build/
66
67	mkdir -p ./npm_build/bin/full
68	./compile.sh release
69	cp ../../out/canvaskit_wasm/canvaskit.js       ./npm_build/bin/full
70	cp ../../out/canvaskit_wasm/canvaskit.wasm     ./npm_build/bin/full
71
72	# These features are turned off to keep code size smaller for the
73	# general use case.
74	./compile.sh release no_skottie no_particles no_rt_shader no_alias_font no_effects_deserialization
75	cp ../../out/canvaskit_wasm/canvaskit.js       ./npm_build/bin
76	cp ../../out/canvaskit_wasm/canvaskit.wasm     ./npm_build/bin
77
78	mkdir -p ./npm_build/bin/profiling
79	./compile.sh profiling
80	cp ../../out/canvaskit_wasm_profile/canvaskit.js       ./npm_build/bin/profiling
81	cp ../../out/canvaskit_wasm_profile/canvaskit.wasm     ./npm_build/bin/profiling
82
83gm_tests_debug:
84	./compile_gm.sh debug
85	mkdir -p ./out
86	cp ../../out/wasm_gm_tests_debug/wasm_gm_tests.js       ./out
87	cp ../../out/wasm_gm_tests_debug/wasm_gm_tests.wasm     ./out
88
89gm_tests:
90	./compile_gm.sh
91	mkdir -p ./out
92	cp ../../out/wasm_gm_tests/wasm_gm_tests.js       ./out
93	cp ../../out/wasm_gm_tests/wasm_gm_tests.wasm     ./out
94
95local-example:
96	rm -rf node_modules/canvaskit
97	mkdir -p node_modules
98	ln -s ../npm_build node_modules/canvaskit
99	echo "Go check out http://localhost:8000/npm_build/example.html"
100	python3 ../../tools/serve_wasm.py
101
102test-continuous:
103	echo "Assuming npm ci has been run by user"
104	echo "Also assuming make debug or release has also been run by a user (if needed)"
105	npx karma start ./karma.conf.js --no-single-run --watch-poll
106
107test-continuous-headless:
108	npx karma start ./karma.conf.js --no-single-run --watch-poll --headless
109
110node-example:
111	node ./npm_build/node.example.js --expose-wasm
112
113docker-compile:
114	mkdir -p ${SKIA_ROOT}/out/canvaskit_wasm_docker
115	docker run --rm --volume ${SKIA_ROOT}:/SRC \
116               --volume ${SKIA_ROOT}/out/canvaskit_wasm_docker:/OUT \
117               gcr.io/skia-public/canvaskit-emsdk:2.0.0_v1 \
118               /SRC/infra/canvaskit/build_canvaskit.sh
119
120typecheck:
121	echo "Make sure you've run cd npm_build && npm ci recently"
122	cd npm_build && npm run dtslint
123
124bazel_gms_release:
125	# We use spawn_strategy=local for "everyday" builds because emscripten assumes there
126	# is a cache in the home directory that it needs to fill with compiled versions of libc etc.
127	# https://emscripten.org/docs/tools_reference/emcc.html
128	# By setting spawn_strategy=local, we can avoid recompiling all of this for every compilation
129	# unit, by letting the cache be used (and not dropped from the sandbox), which gets expensive.
130	# Local testing showed using the local strategy sped up a clean build from 9.5 minutes
131	# to 1 minute. https://docs.bazel.build/versions/main/user-manual.html#strategy-options
132	bazelisk build :gm-bindings-wasm --compilation_mode opt --spawn_strategy=local \
133		--gpu_backend=gl_backend --with_gl_standard=webgl_standard \
134		--included_codec=jpeg_codec --included_codec=png_codec --include_codec=webp_codec \
135		--include_codec=gif_codec
136	- rm -rf build/
137	mkdir build
138	cp ../../bazel-bin/modules/canvaskit/gm-bindings-wasm/gm-bindings.js build/gm-bindings.js
139	cp ../../bazel-bin/modules/canvaskit/gm-bindings-wasm/gm-bindings.wasm build/gm-bindings.wasm
140
141bazel_gms_debug:
142	# See above note about spawn_strategy
143	bazelisk build :gm-bindings-wasm --compilation_mode dbg --spawn_strategy=local \
144		--gpu_backend=gl_backend --with_gl_standard=webgl_standard \
145		--include_codec=jpeg_codec --include_codec=png_codec --include_codec=webp_codec \
146		--include_codec=gif_codec
147	- rm -rf build/
148	mkdir build
149	cp ../../bazel-bin/modules/canvaskit/gm-bindings-wasm/gm-bindings.js build/gm-bindings.js
150	cp ../../bazel-bin/modules/canvaskit/gm-bindings-wasm/gm-bindings.wasm build/gm-bindings.wasm
151
152bazel_canvaskit_debug:
153	# See above note about spawn_strategy
154	bazelisk build :canvaskit-wasm --compilation_mode dbg --spawn_strategy=local \
155		--gpu_backend=gl_backend --with_gl_standard=webgl_standard \
156		--include_codec=jpeg_codec --include_codec=png_codec --include_codec=webp_codec \
157		--include_codec=gif_codec
158	- rm -rf build/
159	mkdir build
160	cp ../../bazel-bin/modules/canvaskit/canvaskit-wasm/canvaskit.js build/canvaskit.js
161	cp ../../bazel-bin/modules/canvaskit/canvaskit-wasm/canvaskit.wasm build/canvaskit.wasm
162