# ******************************************************************************
# ***            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.BinDir = .bootstrap/bin

g.bootstrap.bootstrapCmd = @@Bootstrap@@

g.bootstrap.bootstrapManifest = @@BootstrapManifest@@

g.bootstrap.chooseStageCmd = .bootstrap/bin/choosestage

g.bootstrap.goRoot = @@GoRoot@@

g.bootstrap.goOS = @@GoOS@@

g.bootstrap.goArch = @@GoArch@@

g.bootstrap.goToolDir = ${g.bootstrap.goRoot}/pkg/tool/${g.bootstrap.goOS}_${g.bootstrap.goArch}

g.bootstrap.goChar = @@GoChar@@

g.bootstrap.gcCmd = ${g.bootstrap.goToolDir}/${g.bootstrap.goChar}g

g.bootstrap.linkCmd = ${g.bootstrap.goToolDir}/${g.bootstrap.goChar}l

g.bootstrap.srcDir = @@SrcDir@@

builddir = .minibootstrap

rule g.bootstrap.bootstrap
    command = ${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.cp
    command = cp ${in} ${out}
    description = cp ${out}

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

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

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.func·002
# Defined: Blueprints:1:1

build .bootstrap/blueprint/pkg/github.com/google/blueprint.a: g.bootstrap.gc $
        ${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.gcCmd} $
        .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        .bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        .bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a
    incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-proptools/pkg
    pkgPath = github.com/google/blueprint
default .bootstrap/blueprint/pkg/github.com/google/blueprint.a

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint-bootstrap
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.func·002
# Defined: Blueprints:70:1

build $
        .bootstrap/blueprint-bootstrap/pkg/github.com/google/blueprint/bootstrap.a $
        : g.bootstrap.gc ${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.gcCmd} $
        .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        .bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        .bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        .bootstrap/blueprint/pkg/github.com/google/blueprint.a $
        .bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        .bootstrap/blueprint-bootstrap-bpdoc/pkg/github.com/google/blueprint/bootstrap/bpdoc.a
    incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-proptools/pkg -I .bootstrap/blueprint/pkg -I .bootstrap/blueprint-deptools/pkg -I .bootstrap/blueprint-bootstrap-bpdoc/pkg
    pkgPath = github.com/google/blueprint/bootstrap
default $
        .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·002
# Defined: Blueprints:89:1

build $
        .bootstrap/blueprint-bootstrap-bpdoc/pkg/github.com/google/blueprint/bootstrap/bpdoc.a $
        : g.bootstrap.gc ${g.bootstrap.srcDir}/bootstrap/bpdoc/bpdoc.go | $
        ${g.bootstrap.gcCmd} $
        .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a $
        .bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        .bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        .bootstrap/blueprint/pkg/github.com/google/blueprint.a
    incFlags = -I .bootstrap/blueprint-parser/pkg -I .bootstrap/blueprint-pathtools/pkg -I .bootstrap/blueprint-proptools/pkg -I .bootstrap/blueprint/pkg
    pkgPath = github.com/google/blueprint/bootstrap/bpdoc
default $
        .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·002
# Defined: Blueprints:46:1

build .bootstrap/blueprint-deptools/pkg/github.com/google/blueprint/deptools.a $
        : g.bootstrap.gc ${g.bootstrap.srcDir}/deptools/depfile.go | $
        ${g.bootstrap.gcCmd}
    pkgPath = github.com/google/blueprint/deptools
default $
        .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·002
# Defined: Blueprints:31:1

build .bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.a: $
        g.bootstrap.gc ${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.gcCmd}
    pkgPath = github.com/google/blueprint/parser
default .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·002
# Defined: Blueprints:52:1

build $
        .bootstrap/blueprint-pathtools/pkg/github.com/google/blueprint/pathtools.a $
        : g.bootstrap.gc ${g.bootstrap.srcDir}/pathtools/lists.go $
        ${g.bootstrap.srcDir}/pathtools/glob.go | ${g.bootstrap.gcCmd}
    pkgPath = github.com/google/blueprint/pathtools
default $
        .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·002
# Defined: Blueprints:64:1

build $
        .bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        : g.bootstrap.gc ${g.bootstrap.srcDir}/proptools/proptools.go | $
        ${g.bootstrap.gcCmd}
    pkgPath = github.com/google/blueprint/proptools
default $
        .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·003
# Defined: Blueprints:127:1

build .bootstrap/choosestage/obj/choosestage.a: g.bootstrap.gc $
        ${g.bootstrap.srcDir}/choosestage/choosestage.go | $
        ${g.bootstrap.gcCmd}
    pkgPath = choosestage
default .bootstrap/choosestage/obj/choosestage.a

build .bootstrap/choosestage/obj/a.out: g.bootstrap.link $
        .bootstrap/choosestage/obj/choosestage.a | ${g.bootstrap.linkCmd}
default .bootstrap/choosestage/obj/a.out
build ${g.bootstrap.BinDir}/choosestage: g.bootstrap.cp $
        .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·003
# Defined: Blueprints:122:1

build .bootstrap/gotestmain/obj/gotestmain.a: g.bootstrap.gc $
        ${g.bootstrap.srcDir}/gotestmain/gotestmain.go | ${g.bootstrap.gcCmd}
    pkgPath = gotestmain
default .bootstrap/gotestmain/obj/gotestmain.a

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

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  minibp
# Variant:
# Type:    bootstrap_core_go_binary
# Factory: github.com/google/blueprint/bootstrap.func·003
# Defined: Blueprints:101:1

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

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

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

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Singleton: bootstrap
# Factory:   github.com/google/blueprint/bootstrap.func·008

rule s.bootstrap.primarybp
    command = ${g.bootstrap.BinDir}/minibp --build-primary ${runTests} -m ${g.bootstrap.bootstrapManifest} --timestamp ${timestamp} --timestampdep ${timestampdep} -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} -d ${out}.d -o ${out} ${in}
    depfile = ${out}.d
    description = minibp ${out}
    generator = true

build .bootstrap/primary.ninja.in .bootstrap/primary.ninja.in.timestamp: $
        s.bootstrap.primarybp ${g.bootstrap.srcDir}/Blueprints | $
        ${g.bootstrap.BinDir}/choosestage ${g.bootstrap.BinDir}/gotestmain $
        ${g.bootstrap.BinDir}/minibp ${g.bootstrap.srcDir}/Blueprints
    outfile = .bootstrap/primary.ninja.in
    timestamp = .bootstrap/primary.ninja.in.timestamp
    timestampdep = .bootstrap/primary.ninja.in.timestamp.d
default .bootstrap/primary.ninja.in .bootstrap/primary.ninja.in.timestamp

build .bootstrap/bootstrap.ninja.in: s.bootstrap.minibp $
        ${g.bootstrap.srcDir}/Blueprints | ${g.bootstrap.bootstrapManifest} $
        ${g.bootstrap.BinDir}/minibp
default .bootstrap/bootstrap.ninja.in
build .bootstrap/notAFile: phony
default .bootstrap/notAFile
build .bootstrap/build.ninja.in: g.bootstrap.chooseStage $
        .bootstrap/bootstrap.ninja.in .bootstrap/primary.ninja.in | $
        ${g.bootstrap.chooseStageCmd} ${g.bootstrap.bootstrapManifest} $
        .bootstrap/notAFile
    current = .bootstrap/bootstrap.ninja.in
default .bootstrap/build.ninja.in

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

