xref: /aosp_15_r20/external/skia/bazel/Makefile (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1EXPORTER_TOOL=bazel-bin/bazel/exporter_tool/exporter_tool_/exporter_tool
2EXPORTER_RULES=-rule='//src/...' -rule='//modules/...' -rule='//include/...' -rule='//resources/...' -rule='//experimental/rust_png/...'
3
4generate_go:
5	cd .. && bazelisk run //infra:gazelle -- update infra/bots/task_drivers modules/canvaskit/go \
6       bazel/device_specific_configs bazel/exporter bazel/deps_parser tools/gpu/gl/interface \
7			 tools/testrunners/common/make_tarball tools/testrunners/common/android/adb_test_runner
8
9.PHONY: generate_cmake
10generate_cmake:
11	cd .. && bazelisk build //bazel/exporter_tool && ${EXPORTER_TOOL} \
12		-output_format=cmake -proj_name=Skia -rule='//:core'
13
14.PHONY: generate_gni
15generate_gni:
16	# It is tempting to try to put this into a blaze run command. However, that
17	# is currently infeasible due to the fact that the exporter tool *calls*
18	# Bazel, resulting in a deadlock because only one Bazel command can run
19	# at a time.
20	cd .. && bazelisk build //bazel/exporter_tool --config=no_sandbox && \
21        ${EXPORTER_TOOL} -output_format=gni -proj_name=Skia ${EXPORTER_RULES} \
22		&& bazelisk run //bazel/external/gn -- format gn/*.gni modules/*/*.gni
23
24.PHONY: generate_gni_rbe
25generate_gni_rbe:
26	cd .. && bazelisk build //bazel/exporter_tool --config=linux_rbe --jobs=100 \
27 		--platforms=@io_bazel_rules_go//go/toolchain:$(shell bazelisk run //bazel/utils:go_platform) \
28 		--remote_download_toplevel && \
29        ${EXPORTER_TOOL} -output_format=gni -proj_name=Skia ${EXPORTER_RULES} \
30		&& bazelisk run //bazel/external/gn -- format gn/*.gni modules/*/*.gni
31
32.PHONY: mocks
33mocks:
34	go generate ./...
35
36# This target should be run after the go.mod file is updated (e.g. version rolls or new updates)
37gazelle_update_repo:
38	cd .. && bazelisk run //infra:gazelle -- update-repos -from_file=go.mod -to_macro=go_repositories.bzl%go_repositories -prune
39