# ******************************************************************************
# ***            This file is generated and should not be edited             ***
# ******************************************************************************
#
# This file contains variables, rules, and pools with name prefixes indicating
# they were generated by the following Go packages:
#
#     bootstrap [from Go package github.com/google/blueprint/bootstrap]
#
ninja_required_version = 1.7.0

g.bootstrap.buildDir = @@BuildDir@@

g.bootstrap.BinDir = ${g.bootstrap.buildDir}/.bootstrap/bin

g.bootstrap.bootstrapCmd = @@Bootstrap@@

g.bootstrap.compileCmd = @@GoCompile@@

g.bootstrap.goRoot = @@GoRoot@@

g.bootstrap.goTestMainCmd = ${g.bootstrap.buildDir}/.bootstrap/bin/gotestmain

g.bootstrap.goTestRunnerCmd = ${g.bootstrap.buildDir}/.bootstrap/bin/gotestrunner

g.bootstrap.linkCmd = @@GoLink@@

g.bootstrap.srcDir = @@SrcDir@@

builddir = ${g.bootstrap.buildDir}/.minibootstrap

rule g.bootstrap.bootstrap
    command = BUILDDIR=${g.bootstrap.buildDir} ${g.bootstrap.bootstrapCmd} -i ${in}
    description = bootstrap ${in}
    generator = true

rule g.bootstrap.build.ninja
    command = ${builder} ${extra} -b ${g.bootstrap.buildDir} -d ${out}.d -o ${out} ${in}
    depfile = ${out}.d
    description = ${builder} ${out}
    restat = true

rule g.bootstrap.compile
    command = GOROOT='${g.bootstrap.goRoot}' ${g.bootstrap.compileCmd} -o ${out} -p ${pkgPath} -complete ${incFlags} -pack ${in}
    description = compile ${out}

rule g.bootstrap.cp
    command = cp ${in} ${out}
    description = cp ${out}

rule g.bootstrap.gotestmain
    command = ${g.bootstrap.goTestMainCmd} -o ${out} -pkg ${pkg} ${in}
    description = gotestmain ${out}

rule g.bootstrap.link
    command = GOROOT='${g.bootstrap.goRoot}' ${g.bootstrap.linkCmd} -o ${out} ${libDirFlags} ${in}
    description = link ${out}

rule g.bootstrap.test
    command = ${g.bootstrap.goTestRunnerCmd} -p ${pkgSrcDir} -f ${out} -- ${in} -test.short
    description = test ${pkg}

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.newGoPackageModuleFactory.func1
# Defined: build/blueprint/Blueprints:1:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/github.com/google/blueprint.a $
        : g.bootstrap.compile ${g.bootstrap.srcDir}/build/blueprint/context.go $
        ${g.bootstrap.srcDir}/build/blueprint/glob.go $
        ${g.bootstrap.srcDir}/build/blueprint/live_tracker.go $
        ${g.bootstrap.srcDir}/build/blueprint/mangle.go $
        ${g.bootstrap.srcDir}/build/blueprint/module_ctx.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_defs.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_strings.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_writer.go $
        ${g.bootstrap.srcDir}/build/blueprint/package_ctx.go $
        ${g.bootstrap.srcDir}/build/blueprint/scope.go $
        ${g.bootstrap.srcDir}/build/blueprint/singleton_ctx.go $
        ${g.bootstrap.srcDir}/build/blueprint/unpack.go $
        ${g.bootstrap.srcDir}/build/blueprint/context_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_strings_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_writer_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/splice_modules_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/unpack_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/visit_test.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg
    pkgPath = github.com/google/blueprint
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/github.com/google/blueprint.a

build ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test.go: $
        g.bootstrap.gotestmain $
        ${g.bootstrap.srcDir}/build/blueprint/context_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_strings_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_writer_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/splice_modules_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/unpack_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/visit_test.go | $
        ${g.bootstrap.goTestMainCmd}
    pkg = github.com/google/blueprint
default ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test.go

build ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test.a: $
        g.bootstrap.compile $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/github.com/google/blueprint.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint/test
    pkgPath = main
default ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test.a

build ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test: g.bootstrap.link $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test.a | $
        ${g.bootstrap.linkCmd}
    libDirFlags = -L ${g.bootstrap.buildDir}/.bootstrap/blueprint/test -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg
default ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test

build ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test.passed: $
        g.bootstrap.test $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test | $
        ${g.bootstrap.goTestRunnerCmd} || $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.passed $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.passed $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.passed
    pkg = github.com/google/blueprint
    pkgSrcDir = ${g.bootstrap.srcDir}/build/blueprint
default ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test.passed

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg/github.com/google/blueprint.a $
        : g.bootstrap.compile ${g.bootstrap.srcDir}/build/blueprint/context.go $
        ${g.bootstrap.srcDir}/build/blueprint/glob.go $
        ${g.bootstrap.srcDir}/build/blueprint/live_tracker.go $
        ${g.bootstrap.srcDir}/build/blueprint/mangle.go $
        ${g.bootstrap.srcDir}/build/blueprint/module_ctx.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_defs.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_strings.go $
        ${g.bootstrap.srcDir}/build/blueprint/ninja_writer.go $
        ${g.bootstrap.srcDir}/build/blueprint/package_ctx.go $
        ${g.bootstrap.srcDir}/build/blueprint/scope.go $
        ${g.bootstrap.srcDir}/build/blueprint/singleton_ctx.go $
        ${g.bootstrap.srcDir}/build/blueprint/unpack.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg
    pkgPath = github.com/google/blueprint
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg/github.com/google/blueprint.a

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint-bootstrap
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.newGoPackageModuleFactory.func1
# Defined: build/blueprint/Blueprints:89:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap/pkg/github.com/google/blueprint/bootstrap.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/bootstrap.go $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/cleanup.go $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/command.go $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/config.go $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/doc.go $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/glob.go $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/writedocs.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg/github.com/google/blueprint.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap-bpdoc/pkg/github.com/google/blueprint/bootstrap/bpdoc.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap-bpdoc/pkg
    pkgPath = github.com/google/blueprint/bootstrap
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap/pkg/github.com/google/blueprint/bootstrap.a

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint-bootstrap-bpdoc
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.newGoPackageModuleFactory.func1
# Defined: build/blueprint/Blueprints:109:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap-bpdoc/pkg/github.com/google/blueprint/bootstrap/bpdoc.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/bpdoc/bpdoc.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg/github.com/google/blueprint.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg
    pkgPath = github.com/google/blueprint/bootstrap/bpdoc
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap-bpdoc/pkg/github.com/google/blueprint/bootstrap/bpdoc.a

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint-deptools
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.newGoPackageModuleFactory.func1
# Defined: build/blueprint/Blueprints:49:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/deptools/depfile.go | $
        ${g.bootstrap.compileCmd}
    pkgPath = github.com/google/blueprint/deptools
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint-parser
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.newGoPackageModuleFactory.func1
# Defined: build/blueprint/Blueprints:33:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/github.com/google/blueprint/parser.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/parser/ast.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/modify.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/parser.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/printer.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/sort.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/parser_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/printer_test.go | $
        ${g.bootstrap.compileCmd}
    pkgPath = github.com/google/blueprint/parser
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/github.com/google/blueprint/parser.a

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.go: $
        g.bootstrap.gotestmain $
        ${g.bootstrap.srcDir}/build/blueprint/parser/parser_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/printer_test.go | $
        ${g.bootstrap.goTestMainCmd}
    pkg = github.com/google/blueprint/parser
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.go

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.a: $
        g.bootstrap.compile $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/github.com/google/blueprint/parser.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test
    pkgPath = main
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.a

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test: $
        g.bootstrap.link $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.a | $
        ${g.bootstrap.linkCmd}
    libDirFlags = -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.passed: $
        g.bootstrap.test $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test | $
        ${g.bootstrap.goTestRunnerCmd}
    pkg = github.com/google/blueprint/parser
    pkgSrcDir = ${g.bootstrap.srcDir}/build/blueprint/parser
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.passed

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/parser/ast.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/modify.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/parser.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/printer.go $
        ${g.bootstrap.srcDir}/build/blueprint/parser/sort.go | $
        ${g.bootstrap.compileCmd}
    pkgPath = github.com/google/blueprint/parser
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint-pathtools
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.newGoPackageModuleFactory.func1
# Defined: build/blueprint/Blueprints:55:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/github.com/google/blueprint/pathtools.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/pathtools/lists.go $
        ${g.bootstrap.srcDir}/build/blueprint/pathtools/fs.go $
        ${g.bootstrap.srcDir}/build/blueprint/pathtools/glob.go $
        ${g.bootstrap.srcDir}/build/blueprint/pathtools/glob_test.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg
    pkgPath = github.com/google/blueprint/pathtools
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/github.com/google/blueprint/pathtools.a

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.go: $
        g.bootstrap.gotestmain $
        ${g.bootstrap.srcDir}/build/blueprint/pathtools/glob_test.go | $
        ${g.bootstrap.goTestMainCmd}
    pkg = github.com/google/blueprint/pathtools
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.go

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.a: $
        g.bootstrap.compile $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/github.com/google/blueprint/pathtools.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test
    pkgPath = main
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.a

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test: $
        g.bootstrap.link $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.a | $
        ${g.bootstrap.linkCmd}
    libDirFlags = -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.passed: $
        g.bootstrap.test $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test | $
        ${g.bootstrap.goTestRunnerCmd}
    pkg = github.com/google/blueprint/pathtools
    pkgSrcDir = ${g.bootstrap.srcDir}/build/blueprint/pathtools
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.passed

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/pathtools/lists.go $
        ${g.bootstrap.srcDir}/build/blueprint/pathtools/fs.go $
        ${g.bootstrap.srcDir}/build/blueprint/pathtools/glob.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg
    pkgPath = github.com/google/blueprint/pathtools
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint-proptools
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.newGoPackageModuleFactory.func1
# Defined: build/blueprint/Blueprints:71:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/github.com/google/blueprint/proptools.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/clone.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/escape.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/extend.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/proptools.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/typeequal.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/clone_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/escape_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/extend_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/typeequal_test.go | $
        ${g.bootstrap.compileCmd}
    pkgPath = github.com/google/blueprint/proptools
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/github.com/google/blueprint/proptools.a

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.go: $
        g.bootstrap.gotestmain $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/clone_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/escape_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/extend_test.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/typeequal_test.go | $
        ${g.bootstrap.goTestMainCmd}
    pkg = github.com/google/blueprint/proptools
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.go

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.a: $
        g.bootstrap.compile $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/github.com/google/blueprint/proptools.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test
    pkgPath = main
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.a

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test: $
        g.bootstrap.link $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.a | $
        ${g.bootstrap.linkCmd}
    libDirFlags = -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test
default ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test

build ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.passed: $
        g.bootstrap.test $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test | $
        ${g.bootstrap.goTestRunnerCmd}
    pkg = github.com/google/blueprint/proptools
    pkgSrcDir = ${g.bootstrap.srcDir}/build/blueprint/proptools
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.passed

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/clone.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/escape.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/extend.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/proptools.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/typeequal.go | $
        ${g.bootstrap.compileCmd}
    pkgPath = github.com/google/blueprint/proptools
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  bpglob
# Variant:
# Type:    bootstrap_core_go_binary
# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModuleFactory.func1
# Defined: build/blueprint/Blueprints:130:1

build ${g.bootstrap.buildDir}/.bootstrap/bpglob/obj/bpglob.a: $
        g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/bpglob/bpglob.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg
    pkgPath = bpglob
default ${g.bootstrap.buildDir}/.bootstrap/bpglob/obj/bpglob.a

build ${g.bootstrap.buildDir}/.bootstrap/bpglob/obj/a.out: g.bootstrap.link $
        ${g.bootstrap.buildDir}/.bootstrap/bpglob/obj/bpglob.a | $
        ${g.bootstrap.linkCmd}
    libDirFlags = -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg
default ${g.bootstrap.buildDir}/.bootstrap/bpglob/obj/a.out

build ${g.bootstrap.BinDir}/bpglob: g.bootstrap.cp $
        ${g.bootstrap.buildDir}/.bootstrap/bpglob/obj/a.out || $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.passed
default ${g.bootstrap.BinDir}/bpglob

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  gotestmain
# Variant:
# Type:    bootstrap_core_go_binary
# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModuleFactory.func1
# Defined: build/blueprint/Blueprints:148:1

build ${g.bootstrap.buildDir}/.bootstrap/gotestmain/obj/gotestmain.a: $
        g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/gotestmain/gotestmain.go | $
        ${g.bootstrap.compileCmd}
    pkgPath = gotestmain
default ${g.bootstrap.buildDir}/.bootstrap/gotestmain/obj/gotestmain.a

build ${g.bootstrap.buildDir}/.bootstrap/gotestmain/obj/a.out: $
        g.bootstrap.link $
        ${g.bootstrap.buildDir}/.bootstrap/gotestmain/obj/gotestmain.a | $
        ${g.bootstrap.linkCmd}
default ${g.bootstrap.buildDir}/.bootstrap/gotestmain/obj/a.out

build ${g.bootstrap.BinDir}/gotestmain: g.bootstrap.cp $
        ${g.bootstrap.buildDir}/.bootstrap/gotestmain/obj/a.out
default ${g.bootstrap.BinDir}/gotestmain

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  gotestrunner
# Variant:
# Type:    bootstrap_core_go_binary
# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModuleFactory.func1
# Defined: build/blueprint/Blueprints:153:1

build ${g.bootstrap.buildDir}/.bootstrap/gotestrunner/obj/gotestrunner.a: $
        g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/gotestrunner/gotestrunner.go | $
        ${g.bootstrap.compileCmd}
    pkgPath = gotestrunner
default ${g.bootstrap.buildDir}/.bootstrap/gotestrunner/obj/gotestrunner.a

build ${g.bootstrap.buildDir}/.bootstrap/gotestrunner/obj/a.out: $
        g.bootstrap.link $
        ${g.bootstrap.buildDir}/.bootstrap/gotestrunner/obj/gotestrunner.a | $
        ${g.bootstrap.linkCmd}
default ${g.bootstrap.buildDir}/.bootstrap/gotestrunner/obj/a.out

build ${g.bootstrap.BinDir}/gotestrunner: g.bootstrap.cp $
        ${g.bootstrap.buildDir}/.bootstrap/gotestrunner/obj/a.out
default ${g.bootstrap.BinDir}/gotestrunner

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  minibp
# Variant:
# Type:    bootstrap_core_go_binary
# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModuleFactory.func1
# Defined: build/blueprint/Blueprints:121:1

build ${g.bootstrap.buildDir}/.bootstrap/minibp/obj/minibp.a: $
        g.bootstrap.compile $
        ${g.bootstrap.srcDir}/build/blueprint/bootstrap/minibp/main.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg/github.com/google/blueprint.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap-bpdoc/pkg/github.com/google/blueprint/bootstrap/bpdoc.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap/pkg/github.com/google/blueprint/bootstrap.a
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap-bpdoc/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap/pkg
    pkgPath = minibp
default ${g.bootstrap.buildDir}/.bootstrap/minibp/obj/minibp.a

build ${g.bootstrap.buildDir}/.bootstrap/minibp/obj/a.out: g.bootstrap.link $
        ${g.bootstrap.buildDir}/.bootstrap/minibp/obj/minibp.a | $
        ${g.bootstrap.linkCmd}
    libDirFlags = -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap-bpdoc/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap/pkg
default ${g.bootstrap.buildDir}/.bootstrap/minibp/obj/a.out

build ${g.bootstrap.BinDir}/minibp: g.bootstrap.cp $
        ${g.bootstrap.buildDir}/.bootstrap/minibp/obj/a.out || $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.passed $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.passed $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.passed $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/test.passed
default ${g.bootstrap.BinDir}/minibp

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Singleton: bootstrap
# Factory:   github.com/google/blueprint/bootstrap.newSingletonFactory.func1

build ${g.bootstrap.buildDir}/.bootstrap/build.ninja: g.bootstrap.build.ninja $
        ${g.bootstrap.srcDir}/Android.bp | ${builder}
    builder = ${g.bootstrap.BinDir}/minibp
    extra = --build-primary -t
default ${g.bootstrap.buildDir}/.bootstrap/build.ninja

build ${g.bootstrap.buildDir}/.minibootstrap/build.ninja.in: $
        g.bootstrap.build.ninja ${g.bootstrap.srcDir}/Android.bp | ${builder}
    builder = ${g.bootstrap.BinDir}/minibp
    extra =  -t
default ${g.bootstrap.buildDir}/.minibootstrap/build.ninja.in

build ${g.bootstrap.buildDir}/.minibootstrap/build.ninja: $
        g.bootstrap.bootstrap $
        ${g.bootstrap.buildDir}/.minibootstrap/build.ninja.in | $
        ${g.bootstrap.bootstrapCmd}
default ${g.bootstrap.buildDir}/.minibootstrap/build.ninja

