xref: /aosp_15_r20/external/skia/modules/canvaskit/Makefile (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
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_webgpu:
24	# Does an incremental build where possible.
25	./compile.sh use_webgpu
26	- rm -rf build/
27	mkdir build
28	cp ../../out/canvaskit_wasm/canvaskit.js   ./build/
29	cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
30
31release_viewer:
32	# Does an incremental build where possible.
33	./compile.sh viewer
34	- rm -rf build/
35	mkdir build
36	cp ../../out/canvaskit_wasm/canvaskit.js   ./build/
37	cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
38
39debug:
40	# Does an incremental build where possible.
41	./compile.sh debug_build
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_cpu:
48	# Does an incremental build where possible.
49	./compile.sh debug_build cpu_only
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
55debug_webgpu:
56	# Does an incremental build where possible.
57	./compile.sh debug_build use_webgpu
58	- rm -rf build/
59	mkdir build
60	cp ../../out/canvaskit_wasm_debug/canvaskit.js   ./build/
61	cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
62
63debug_viewer:
64	# Does an incremental build where possible.
65	./compile.sh debug_build viewer
66	- rm -rf build/
67	mkdir build
68	cp ../../out/canvaskit_wasm_debug/canvaskit.js   ./build/
69	cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
70
71profile:
72	./compile.sh profiling
73	- rm -rf build/
74	mkdir build
75	cp ../../out/canvaskit_wasm_profile/canvaskit.js   ./build/
76	cp ../../out/canvaskit_wasm_profile/canvaskit.wasm ./build/
77
78npm:
79	rm -rf ./npm_build/bin
80	mkdir -p ./npm_build/bin
81	cp ./CHANGELOG.md ./npm_build/
82
83	mkdir -p ./npm_build/bin/full
84	./compile.sh release
85	cp ../../out/canvaskit_wasm/canvaskit.js       ./npm_build/bin/full
86	cp ../../out/canvaskit_wasm/canvaskit.wasm     ./npm_build/bin/full
87
88	# These features are turned off to keep code size smaller for the
89	# general use case.
90	./compile.sh release no_skottie no_sksl_trace no_alias_font \
91		no_effects_deserialization no_encode_jpeg no_encode_webp legacy_draw_vertices \
92		no_embedded_font
93	cp ../../out/canvaskit_wasm/canvaskit.js       ./npm_build/bin
94	cp ../../out/canvaskit_wasm/canvaskit.wasm     ./npm_build/bin
95
96	mkdir -p ./npm_build/bin/profiling
97	./compile.sh profiling
98	cp ../../out/canvaskit_wasm_profile/canvaskit.js       ./npm_build/bin/profiling
99	cp ../../out/canvaskit_wasm_profile/canvaskit.wasm     ./npm_build/bin/profiling
100
101gm_tests_debug:
102	./compile_gm.sh debug
103	- rm -rf build/
104	mkdir build
105	cp ../../out/wasm_gm_tests_debug/wasm_gm_tests.js       ./build
106	cp ../../out/wasm_gm_tests_debug/wasm_gm_tests.wasm     ./build
107
108gm_tests:
109	./compile_gm.sh
110	- rm -rf build/
111	mkdir build
112	cp ../../out/wasm_gm_tests/wasm_gm_tests.js       ./build
113	cp ../../out/wasm_gm_tests/wasm_gm_tests.wasm     ./build
114
115single-gm:
116	echo "Go check out http://localhost:8000/wasm_tools/gms.html"
117	python3 ../../tools/serve_wasm.py
118
119local-example:
120	echo "Go check out http://localhost:8000/npm_build/example.html"
121	python3 ../../tools/serve_wasm.py
122
123test-continuous:
124	echo "Assuming npm ci has been run by user"
125	echo "Also assuming make debug or release has also been run by a user (if needed)"
126	npx karma start ./karma.conf.js --no-single-run --watch-poll
127
128test-continuous-headless:
129	npx karma start ./karma.conf.js --no-single-run --watch-poll --headless
130
131node-example:
132	node ./npm_build/node.example.js --expose-wasm
133
134docker-compile:
135	mkdir -p ${SKIA_ROOT}/out/canvaskit_wasm_docker
136	docker run --rm --volume ${SKIA_ROOT}:/SRC \
137               --volume ${SKIA_ROOT}/out/canvaskit_wasm_docker:/OUT \
138               gcr.io/skia-public/canvaskit-emsdk:2.0.0_v1 \
139               /SRC/infra/canvaskit/build_canvaskit.sh
140
141typecheck:
142	echo "Make sure you've run cd npm_build && npm ci recently"
143	cd npm_build && npm run dtslint
144
145bazel_canvaskit_debug:
146	bazelisk build :canvaskit --config=ck_full_webgl2_debug
147	- rm -rf build/
148	mkdir build
149	cp ../../bazel-bin/modules/canvaskit/canvaskit/canvaskit.js build/canvaskit.js
150	cp ../../bazel-bin/modules/canvaskit/canvaskit/canvaskit.wasm build/canvaskit.wasm
151
152bazel_canvaskit_release:
153	bazelisk build :canvaskit --config=ck_full_webgl2_release
154	- rm -rf build/
155	mkdir build
156	cp ../../bazel-bin/modules/canvaskit/canvaskit/canvaskit.js build/canvaskit.js
157	cp ../../bazel-bin/modules/canvaskit/canvaskit/canvaskit.wasm build/canvaskit.wasm
158	ls -l build
159
160bazel_test_canvaskit:
161	bazelisk test :canvaskit_js_tests --config=ck_full_webgl2_release_chrome --test_output=streamed
162	echo "test output in //bazel-testlogs/modules/canvaskit/canvaskit_js_tests/test.outputs/"
163	cd ../../bazel-testlogs/modules/canvaskit/canvaskit_js_tests/test.outputs/ && unzip -qo outputs.zip && ls
164
165with_debugger:
166	# Does an incremental build where possible.
167	./compile.sh debug_build enable_debugger
168	- rm -rf build/
169	mkdir build
170	cp ../../out/canvaskit_wasm_debug/canvaskit.js   ./build/
171	cp ../../out/canvaskit_wasm_debug/canvaskit.wasm ./build/
172	- mkdir ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
173	cp ./build/canvaskit.js         ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
174	cp ./build/canvaskit.wasm       ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
175	cp ./npm_build/types/index.d.ts ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/canvaskit.d.ts
176
177with_debugger_release:
178	./compile.sh enable_debugger
179	- rm -rf build/
180	mkdir build
181	cp ../../out/canvaskit_wasm/canvaskit.js   ./build/
182	cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
183	- mkdir ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
184	cp ./build/canvaskit.js         ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
185	cp ./build/canvaskit.wasm       ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/
186	cp ./npm_build/types/index.d.ts ${SKIA_INFRA_ROOT}/debugger-app/wasm_libs/local_build/canvaskit.d.ts
187
188for_shaders:
189	./compile.sh
190	- rm -rf build/
191	mkdir build
192	cp ../../out/canvaskit_wasm/canvaskit.js   ./build/
193	cp ../../out/canvaskit_wasm/canvaskit.wasm ./build/
194	- mkdir ${SKIA_INFRA_ROOT}/shaders/wasm_libs/local_build/
195	cp ./build/canvaskit.js         ${SKIA_INFRA_ROOT}/shaders/wasm_libs/local_build/
196	cp ./build/canvaskit.wasm       ${SKIA_INFRA_ROOT}/shaders/wasm_libs/local_build/
197	cp ./npm_build/types/index.d.ts ${SKIA_INFRA_ROOT}/shaders/wasm_libs/local_build/canvaskit.d.ts
198