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

group("all") {
  deps = [
    ":install_bin",
    ":install_scripts",
  ]
}

install_config("install_bin") {
  sources = [
    "config_net_log",
    "connectivity",
    "modem",
  ]
  install_path = "bin"
  type = "executable"
}

install_config("install_scripts") {
  sources = [
    "connectivity-common.sh",
    "modem-common.sh",
  ]
  type = "executable"
  install_path = "/usr/lib"
}
