# ******************************************************************************
# ***            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.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.link
    command = GOROOT='${g.bootstrap.goRoot}' ${g.bootstrap.linkCmd} -o ${out} ${libDirFlags} ${in}
    description = link ${out}

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

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg/github.com/google/blueprint.a $
        : g.bootstrap.compile ${g.bootstrap.srcDir}/context.go $
        ${g.bootstrap.srcDir}/live_tracker.go ${g.bootstrap.srcDir}/mangle.go $
        ${g.bootstrap.srcDir}/module_ctx.go $
        ${g.bootstrap.srcDir}/ninja_defs.go $
        ${g.bootstrap.srcDir}/ninja_strings.go $
        ${g.bootstrap.srcDir}/ninja_writer.go $
        ${g.bootstrap.srcDir}/package_ctx.go ${g.bootstrap.srcDir}/scope.go $
        ${g.bootstrap.srcDir}/singleton_ctx.go ${g.bootstrap.srcDir}/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
    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: Blueprints:80:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap/pkg/github.com/google/blueprint/bootstrap.a $
        : g.bootstrap.compile ${g.bootstrap.srcDir}/bootstrap/bootstrap.go $
        ${g.bootstrap.srcDir}/bootstrap/cleanup.go $
        ${g.bootstrap.srcDir}/bootstrap/command.go $
        ${g.bootstrap.srcDir}/bootstrap/config.go $
        ${g.bootstrap.srcDir}/bootstrap/doc.go $
        ${g.bootstrap.srcDir}/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: 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}/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: Blueprints:46:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        : g.bootstrap.compile ${g.bootstrap.srcDir}/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: Blueprints:31:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        : g.bootstrap.compile ${g.bootstrap.srcDir}/parser/modify.go $
        ${g.bootstrap.srcDir}/parser/parser.go $
        ${g.bootstrap.srcDir}/parser/printer.go $
        ${g.bootstrap.srcDir}/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: Blueprints:52:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        : g.bootstrap.compile ${g.bootstrap.srcDir}/pathtools/lists.go $
        ${g.bootstrap.srcDir}/pathtools/glob.go | ${g.bootstrap.compileCmd}
    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: Blueprints:64:1

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        : g.bootstrap.compile ${g.bootstrap.srcDir}/proptools/clone.go $
        ${g.bootstrap.srcDir}/proptools/extend.go $
        ${g.bootstrap.srcDir}/proptools/proptools.go $
        ${g.bootstrap.srcDir}/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:  choosestage
# Variant:
# Type:    bootstrap_core_go_binary
# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModuleFactory.func1
# Defined: Blueprints:142:1

build ${g.bootstrap.buildDir}/.bootstrap/choosestage/obj/choosestage.a: $
        g.bootstrap.compile ${g.bootstrap.srcDir}/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: Blueprints:132:1

build ${g.bootstrap.buildDir}/.bootstrap/gotestmain/obj/gotestmain.a: $
        g.bootstrap.compile ${g.bootstrap.srcDir}/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: Blueprints:137:1

build ${g.bootstrap.buildDir}/.bootstrap/gotestrunner/obj/gotestrunner.a: $
        g.bootstrap.compile ${g.bootstrap.srcDir}/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: Blueprints:111:1

build ${g.bootstrap.buildDir}/.bootstrap/minibp/obj/minibp.a: $
        g.bootstrap.compile ${g.bootstrap.srcDir}/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}/Blueprints | $
        ${g.bootstrap.BinDir}/choosestage ${g.bootstrap.BinDir}/gotestmain $
        ${g.bootstrap.BinDir}/gotestrunner ${g.bootstrap.BinDir}/minibp $
        ${g.bootstrap.srcDir}/Blueprints
    outfile = ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in
    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}/Blueprints | $
        ${g.bootstrap.bootstrapManifest} ${g.bootstrap.BinDir}/minibp
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

