@@ -173,10 +173,9 @@ X := $(CFG_EXE_SUFFIX)
173
173
VPATH := $(S ) doc $(S ) src
174
174
175
175
# Compilers we build, we now know how to run.
176
- BOOT := $(Q ) OCAMLRUNPARAM="b1" boot/rustboot$(X ) $(CFG_BOOT_FLAGS )
177
- STAGE0 := $(Q ) stage0/rustc$(X ) $(CFG_RUSTC_FLAGS )
178
- STAGE1 := $(Q ) stage1/rustc$(X ) $(CFG_RUSTC_FLAGS )
179
- STAGE2 := $(Q ) stage2/rustc$(X ) $(CFG_RUSTC_FLAGS )
176
+ BOOT := $(Q ) OCAMLRUNPARAM="b1" boot/rustboot$(X ) $(CFG_BOOT_FLAGS ) -L stage0
177
+ STAGE0 := $(Q ) stage0/rustc$(X ) $(CFG_RUSTC_FLAGS ) -L stage1
178
+ STAGE1 := $(Q ) stage1/rustc$(X ) $(CFG_RUSTC_FLAGS ) -L stage2
180
179
181
180
# "Source" files we generate in builddir along the way.
182
181
GENERATED := boot/fe/lexer.ml boot/version.ml
@@ -328,7 +327,11 @@ COMPILER_INPUTS := $(wildcard $(addprefix $(S)src/comp/, \
328
327
# Single-target rules
329
328
# #####################################################################
330
329
331
- all : boot/rustboot$(X ) rt/$(CFG_RUNTIME ) llvmext/$(CFG_LLVMEXT )
330
+ all : boot/rustboot$(X ) \
331
+ rt/$(CFG_RUNTIME) \
332
+ llvmext/$(CFG_LLVMEXT) \
333
+ stage0/rustc$(X) \
334
+ $(GENERATED)
332
335
333
336
rt/$(CFG_RUNTIME ) : $(RUNTIME_OBJS ) $(MKFILES ) $(RUNTIME_HDR )
334
337
@$(call E, link: $@ )
@@ -355,6 +358,21 @@ boot/version.ml: $(MKFILES)
355
358
$(Q ) git log -1 \
356
359
--pretty =format:'let version = "prerelease (%h %ci)";;' >$@ || exit 1
357
360
361
+ stage0/$(CFG_STDLIB ) : $(S ) src/$(STDLIB_CRATE ) $(STDLIB_INPUTS ) \
362
+ boot/rustboot$(X) $(MKFILES)
363
+ @$(call E, compile: $@)
364
+ $(BOOT) -shared -o $@ $<
365
+
366
+ stage0/rustc$(X ) : $(S ) src/$(COMPILER_CRATE ) $(COMPILER_INPUTS ) \
367
+ boot/rustboot$(X) rt/$(CFG_RUNTIME) \
368
+ stage0/$(CFG_STDLIB)
369
+ @$(call E, compile: $@)
370
+ $(BOOT) -minimal -o $@ $<
371
+ $(Q)chmod 0755 $@
372
+
373
+ stage0/glue.bc : stage0/rustc$(X ) rt/$(CFG_RUNTIME ) stage0/$(CFG_STDLIB )
374
+ @$(call E, generate: $@ )
375
+ $(STAGE0 ) -o $@ -glue
358
376
359
377
# #####################################################################
360
378
# Pattern rules
0 commit comments