skia2/bazel/Makefile
Kevin Lubick ee62fad9a4 [bazel] Add "skia_internal" target that exposes private API for tests/tools.
Organization v3.5, if we are keeping track :)

This splits the "srcs" filegroup into "srcs" and "private_hdrs",
and renames "hdrs" to "public_hdrs".

To assist with the split, I created the macro split_srcs_and_hdrs.
Rather than keep two separate lists of header and source files,
I figured it would be easiest, at least for the common case,
to keep one list of files and then have a for loop split them
apart. I've tried to be consistent with having the list
of files be named with a _FILES suffix - maybe we can use this
as a marker to generate .gni files in the future?

Suggested review order:
 - //bazel/macros.bzl. Note this needs a corresponding
   G3 change (http://cl/452279799) as well. The exports_files_legacy
   change is the better approach to something I manually
   handled yesterday when fixing the G3 roll.
 - //BUILD.bazel to see the new target skia_internal and
   the previous skia_core renamed to skia_public.
 - //src/core/BUILD.bazel to see a typical usage of
   split_srcs_and_hdrs.
 - //include/... to see the change to public_hdrs and
   private_hdrs
 - //src/... to see many more usages of split_srcs_and_hdrs
 - //tools/... to see changes to skia_internal where
   appropriate.
 - Everything else. Note that //modules/... might also need
   to be built with skia_internal instead of skia_public,
   but we can fix that up later, if necessary.

Change-Id: Ie1cc969455d97b029b2d77faa222c4a9bad70671
Bug: skia:12541
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/545716
Reviewed-by: Ben Wagner <bungeman@google.com>
Reviewed-by: Leandro Lovisolo <lovisolo@google.com>
2022-06-02 11:23:50 +00:00

43 lines
2.4 KiB
Makefile

generate:
echo "You do not need to run this any more for C++ code, only if you modify go code"
generate_go:
cd .. && bazelisk run //:gazelle -- update infra/bots/task_drivers modules/canvaskit/go
# This target should be run after the go.mod file is updated (e.g. version rolls or new updates)
gazelle_update_repo:
cd .. && bazelisk run //:gazelle -- update-repos -from_file=go.mod -to_macro=go_repositories.bzl%go_repositories
# Run this target to test all known working Bazel builds
known_good_builds:
bazelisk build //:skia_public --config=clang_linux
bazelisk build //:skia_internal --config=clang_linux
bazelisk build //experimental/bazel_test/... --config=clang_linux
bazelisk run //experimental/bazel_test:bazel_test_exe --config=clang_linux
bazelisk build //example:hello_world_gl --config=clang_linux
bazelisk build //example:hello_world_vulkan --config=clang_linux
bazelisk build //example:hello_world_dawn --config=clang_linux
bazelisk build //example:vulkan_basic --config=clang_linux
bazelisk build //src/sksl/lex:sksllex --config=clang_linux
bazelisk build //tools/skdiff --config=clang_linux
bazelisk build //tools/skslc --config=clang_linux
bazelisk build //modules/canvaskit:canvaskit_wasm --config=ck_release
rbe_known_good_builds:
bazelisk build //:skia_public --config=linux_rbe --remote_download_minimal
bazelisk build //:skia_internal --config=linux_rbe --remote_download_minimal
bazelisk build //experimental/bazel_test/... --config=linux_rbe --remote_download_minimal
bazelisk run //experimental/bazel_test:bazel_test_exe --config=linux_rbe --remote_download_toplevel
bazelisk build //example:hello_world_gl --config=linux_rbe --remote_download_minimal
bazelisk build //example:hello_world_vulkan --config=linux_rbe --remote_download_minimal
bazelisk build //example:hello_world_dawn --config=linux_rbe --remote_download_minimal
bazelisk build //example:vulkan_basic --config=linux_rbe --remote_download_minimal
bazelisk build //src/sksl/lex:sksllex --config=linux_rbe --remote_download_minimal
bazelisk build //tools/skdiff --config=linux_rbe --remote_download_minimal
bazelisk build //tools/skslc --config=linux_rbe --remote_download_minimal
## TODO(kjlubick) CanvasKit in release mode (i.e. with Closure) requires
## https://github.com/emscripten-core/emscripten/pull/16640 to land
bazelisk build //modules/canvaskit:canvaskit_wasm --compilation_mode dbg --config=linux_rbe \
--remote_download_minimal