@@ -108,19 +108,6 @@ X := $(CFG_EXE_SUFFIX)
108
108
# Look in doc and src dirs.
109
109
VPATH := $(S ) doc $(S ) src
110
110
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
-
124
111
# "Source" files we generate in builddir along the way.
125
112
GENERATED :=
126
113
@@ -147,19 +134,6 @@ COMPILER_CRATE := $(S)src/comp/rustc.rc
147
134
COMPILER_INPUTS := $(wildcard $(addprefix $(S ) src/comp/, \
148
135
rustc.rc * .rs * /* .rs * /* /* .rs) )
149
136
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
-
163
137
# #####################################################################
164
138
# Exports for sub-utilities
165
139
# #####################################################################
@@ -178,7 +152,32 @@ LLVM_AS := $(CFG_LLVM_BINDIR)/llvm-as$(X)
178
152
LLC := $(CFG_LLVM_BINDIR ) /llc$(X )
179
153
180
154
# #####################################################################
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
182
181
# #####################################################################
183
182
184
183
ifneq ($(CFG_IN_TRANSITION ) ,)
@@ -188,40 +187,9 @@ CFG_INFO := $(info cfg: *** compiler is in snapshot transition ***)
188
187
CFG_INFO := $(info cfg: *** stage2 and later will not be built *** )
189
188
CFG_INFO := $(info cfg:)
190
189
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 )
203
191
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 )
225
193
endif
226
194
227
195
@@ -240,9 +208,7 @@ config.mk: $(S)configure $(S)Makefile.in $(S)src/snapshots.txt
240
208
241
209
include $(CFG_SRC_DIR ) /mk/intrinsics.mk
242
210
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
246
212
include $(CFG_SRC_DIR ) /mk/rt.mk
247
213
include $(CFG_SRC_DIR ) /mk/rustllvm.mk
248
214
include $(CFG_SRC_DIR ) /mk/autodep.mk
0 commit comments