Skip to content

Commit fafb42e

Browse files
committed
Merge the stage1,2,3.mk files into a common definition in stageN.mk, more rearrangement of host/target libs.
1 parent c426520 commit fafb42e

File tree

8 files changed

+149
-214
lines changed

8 files changed

+149
-214
lines changed

Makefile.in

Lines changed: 29 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -108,19 +108,6 @@ X := $(CFG_EXE_SUFFIX)
108108
# Look in doc and src dirs.
109109
VPATH := $(S)doc $(S)src
110110

111-
# Compilers we build, we now know how to run.
112-
STAGE0 := $(Q)$(call CFG_RUN_TARG,stage0,stage0,\
113-
stage0/rustc$(X) $(CFG_RUSTC_FLAGS))
114-
STAGE1 := $(Q)$(call CFG_RUN_TARG,stage1,stage0, \
115-
$(CFG_VALGRIND_COMPILE) stage1/rustc$(X) \
116-
$(CFG_RUSTC_FLAGS))
117-
STAGE2 := $(Q)$(call CFG_RUN_TARG,stage2,stage1, \
118-
$(CFG_VALGRIND_COMPILE) stage2/rustc$(X) \
119-
$(CFG_RUSTC_FLAGS))
120-
STAGE3 := $(Q)$(call CFG_RUN_TARG,stage3,stage2, \
121-
$(CFG_VALGRIND_COMPILE) stage3/rustc$(X) \
122-
$(CFG_RUSTC_FLAGS))
123-
124111
# "Source" files we generate in builddir along the way.
125112
GENERATED :=
126113

@@ -147,19 +134,6 @@ COMPILER_CRATE := $(S)src/comp/rustc.rc
147134
COMPILER_INPUTS := $(wildcard $(addprefix $(S)src/comp/, \
148135
rustc.rc *.rs */*.rs */*/*.rs))
149136

150-
######################################################################
151-
# Main target dependency variables
152-
######################################################################
153-
154-
LREQ := rt/$(CFG_RUNTIME) rustllvm/$(CFG_RUSTLLVM)
155-
SREQ0 := stage0/rustc$(X) $(LREQ) rt/main.o stage0/lib/glue.o \
156-
stage0/lib/$(CFG_STDLIB)
157-
SREQ1 := stage1/rustc$(X) $(LREQ) rt/main.o stage1/lib/glue.o \
158-
stage1/lib/$(CFG_STDLIB)
159-
SREQ2 := stage2/rustc$(X) $(LREQ) rt/main.o stage2/lib/glue.o \
160-
stage2/lib/$(CFG_STDLIB)
161-
162-
163137
######################################################################
164138
# Exports for sub-utilities
165139
######################################################################
@@ -178,7 +152,32 @@ LLVM_AS := $(CFG_LLVM_BINDIR)/llvm-as$(X)
178152
LLC := $(CFG_LLVM_BINDIR)/llc$(X)
179153

180154
######################################################################
181-
# Single-target rules
155+
# Per-stage targets and runner
156+
######################################################################
157+
158+
define SREQ
159+
SREQ$(1) = stage$(1)/rustc$(X) \
160+
stage$(1)/$$(CFG_RUNTIME) \
161+
stage$(1)/$$(CFG_STDLIB) \
162+
stage$(1)/$$(CFG_RUSTLLVM) \
163+
stage$(1)/lib/glue.o \
164+
stage$(1)/lib/main.o \
165+
stage$(1)/lib/$$(CFG_RUNTIME) \
166+
stage$(1)/lib/$$(CFG_STDLIB) \
167+
$$(MKFILES)
168+
169+
STAGE$(1) := $$(Q)$$(call CFG_RUN_TARG,stage$(1),stage$(1), \
170+
$$(CFG_VALGRIND_COMPILE) stage$(1)/rustc$$(X) \
171+
$$(CFG_RUSTC_FLAGS))
172+
endef
173+
174+
$(eval $(call SREQ,0))
175+
$(eval $(call SREQ,1))
176+
$(eval $(call SREQ,2))
177+
$(eval $(call SREQ,3))
178+
179+
######################################################################
180+
# Entrypoint rule
182181
######################################################################
183182

184183
ifneq ($(CFG_IN_TRANSITION),)
@@ -188,40 +187,9 @@ CFG_INFO := $(info cfg: *** compiler is in snapshot transition ***)
188187
CFG_INFO := $(info cfg: *** stage2 and later will not be built ***)
189188
CFG_INFO := $(info cfg:)
190189

191-
all: rt/$(CFG_RUNTIME) \
192-
rustllvm/$(CFG_RUSTLLVM) \
193-
stage0/lib/$(CFG_STDLIB) \
194-
stage0/intrinsics.bc \
195-
stage0/rustc$(X) \
196-
$(GENERATED) \
197-
$(DOCS) \
198-
stage1/lib/$(CFG_STDLIB) \
199-
stage1/intrinsics.bc \
200-
stage1/lib/glue.o \
201-
stage1/rustc$(X) \
202-
190+
all: $(SREQ0) $(SREQ1) $(GENERATED) $(DOCS)
203191
else
204-
205-
all: rt/$(CFG_RUNTIME) \
206-
rustllvm/$(CFG_RUSTLLVM) \
207-
stage0/lib/$(CFG_STDLIB) \
208-
stage0/intrinsics.bc \
209-
stage0/rustc$(X) \
210-
$(GENERATED) \
211-
$(DOCS) \
212-
stage1/lib/$(CFG_STDLIB) \
213-
stage1/intrinsics.bc \
214-
stage1/lib/glue.o \
215-
stage1/rustc$(X) \
216-
stage2/lib/$(CFG_STDLIB) \
217-
stage2/intrinsics.bc \
218-
stage2/lib/glue.o \
219-
stage2/rustc$(X) \
220-
stage3/lib/$(CFG_STDLIB) \
221-
stage3/lib/glue.o \
222-
stage3/intrinsics.bc \
223-
stage3/rustc$(X)
224-
192+
all: $(SREQ0) $(SREQ1) $(SREQ2) $(SREQ3) $(GENERATED) $(DOCS)
225193
endif
226194

227195

@@ -240,9 +208,7 @@ config.mk: $(S)configure $(S)Makefile.in $(S)src/snapshots.txt
240208

241209
include $(CFG_SRC_DIR)/mk/intrinsics.mk
242210
include $(CFG_SRC_DIR)/mk/stage0.mk
243-
include $(CFG_SRC_DIR)/mk/stage1.mk
244-
include $(CFG_SRC_DIR)/mk/stage2.mk
245-
include $(CFG_SRC_DIR)/mk/stage3.mk
211+
include $(CFG_SRC_DIR)/mk/stageN.mk
246212
include $(CFG_SRC_DIR)/mk/rt.mk
247213
include $(CFG_SRC_DIR)/mk/rustllvm.mk
248214
include $(CFG_SRC_DIR)/mk/autodep.mk

mk/stage0.mk

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,33 @@ stage0/rustc$(X): $(S)src/snapshots.txt $(S)src/etc/get-snapshot.py $(MKFILES)
33
$(Q)$(S)src/etc/get-snapshot.py
44
$(Q)touch $@
55

6-
# These two will be made in the process of making rustc above.
6+
# Host libs will be made in the process of making rustc above.
77

8-
stage0/lib/glue.o: stage0/rustc$(X)
9-
$(Q)touch $@
8+
# FIXME: temporary hack: the first two are currently carried in
9+
# lib/ directory only, so we copy them out.
1010

11-
stage0/lib/$(CFG_STDLIB): stage0/rustc$(X)
12-
$(Q)touch $@
11+
stage0/$(CFG_RUNTIME): stage0/lib/$(CFG_RUNTIME)
12+
$(Q)cp $< $@
1313

14-
stage0/intrinsics.bc: stage0/rustc$(X)
15-
$(Q)touch $@
14+
stage0/$(CFG_STDLIB): stage0/lib/$(CFG_STDLIB)
15+
$(Q)cp $< $@
1616

1717
stage0/$(CFG_RUSTLLVM): stage0/rustc$(X)
1818
$(Q)touch $@
1919

20+
# Target libs will be made in the process of making rustc above.
21+
22+
stage0/lib/glue.o: stage0/rustc$(X)
23+
$(Q)touch $@
24+
25+
# FIXME: temporary hack: currently not distributing main.o like we should;
26+
# copying from rt
27+
28+
stage0/lib/main.o: rt/main.o
29+
$(Q)cp $< $@
30+
2031
stage0/lib/$(CFG_RUNTIME): stage0/rustc$(X)
2132
$(Q)touch $@
33+
34+
stage0/lib/$(CFG_STDLIB): stage0/rustc$(X)
35+
$(Q)touch $@

mk/stage1.mk

Lines changed: 0 additions & 51 deletions
This file was deleted.

mk/stage2.mk

Lines changed: 0 additions & 46 deletions
This file was deleted.

mk/stage3.mk

Lines changed: 0 additions & 45 deletions
This file was deleted.

0 commit comments

Comments
 (0)