# ******************************************************************************
# ***            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.func·003
# 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.func·003
# Defined: Blueprints:78: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.func·003
# Defined: Blueprints:97: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.func·003
# 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.func·003
# 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.func·003
# 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.func·003
# 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.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.func·005
# Defined: Blueprints:140: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.func·005
# Defined: Blueprints:130: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.func·005
# Defined: Blueprints:135: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.func·005
# Defined: Blueprints:109: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.func·012

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

