# ******************************************************************************
# ***            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.1.0

g.bootstrap.bootstrapCmd = @@Bootstrap@@

g.bootstrap.bootstrapManifest = @@BootstrapManifest@@

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 = .bootstrap

rule g.bootstrap.bootstrap
    command = ${g.bootstrap.bootstrapCmd} -i ${in}
    description = bootstrap ${in}
    generator = true

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:56: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.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
    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
    pkgPath = github.com/google/blueprint/bootstrap
default $
        .bootstrap/blueprint-bootstrap/pkg/github.com/google/blueprint/bootstrap.a

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  blueprint-deptools
# Variant:
# Type:    bootstrap_go_package
# Factory: github.com/google/blueprint/bootstrap.func·002
# Defined: Blueprints:35: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:24: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:41: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:50: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:  bpfmt
# Variant:
# Type:    bootstrap_go_binary
# Factory: github.com/google/blueprint/bootstrap.func·003
# Defined: Blueprints:82:1

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

build .bootstrap/bpfmt/obj/a.out: g.bootstrap.link $
        .bootstrap/bpfmt/obj/bpfmt.a | ${g.bootstrap.linkCmd}
    libDirFlags = -L .bootstrap/blueprint-parser/pkg
default .bootstrap/bpfmt/obj/a.out

build .bootstrap/bin/bpfmt: g.bootstrap.cp .bootstrap/bpfmt/obj/a.out
default .bootstrap/bin/bpfmt

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  bpmodify
# Variant:
# Type:    bootstrap_go_binary
# Factory: github.com/google/blueprint/bootstrap.func·003
# Defined: Blueprints:88:1

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

build .bootstrap/bpmodify/obj/a.out: g.bootstrap.link $
        .bootstrap/bpmodify/obj/bpmodify.a | ${g.bootstrap.linkCmd}
    libDirFlags = -L .bootstrap/blueprint-parser/pkg
default .bootstrap/bpmodify/obj/a.out

build .bootstrap/bin/bpmodify: g.bootstrap.cp .bootstrap/bpmodify/obj/a.out
default .bootstrap/bin/bpmodify

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module:  minibp
# Variant:
# Type:    bootstrap_go_binary
# Factory: github.com/google/blueprint/bootstrap.func·003
# Defined: Blueprints:73: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/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/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/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·007

rule s.bootstrap.bigbp
    command = .bootstrap/bin/minibp -p -d .bootstrap/main.ninja.in.d -m ${g.bootstrap.bootstrapManifest} -o ${out} ${in}
    depfile = .bootstrap/main.ninja.in.d
    description = minibp ${out}

rule s.bootstrap.minibp
    command = .bootstrap/bin/minibp -c ${checkFile} -m ${g.bootstrap.bootstrapManifest} -d ${out}.d -o ${out} ${in}
    depfile = ${out}.d
    description = minibp ${out}
    generator = true

build .bootstrap/main.ninja.in: s.bootstrap.bigbp $
        ${g.bootstrap.srcDir}/Blueprints | .bootstrap/bin/bpfmt $
        .bootstrap/bin/bpmodify .bootstrap/bin/minibp
default .bootstrap/main.ninja.in
build .bootstrap/notAFile: phony
default .bootstrap/notAFile
build build.ninja: g.bootstrap.bootstrap .bootstrap/main.ninja.in | $
        ${g.bootstrap.bootstrapCmd} .bootstrap/notAFile $
        .bootstrap/bootstrap.ninja.in
default build.ninja
build .bootstrap/bootstrap.ninja.in: s.bootstrap.minibp $
        ${g.bootstrap.srcDir}/Blueprints | .bootstrap/bin/minibp
    checkFile = ${g.bootstrap.bootstrapManifest}
default .bootstrap/bootstrap.ninja.in

