# 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-fuchsia-vol_lib") {
  name = "make-fuchsia-vol"
  deps = [ "//garnet/go/src/thinfs:thinfs_lib" ]
}

go_binary("make-fuchsia-vol") {
  gopackage = "make-fuchsia-vol"

  deps = [ ":make-fuchsia-vol_lib" ]
}

install_host_tools("host") {
  deps = [ ":make-fuchsia-vol" ]
  outputs = [ "make-fuchsia-vol" ]
}
