# Copyright 2019 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.

# Do not use this target directly, instead depend on //src/sys/sysmgr:network_config.
group("network_config") {
  public_deps = [ "//src/sys/sysmgr:network_config" ]
}

# Do not use this target directly, instead depend on //src/sys/sysmgr:router_config.
group("router_config") {
  public_deps = [ "//src/sys/sysmgr:router_config" ]
}

# Do not use this target directly, instead depend on //src/sys/sysmgr:sysmgr.
group("sysmgr") {
  public_deps = [ "//src/sys/sysmgr:sysmgr" ]
}

# Do not use this target directly, instead depend on //src/sys/sysmgr:services_config.
group("services_config") {
  public_deps = [ "//src/sys/sysmgr:services_config" ]
}

# Do not use this target directly, instead depend on //src/sys/sysmgr:lib.
group("lib") {
  public_deps = [ "//src/sys/sysmgr:lib" ]
}
