# ******************************************************************************
# ***            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.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.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: blueprint/Blueprints:1:1

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

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

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

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

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

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        : g.bootstrap.compile $
        ${g.bootstrap.srcDir}/blueprint/proptools/clone.go $
        ${g.bootstrap.srcDir}/blueprint/proptools/escape.go $
        ${g.bootstrap.srcDir}/blueprint/proptools/extend.go $
        ${g.bootstrap.srcDir}/blueprint/proptools/proptools.go $
        ${g.bootstrap.srcDir}/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: blueprint/Blueprints:131:1

build ${g.bootstrap.buildDir}/.bootstrap/bpglob/obj/bpglob.a: $
        g.bootstrap.compile $
        ${g.bootstrap.srcDir}/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
default ${g.bootstrap.BinDir}/bpglob

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

build ${g.bootstrap.buildDir}/.bootstrap/gotestmain/obj/gotestmain.a: $
        g.bootstrap.compile $
        ${g.bootstrap.srcDir}/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:  gotestmain-tests
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.newGoPackageModuleFactory.func1
# Defined: blueprint/Blueprints:156:1

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

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

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

build ${g.bootstrap.buildDir}/.bootstrap/minibp/obj/minibp.a: $
        g.bootstrap.compile $
        ${g.bootstrap.srcDir}/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 $
        ${g.bootstrap.buildDir}/.bootstrap/gotestmain-tests/pkg/github.com/google/blueprint/gotestmain.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 -I ${g.bootstrap.buildDir}/.bootstrap/gotestmain-tests/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 -L ${g.bootstrap.buildDir}/.bootstrap/gotestmain-tests/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

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

build ${g.bootstrap.buildDir}/.minibootstrap/build.ninja.in: $
        g.bootstrap.build.ninja ${g.bootstrap.srcDir}/Blueprints | ${builder}
    builder = ${g.bootstrap.BinDir}/minibp
    extra = 
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

