# Copyright 2017 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/go/go_binary.gni")
import("//build/go/go_library.gni")
import("//build/host.gni")

go_library("make-efi_lib") {
  name = "make-efi"
  deps = [
    "//garnet/go/src/thinfs:thinfs_lib",
  ]
}

go_binary("make-efi") {
  gopackage = "make-efi"

  deps = [
    ":make-efi_lib",
  ]
}

install_host_tools("host") {
  deps = [
    ":make-efi",
  ]
  outputs = [
    "make-efi",
  ]
}
