CFG_WINDOWSY := 1
endif
-CFG_LDPATH :=$(CFG_BUILD_DIR)/rt
-CFG_LDPATH :=$(CFG_LDPATH):$(CFG_BUILD_DIR)/rustllvm
CFG_TESTLIB=$(CFG_BUILD_DIR)/$(strip \
$(if $(findstring stage0,$(1)), \
stage0/lib, \
CFG_PATH_MUNGE := true
CFG_EXE_SUFFIX :=
- CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_LIBDIR)
+ CFG_LDPATH :=$(CFG_LLVM_LIBDIR)
CFG_RUN_TARG=$(CFG_LDENV)=$(CFG_BUILD_DIR)/$(1)/lib:$(CFG_LDPATH) $(2)
CFG_RUN_TEST=\
$(CFG_LDENV)=$(call CFG_TESTLIB,$(1)):$(CFG_LDPATH) \
CFG_EXE_SUFFIX := .exe
CFG_LIB_NAME=$(1).dll
CFG_DEF_SUFFIX := .def
- CFG_LDPATH :=$(CFG_LDPATH):$(CFG_LLVM_BINDIR)
+ CFG_LDPATH :=$(CFG_LLVM_BINDIR)
CFG_LDPATH :=$(CFG_LDPATH):$$PATH
CFG_RUN_TEST=PATH="$(CFG_LDPATH):$(call CFG_TESTLIB,$(1))" $(1)
CFG_RUN_TARG=PATH="$(CFG_BUILD_DIR)/$(1)/lib:$(CFG_LDPATH)" $(2)
stage1/lib/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \
stage1/rustc$(X) stage0/lib/$(CFG_STDLIB) stage1/intrinsics.bc \
+ stage1/lib/$(CFG_RUNTIME) stage1/lib/$(CFG_RUSTLLVM) \
stage1/glue.o $(LREQ) $(MKFILES)
@$(call E, compile_and_link: $@)
$(STAGE1) --lib -o $@ $<
@$(call E, cp: $@)
$(Q)cp $< $@
+stage1/lib/$(CFG_RUNTIME): rt/$(CFG_RUNTIME)
+ @$(call E, cp: $@)
+ $(Q)cp $< $@
+
+stage1/lib/$(CFG_RUSTLLVM): rustllvm/$(CFG_RUSTLLVM)
+ @$(call E, cp: $@)
+ $(Q)cp $< $@
+
# Due to make not wanting to run the same implicit rules twice on the same
# rule tree (implicit-rule recursion prevention, see "Chains of Implicit
# Rules" in GNU Make manual) we have to re-state the %.o and %.s patterns here
stage2/lib/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \
stage2/rustc$(X) stage1/lib/$(CFG_STDLIB) stage2/intrinsics.bc \
+ stage2/lib/$(CFG_RUNTIME) stage2/lib/$(CFG_RUSTLLVM) \
stage2/glue.o $(LREQ) $(MKFILES)
@$(call E, compile_and_link: $@)
$(STAGE2) --lib -o $@ $<
@$(call E, cp: $@)
$(Q)cp $< $@
+stage2/lib/$(CFG_RUNTIME): rt/$(CFG_RUNTIME)
+ @$(call E, cp: $@)
+ $(Q)cp $< $@
+
+stage2/lib/$(CFG_RUSTLLVM): rustllvm/$(CFG_RUSTLLVM)
+ @$(call E, cp: $@)
+ $(Q)cp $< $@
+
# Due to make not wanting to run the same implicit rules twice on the same
# rule tree (implicit-rule recursion prevention, see "Chains of Implicit
# Rules" in GNU Make manual) we have to re-state the %.o and %.s patterns here
stage3/lib/$(CFG_STDLIB): $(STDLIB_CRATE) $(STDLIB_INPUTS) \
stage3/rustc$(X) stage2/lib/$(CFG_STDLIB) stage3/intrinsics.bc \
+ stage3/lib/$(CFG_RUNTIME) stage3/lib/$(CFG_RUSTLLVM) \
stage3/glue.o $(LREQ) $(MKFILES)
@$(call E, compile_and_link: $@)
$(STAGE3) --lib -o $@ $<
@$(call E, cp: $@)
$(Q)cp $< $@
+stage3/lib/$(CFG_RUNTIME): rt/$(CFG_RUNTIME)
+ @$(call E, cp: $@)
+ $(Q)cp $< $@
+
+stage3/lib/$(CFG_RUSTLLVM): rustllvm/$(CFG_RUSTLLVM)
+ @$(call E, cp: $@)
+ $(Q)cp $< $@
+
# Due to make not wanting to run the same implicit rules twice on the same
# rule tree (implicit-rule recursion prevention, see "Chains of Implicit
# Rules" in GNU Make manual) we have to re-state the %.o and %.s patterns here