# Copyright 2018 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/sdk/sdk_documentation.gni")

docs = [
  "bootserver",
  "compilation",
  "debugger",
  "devices",
  "logging",
  "packages",
  "ssh",
]

sdk_documentation("docs") {
  name = "low_level"

  category = "partner"

  files = [
    {
      source = "root.md"
      dest = "README.md"
    },
    {
      source = "main.md"
      dest = "docs/README.md"
    },
  ]
  foreach(doc, docs) {
    files += [
      {
        source = "//docs/development/idk/documentation/$doc.md"
        dest = "docs/$doc.md"
      },
    ]
  }
}

sdk_documentation("firmware") {
  name = "firmware"

  category = "excluded"

  files = [
    {
      source = "//src/firmware/README.md"
      dest = "README.md"
    },
  ]
}
