aboutsummaryrefslogtreecommitdiff
path: root/build.ninja.in
blob: ae546ea9c04413857868a4a0e8e6a65ad155455b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
# ******************************************************************************
# ***            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.buildDir = @@BuildDir@@

g.bootstrap.BinDir = ${g.bootstrap.buildDir}/.bootstrap/bin

g.bootstrap.bootstrapCmd = @@Bootstrap@@

g.bootstrap.bootstrapManifest = @@BootstrapManifest@@

g.bootstrap.chooseStageCmd = ${g.bootstrap.buildDir}/.bootstrap/bin/choosestage

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.chooseStage
    command = ${g.bootstrap.chooseStageCmd} --current ${current} --bootstrap ${g.bootstrap.bootstrapManifest} -o ${out} ${in}
    description = choosing next stage

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: Blueprints:1:1

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

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap/pkg/github.com/google/blueprint/bootstrap.a $
        : g.bootstrap.compile ${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.compileCmd} $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/pkg/github.com/google/blueprint/parser.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-deptools/pkg/github.com/google/blueprint/deptools.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-pathtools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/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: Blueprints:102:1

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

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

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

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

build $
        ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg/github.com/google/blueprint/proptools.a $
        : g.bootstrap.compile ${g.bootstrap.srcDir}/proptools/clone.go $
        ${g.bootstrap.srcDir}/proptools/extend.go $
        ${g.bootstrap.srcDir}/proptools/proptools.go $
        ${g.bootstrap.srcDir}/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:  choosestage
# Variant:
# Type:    bootstrap_core_go_binary
# Factory: github.com/google/blueprint/bootstrap.newGoBinaryModuleFactory.func1
# Defined: Blueprints:145:1

build ${g.bootstrap.buildDir}/.bootstrap/choosestage/obj/choosestage.a: $
        g.bootstrap.compile ${g.bootstrap.srcDir}/choosestage/choosestage.go | $
        ${g.bootstrap.compileCmd}
    pkgPath = choosestage
default ${g.bootstrap.buildDir}/.bootstrap/choosestage/obj/choosestage.a

build ${g.bootstrap.buildDir}/.bootstrap/choosestage/obj/a.out: $
        g.bootstrap.link $
        ${g.bootstrap.buildDir}/.bootstrap/choosestage/obj/choosestage.a | $
        ${g.bootstrap.linkCmd}
default ${g.bootstrap.buildDir}/.bootstrap/choosestage/obj/a.out

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

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

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

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

build ${g.bootstrap.buildDir}/.bootstrap/minibp/obj/minibp.a: $
        g.bootstrap.compile ${g.bootstrap.srcDir}/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-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-deptools/pkg/github.com/google/blueprint/deptools.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
    incFlags = -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-parser/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-deptools/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap-bpdoc/pkg -I ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap/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-pathtools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-proptools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-deptools/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap-bpdoc/pkg -L ${g.bootstrap.buildDir}/.bootstrap/blueprint-bootstrap/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

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

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

build ${g.bootstrap.buildDir}/.bootstrap/bootstrap.ninja.in: $
        s.bootstrap.minibp ${g.bootstrap.srcDir}/Blueprints | $
        ${g.bootstrap.bootstrapManifest} ${g.bootstrap.BinDir}/minibp
default ${g.bootstrap.buildDir}/.bootstrap/bootstrap.ninja.in

build ${g.bootstrap.buildDir}/.bootstrap/notAFile: phony
default ${g.bootstrap.buildDir}/.bootstrap/notAFile

build ${g.bootstrap.buildDir}/.bootstrap/build.ninja.in: $
        g.bootstrap.chooseStage $
        ${g.bootstrap.buildDir}/.bootstrap/bootstrap.ninja.in $
        ${g.bootstrap.buildDir}/.bootstrap/primary.ninja.in | $
        ${g.bootstrap.chooseStageCmd} ${g.bootstrap.bootstrapManifest} $
        ${g.bootstrap.buildDir}/.bootstrap/notAFile
    current = ${g.bootstrap.buildDir}/.bootstrap/bootstrap.ninja.in
default ${g.bootstrap.buildDir}/.bootstrap/build.ninja.in

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