platform_build_blueprint/build.ninja.in
Jamie Gennis 1bc967ed43 Initial Blueprint commit.
Blueprint is a build system component that reads Blueprints files defining
modules to be built, and generates a Ninja build manifest that can be used to
perform all the build actions.  It does not dictate or implement much build
policy itself, but rather provides a framework to ease the process of defining
build logic in Go.

The "blueprint" and "blueprint/parser" Go packages contain the functionality
for reading Blueprint files and invoking build logic functions defined in other
Go packages.

The "blueprint/bootstrap" Go package contains just enough build logic to build
a binary that includes Blueprint and any pure-Go (i.e. no cgo) build logic
defined in external Go packages.  This can be used to create a minimal Ninja
file that's capable of bootstrapping a Blueprint-based build system from
source.

The "blueprint/bootstrap/minibp" Go package contains code for a minimal binary
that includes the build logic defined in the "blueprint/bootstrap" package.
This binary can then create the Ninja file for the bootstrapping process.

Change-Id: I8d8390042372a72d225785cda738525001b009f1
2014-06-04 14:23:32 -07:00

156 lines
6.1 KiB
Text

# ******************************************************************************
# *** 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 blueprint/bootstrap]
#
ninja_required_version = 1.1.0
g.bootstrap.Bootstrap = @@Bootstrap@@
g.bootstrap.BootstrapManifest = @@BootstrapManifest@@
g.bootstrap.GoArch = @@GoArch@@
g.bootstrap.GoChar = @@GoChar@@
g.bootstrap.GoOS = @@GoOS@@
g.bootstrap.GoRoot = @@GoRoot@@
g.bootstrap.SrcDir = @@SrcDir@@
g.bootstrap.goToolDir = ${g.bootstrap.GoRoot}/pkg/tool/${g.bootstrap.GoOS}_${g.bootstrap.GoArch}
g.bootstrap.gcCmd = ${g.bootstrap.goToolDir}/${g.bootstrap.GoChar}g
g.bootstrap.linkCmd = ${g.bootstrap.goToolDir}/${g.bootstrap.GoChar}l
g.bootstrap.packCmd = ${g.bootstrap.goToolDir}/pack
builddir = bootstrap
rule g.bootstrap.gc
command = GOROOT='${g.bootstrap.GoRoot}' ${g.bootstrap.gcCmd} -o ${out} -p ${pkgPath} -complete ${incFlags} ${in}
description = ${g.bootstrap.GoChar}g ${out}
rule g.bootstrap.pack
command = GOROOT='${g.bootstrap.GoRoot}' ${g.bootstrap.packCmd} grcP ${prefix} ${out} ${in}
description = pack ${out}
rule g.bootstrap.link
command = GOROOT='${g.bootstrap.GoRoot}' ${g.bootstrap.linkCmd} -o ${out} ${libDirFlags} ${in}
description = ${g.bootstrap.GoChar}l ${out}
rule g.bootstrap.cp
command = cp ${in} ${out}
description = cp ${out}
rule g.bootstrap.bootstrap
command = ${g.bootstrap.Bootstrap} ${in} ${g.bootstrap.BootstrapManifest}
description = bootstrap ${in}
generator = true
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: blueprint
# Type: bootstrap_go_package
# GoType: blueprint/bootstrap.goPackageModule
# Defined: ../Blueprints:1:1
build bootstrap/blueprint/obj/_go_.${g.bootstrap.GoChar}: g.bootstrap.gc $
${g.bootstrap.SrcDir}/blueprint/context.go $
${g.bootstrap.SrcDir}/blueprint/globals.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/scope.go $
${g.bootstrap.SrcDir}/blueprint/singleton_ctx.go $
${g.bootstrap.SrcDir}/blueprint/unpack.go | $
bootstrap/blueprint-parser/pkg/blueprint/parser.a
pkgPath = blueprint
incFlags = -I bootstrap/blueprint-parser/pkg
build bootstrap/blueprint/pkg/blueprint.a: g.bootstrap.pack $
bootstrap/blueprint/obj/_go_.${g.bootstrap.GoChar}
prefix = bootstrap/blueprint/pkg
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: blueprint-parser
# Type: bootstrap_go_package
# GoType: blueprint/bootstrap.goPackageModule
# Defined: ../Blueprints:18:1
build bootstrap/blueprint-parser/obj/_go_.${g.bootstrap.GoChar}: $
g.bootstrap.gc ${g.bootstrap.SrcDir}/blueprint/parser/parser.go
pkgPath = blueprint/parser
build bootstrap/blueprint-parser/pkg/blueprint/parser.a: g.bootstrap.pack $
bootstrap/blueprint-parser/obj/_go_.${g.bootstrap.GoChar}
prefix = bootstrap/blueprint-parser/pkg
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: blueprint-bootstrap
# Type: bootstrap_go_package
# GoType: blueprint/bootstrap.goPackageModule
# Defined: ../Blueprints:24:1
build bootstrap/blueprint-bootstrap/obj/_go_.${g.bootstrap.GoChar}: $
g.bootstrap.gc ${g.bootstrap.SrcDir}/blueprint/bootstrap/bootstrap.go $
${g.bootstrap.SrcDir}/blueprint/bootstrap/command.go $
${g.bootstrap.SrcDir}/blueprint/bootstrap/config.go $
${g.bootstrap.SrcDir}/blueprint/bootstrap/doc.go | $
bootstrap/blueprint-parser/pkg/blueprint/parser.a $
bootstrap/blueprint/pkg/blueprint.a
pkgPath = blueprint/bootstrap
incFlags = -I bootstrap/blueprint-parser/pkg -I bootstrap/blueprint/pkg
build bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a: $
g.bootstrap.pack $
bootstrap/blueprint-bootstrap/obj/_go_.${g.bootstrap.GoChar}
prefix = bootstrap/blueprint-bootstrap/pkg
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Module: minibp
# Type: bootstrap_go_binary
# GoType: blueprint/bootstrap.goBinaryModule
# Defined: ../Blueprints:34:1
build bootstrap/minibp/obj/_go_.${g.bootstrap.GoChar}: g.bootstrap.gc $
${g.bootstrap.SrcDir}/blueprint/bootstrap/minibp/main.go | $
bootstrap/blueprint-parser/pkg/blueprint/parser.a $
bootstrap/blueprint/pkg/blueprint.a $
bootstrap/blueprint-bootstrap/pkg/blueprint/bootstrap.a
pkgPath = minibp
incFlags = -I bootstrap/blueprint-parser/pkg -I bootstrap/blueprint/pkg -I bootstrap/blueprint-bootstrap/pkg
build bootstrap/minibp/obj/minibp.a: g.bootstrap.pack $
bootstrap/minibp/obj/_go_.${g.bootstrap.GoChar}
prefix = bootstrap/minibp/obj
build bootstrap/minibp/obj/a.out: g.bootstrap.link $
bootstrap/minibp/obj/minibp.a
libDirFlags = -L bootstrap/blueprint-parser/pkg -L bootstrap/blueprint/pkg -L bootstrap/blueprint-bootstrap/pkg
build bootstrap/bin/minibp: g.bootstrap.cp bootstrap/minibp/obj/a.out
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
# Singleton: bootstrap
# GoType: blueprint/bootstrap.singleton
rule s.bootstrap.bigbp
command = bootstrap/bin/minibp -p -d bootstrap/build.ninja.in.d -o ${out} ${in}
depfile = bootstrap/build.ninja.in.d
description = minibp ${out}
build bootstrap/build.ninja.in: s.bootstrap.bigbp $
${g.bootstrap.SrcDir}/Blueprints | bootstrap/bin/minibp
build bootstrap/notAFile: phony
build build.ninja: g.bootstrap.bootstrap bootstrap/build.ninja.in | $
${g.bootstrap.Bootstrap} bootstrap/notAFile bootstrap/bin/minibp