# Copyright 2020 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/board.gni")
import("//build/security.gni")

group("bootfs_labels") {
  testonly = fuchsia_zbi_testonly
  deps = [ "//boards/kernel_cmdline" ]
  deps += board_bootfs_labels
}

group("recovery_bootfs_labels") {
  deps = board_recovery_bootfs_labels
}

group("system_image_deps") {
  testonly = fuchsia_zbi_testonly
  deps = board_system_image_deps
}

group("zedboot_bootfs_labels") {
  testonly = true
  deps = board_zedboot_bootfs_labels
}
