# ******************************************************************************
# ***            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.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 .bootstrap/bin/choosestage: g.bootstrap.cp $
        .bootstrap/choosestage/obj/a.out
default .bootstrap/bin/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 .bootstrap/bin/gotestmain: g.bootstrap.cp $
        .bootstrap/gotestmain/obj/a.out
default .bootstrap/bin/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 .bootstrap/bin/minibp: g.bootstrap.cp .bootstrap/minibp/obj/a.out
default .bootstrap/bin/minibp

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

rule s.bootstrap.primarybp
    command = .bootstrap/bin/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 = .bootstrap/bin/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 | $
        .bootstrap/bin/choosestage .bootstrap/bin/gotestmain $
        .bootstrap/bin/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} $
        .bootstrap/bin/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

