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

import("//common-mk/pkg_config.gni")

group("all") {
  deps = [ ":hps" ]
}

pkg_config("target_defaults") {
  pkg_deps = [
    "libbrillo",
    "libchrome",
    "libusb-1.0",
  ]
}

executable("hps") {
  sources = [
    "boot.cc",
    "cmd.cc",
    "download.cc",
    "enable.cc",
    "main.cc",
    "readtest.cc",
    "status.cc",
    "watch.cc",
  ]

  configs += [ ":target_defaults" ]

  libs = [ "ftdi1" ]

  deps = [
    "//hps:fakedev",
    "//hps:hpslib",
  ]
}
