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

g.bootstrap.buildDir = @@BuildDir@@

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

g.bootstrap.bootstrapCmd = @@Bootstrap@@

g.bootstrap.bootstrapManifest = @@BootstrapManifest@@

g.bootstrap.chooseStageCmd = ${g.bootstrap.buildDir}/.bootstrap/bin/choosestage

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.chooseStage
    command = ${g.bootstrap.chooseStageCmd} --current ${current} --bootstrap ${g.bootstrap.bootstrapManifest} -o ${out} ${in}
    description = choosing next stage

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/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.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.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-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.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-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}
    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/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-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/test/test.passed
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/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:80: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/writedocs.go | $
        ${g.bootstrap.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.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-deptools/pkg/github.com/google/blueprint/deptools.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-pathtools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/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:99: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-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-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:46: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:31:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/github.com/google/blueprint/parser.a $
        : g.bootstrap.compile $
        ${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/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} || $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/test.passed
    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:52: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/glob.go $
        ${g.bootstrap.srcDir}/build/blueprint/pathtools/glob_test.go | $
        ${g.bootstrap.compileCmd}
    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
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/glob.go | $
        ${g.bootstrap.compileCmd} || $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/test.passed
    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:64: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/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/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/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/extend.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/proptools.go $
        ${g.bootstrap.srcDir}/build/blueprint/proptools/typeequal.go | $
        ${g.bootstrap.compileCmd} || $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/test.passed
    pkgPath = github.com/google/blueprint/proptools
default $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a

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

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

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

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

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  gotestmain
# Variant:
# Type:    bootstrap_core_go_binary
# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModuleFactory.func1
# Defined: build/blueprint/Blueprints:132: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:137: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:111: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-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-deptools/pkg/github.com/google/blueprint/deptools.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-pathtools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/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-pathtools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/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
default ${g.bootstrap.BinDir}/minibp

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

rule s.bootstrap.primarybp
    command = ${g.bootstrap.BinDir}/minibp --build-primary ${runTests} -m ${g.bootstrap.bootstrapManifest} --timestamp ${timestamp} --timestampdep ${timestampdep} -b ${g.bootstrap.buildDir} -d ${outfile}.d -o ${outfile} ${in}
    depfile = ${outfile}.d
    description = minibp ${outfile}

rule s.bootstrap.minibp
    command = ${g.bootstrap.BinDir}/minibp ${runTests} -m ${g.bootstrap.bootstrapManifest} -b ${g.bootstrap.buildDir} -d ${out}.d -o ${out} ${in}
    depfile = ${out}.d
    description = minibp ${out}
    generator = true

build ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in $
        ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in.timestamp: $
        s.bootstrap.primarybp ${g.bootstrap.srcDir}/Android.bp | $
        ${g.bootstrap.BinDir}/choosestage ${g.bootstrap.BinDir}/gotestmain $
        ${g.bootstrap.BinDir}/gotestrunner ${g.bootstrap.BinDir}/minibp $
        ${g.bootstrap.srcDir}/Android.bp $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/test/github.com/google/blueprint.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/test/github.com/google/blueprint/parser.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/test/github.com/google/blueprint/pathtools.a $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/test/github.com/google/blueprint/proptools.a
    outfile = ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in
    runTests = -t
    timestamp = ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in.timestamp
    timestampdep = ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in.timestamp.d
default ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in $
        ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in.timestamp

build ${g.bootstrap.buildDir}/.bootstrap/bootstrap.ninja.in: $
        s.bootstrap.minibp ${g.bootstrap.srcDir}/Android.bp | $
        ${g.bootstrap.bootstrapManifest} ${g.bootstrap.BinDir}/minibp
    runTests = -t
default ${g.bootstrap.buildDir}/.bootstrap/bootstrap.ninja.in

build ${g.bootstrap.buildDir}/.bootstrap/notAFile: phony
default ${g.bootstrap.buildDir}/.bootstrap/notAFile

build ${g.bootstrap.buildDir}/.bootstrap/build.ninja.in: $
        g.bootstrap.chooseStage $
        ${g.bootstrap.buildDir}/.bootstrap/bootstrap.ninja.in $
        ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in | $
        ${g.bootstrap.chooseStageCmd} ${g.bootstrap.bootstrapManifest} $
        ${g.bootstrap.buildDir}/.bootstrap/notAFile
    current = ${g.bootstrap.buildDir}/.bootstrap/bootstrap.ninja.in
default ${g.bootstrap.buildDir}/.bootstrap/build.ninja.in

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

