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