aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile.in1
-rw-r--r--mk/stage1.mk9
-rw-r--r--mk/stage2.mk9
-rw-r--r--mk/stage3.mk9
4 files changed, 28 insertions, 0 deletions
diff --git a/Makefile.in b/Makefile.in
index 7bb89ebe..ac4d5069 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -37,6 +37,7 @@ include $(CFG_SRC_DIR)/mk/platform.mk
CFG_RUNTIME :=$(call CFG_LIB_NAME,rustrt)
CFG_RUSTLLVM :=$(call CFG_LIB_NAME,rustllvm)
CFG_STDLIB :=$(call CFG_LIB_NAME,std)
+CFG_RUSTCLIB :=$(call CFG_LIB_NAME,rustc)
# version-string calculation
CFG_GIT_DIR := $(CFG_SRC_DIR).git
diff --git a/mk/stage1.mk b/mk/stage1.mk
index ab63b181..6b3aac07 100644
--- a/mk/stage1.mk
+++ b/mk/stage1.mk
@@ -9,6 +9,15 @@ stage1/$(CFG_STDLIB): stage1/std.o stage1/glue.o
$(Q)gcc $(CFG_GCCISH_CFLAGS) stage1/glue.o $(CFG_GCCISH_LINK_FLAGS) \
-o $@ $< -Lstage1 -Lrt -lrustrt
+stage1/librustc.o: $(COMPILER_CRATE) $(COMPILER_INPUTS) $(SREQ0)
+ @$(call E, compile: $@)
+ $(STAGE0) -c --shared -o $@ $<
+
+stage1/$(CFG_RUSTCLIB): stage1/librustc.o stage1/glue.o
+ @$(call E, link: $@)
+ $(Q)gcc $(CFG_GCC_CFLAGS) stage1/glue.o $(CFG_GCC_LINK_FLAGS) -o $@ $< \
+ -Lstage1 -Lrt -lrustrt
+
stage1/rustc.o: $(COMPILER_CRATE) $(COMPILER_INPUTS) $(SREQ0)
@$(call E, compile: $@)
$(STAGE0) -c -o $@ $<
diff --git a/mk/stage2.mk b/mk/stage2.mk
index f2eba3b0..3da28236 100644
--- a/mk/stage2.mk
+++ b/mk/stage2.mk
@@ -9,6 +9,15 @@ stage2/$(CFG_STDLIB): stage2/std.o stage2/glue.o
$(Q)gcc $(CFG_GCCISH_CFLAGS) stage2/glue.o $(CFG_GCCISH_LINK_FLAGS) -o \
$@ $< -Lstage2 -Lrt -lrustrt
+stage2/librustc.o: $(COMPILER_CRATE) $(COMPILER_INPUTS) $(SREQ1)
+ @$(call E, compile: $@)
+ $(STAGE1) -c --shared -o $@ $<
+
+stage2/$(CFG_RUSTCLIB): stage2/librustc.o stage2/glue.o
+ @$(call E, link: $@)
+ $(Q)gcc $(CFG_GCC_CFLAGS) stage2/glue.o $(CFG_GCC_LINK_FLAGS) -o $@ $< \
+ -Lstage2 -Lrt -lrustrt
+
stage2/rustc.o: $(COMPILER_CRATE) $(COMPILER_INPUTS) $(SREQ1)
@$(call E, compile: $@)
$(STAGE1) -c -o $@ $<
diff --git a/mk/stage3.mk b/mk/stage3.mk
index 0c119d1d..2349af6b 100644
--- a/mk/stage3.mk
+++ b/mk/stage3.mk
@@ -9,6 +9,15 @@ stage3/$(CFG_STDLIB): stage3/std.o stage3/glue.o
$(Q)gcc $(CFG_GCCISH_CFLAGS) stage3/glue.o $(CFG_GCCISH_LINK_FLAGS) -o \
$@ $< -Lstage3 -Lrt -lrustrt
+stage3/librustc.o: $(COMPILER_CRATE) $(COMPILER_INPUTS) $(SREQ2)
+ @$(call E, compile: $@)
+ $(STAGE2) -c --shared -o $@ $<
+
+stage3/$(CFG_RUSTCLIB): stage3/librustc.o stage3/glue.o
+ @$(call E, link: $@)
+ $(Q)gcc $(CFG_GCC_CFLAGS) stage3/glue.o $(CFG_GCC_LINK_FLAGS) -o $@ $< \
+ -Lstage3 -Lrt -lrustrt
+
stage3/rustc.o: $(COMPILER_CRATE) $(COMPILER_INPUTS) $(SREQ2)
@$(call E, compile: $@)
$(STAGE2) -c -o $@ $<