@@ -76,7 +76,6 @@ RUNTIME_CXXS_$(1)_$(2) := \
76
76
rt/rust_upcall.cpp \
77
77
rt/rust_uv.cpp \
78
78
rt/rust_crate_map.cpp \
79
- rt/rust_log.cpp \
80
79
rt/isaac/randport.cpp \
81
80
rt/miniz.cpp \
82
81
rt/memory_region.cpp \
@@ -92,61 +91,64 @@ RUNTIME_S_$(1)_$(2) := rt/arch/$$(HOST_$(1))/_context.S \
92
91
rt/arch/$$(HOST_$(1 ) ) /ccall.S \
93
92
rt/arch/$$(HOST_$(1 ) ) /record_sp.S
94
93
94
+ RT_OUTPUT_DIR_$(1 ) := $(1 ) /rt
95
+ RT_BUILD_DIR_$(1 ) _$(2 ) := $$(RT_OUTPUT_DIR_$(1 ) ) /stage$(2 )
96
+
95
97
ifeq ($$(CFG_WINDOWSY_$(1 ) ) , 1)
96
98
LIBUV_OSTYPE_$(1)_$(2) := win
97
- LIBUV_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /libuv/libuv.a
98
- JEMALLOC_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /jemalloc/lib/jemalloc.lib
99
+ LIBUV_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /libuv/libuv.a
100
+ JEMALLOC_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /jemalloc/lib/jemalloc.lib
99
101
else ifeq ($(OSTYPE_$(1)), apple-darwin)
100
102
LIBUV_OSTYPE_$(1)_$(2) := mac
101
- LIBUV_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /libuv/libuv.a
102
- JEMALLOC_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /jemalloc/lib/libjemalloc_pic.a
103
+ LIBUV_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /libuv/libuv.a
104
+ JEMALLOC_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /jemalloc/lib/libjemalloc_pic.a
103
105
else ifeq ($(OSTYPE_$(1)), unknown-freebsd)
104
106
LIBUV_OSTYPE_$(1)_$(2) := unix/freebsd
105
- LIBUV_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /libuv/libuv.a
106
- JEMALLOC_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /jemalloc/lib/libjemalloc_pic.a
107
+ LIBUV_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /libuv/libuv.a
108
+ JEMALLOC_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /jemalloc/lib/libjemalloc_pic.a
107
109
else ifeq ($(OSTYPE_$(1)), linux-androideabi)
108
110
LIBUV_OSTYPE_$(1)_$(2) := unix/android
109
- LIBUV_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /libuv/libuv.a
110
- JEMALLOC_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /jemalloc/lib/libjemalloc_pic.a
111
+ LIBUV_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /libuv/libuv.a
112
+ JEMALLOC_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /jemalloc/lib/libjemalloc_pic.a
111
113
else
112
114
LIBUV_OSTYPE_$(1)_$(2) := unix/linux
113
- LIBUV_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /libuv/libuv.a
114
- JEMALLOC_LIB_$(1)_$(2) := rt/ $( 1 ) /stage $(2 ) /jemalloc/lib/libjemalloc_pic.a
115
+ LIBUV_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /libuv/libuv.a
116
+ JEMALLOC_LIB_$(1)_$(2) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /jemalloc/lib/libjemalloc_pic.a
115
117
endif
116
118
117
- RUNTIME_DEF_$(1 ) _$(2 ) := rt /rustrt$(CFG_DEF_SUFFIX_$(1 ) )
119
+ RUNTIME_DEF_$(1 ) _$(2 ) := $$( RT_OUTPUT_DIR_ $( 1 ) ) /rustrt$ $(CFG_DEF_SUFFIX_$(1 ) )
118
120
RUNTIME_INCS_$(1 ) _$(2 ) := -I $$(S ) src/rt -I $$(S ) src/rt/isaac -I $$(S ) src/rt/uthash \
119
121
-I $$(S ) src/rt/arch/$$(HOST_$(1 ) ) \
120
122
-I $$(S ) src/rt/linenoise \
121
123
-I $$(S ) src/libuv/include
122
- RUNTIME_OBJS_$(1 ) _$(2 ) := $$(RUNTIME_CXXS_$(1 ) _$(2 ) :rt/%.cpp=rt/ $( 1 ) /stage $(2 ) /%.o ) \
123
- $$(RUNTIME_CS_$(1 ) _$(2 ) :rt/%.c=rt/ $( 1 ) /stage $(2 ) /%.o ) \
124
- $$(RUNTIME_S_$(1 ) _$(2 ) :rt/%.S=rt/ $( 1 ) /stage $(2 ) /%.o )
124
+ RUNTIME_OBJS_$(1 ) _$(2 ) := $$(RUNTIME_CXXS_$(1 ) _$(2 ) :rt/%.cpp=$$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /%.o ) \
125
+ $$(RUNTIME_CS_$(1 ) _$(2 ) :rt/%.c=$$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /%.o ) \
126
+ $$(RUNTIME_S_$(1 ) _$(2 ) :rt/%.S=$$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /%.o )
125
127
ALL_OBJ_FILES += $$(RUNTIME_OBJS_$(1 ) _$(2 ) )
126
128
127
- MORESTACK_OBJ_$(1 ) _$(2 ) := rt/ $( 1 ) /stage $(2 ) /arch/$$(HOST_$(1 ) ) /morestack.o
129
+ MORESTACK_OBJ_$(1 ) _$(2 ) := $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /arch/$$(HOST_$(1 ) ) /morestack.o
128
130
ALL_OBJ_FILES += $$(MORESTACK_OBJS_$(1 ) _$(2 ) )
129
131
130
- rt/ $( 1 ) /stage $(2 ) /%.o: rt/%.cpp $$(MKFILE_DEPS )
132
+ $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /%.o: rt/%.cpp $$(MKFILE_DEPS )
131
133
@$$(call E, compile: $$@ )
132
134
$$(Q )$$(call CFG_COMPILE_CXX_$(1 ) , $$@ , $$(RUNTIME_INCS_$(1 ) _$(2 ) ) \
133
135
$$(SNAP_DEFINES ) $$(RUNTIME_CXXFLAGS_$(1 ) _$(2 ) ) ) $$<
134
136
135
- rt/ $( 1 ) /stage $(2 ) /%.o: rt/%.c $$(MKFILE_DEPS )
137
+ $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /%.o: rt/%.c $$(MKFILE_DEPS )
136
138
@$$(call E, compile: $$@ )
137
139
$$(Q )$$(call CFG_COMPILE_C_$(1 ) , $$@ , $$(RUNTIME_INCS_$(1 ) _$(2 ) ) \
138
140
$$(SNAP_DEFINES ) $$(RUNTIME_CFLAGS_$(1 ) _$(2 ) ) ) $$<
139
141
140
- rt/ $( 1 ) /stage $(2 ) /%.o: rt/%.S $$(MKFILE_DEPS ) \
142
+ $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /%.o: rt/%.S $$(MKFILE_DEPS ) \
141
143
$$(LLVM_CONFIG_$$(CFG_BUILD_TRIPLE ) )
142
144
@$$(call E, compile: $$@ )
143
145
$$(Q )$$(call CFG_ASSEMBLE_$(1 ) ,$$@ ,$$< )
144
146
145
- rt/ $( 1 ) /stage $(2 ) /arch/$$(HOST_$(1 ) ) /libmorestack.a: $$(MORESTACK_OBJ_$(1 ) _$(2 ) )
147
+ $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /arch/$$(HOST_$(1 ) ) /libmorestack.a: $$(MORESTACK_OBJ_$(1 ) _$(2 ) )
146
148
@$$(call E, link: $$@ )
147
149
$$(Q )$(AR_$(1 ) ) rcs $$@ $$<
148
150
149
- rt/ $( 1 ) /stage $(2 ) /$(CFG_RUNTIME_$(1 ) ) : $$(RUNTIME_OBJS_$(1 ) _$(2 ) ) $$(MKFILE_DEPS ) \
151
+ $$( RT_BUILD_DIR_ $( 1 ) _ $(2 ) ) /$(CFG_RUNTIME_$(1 ) ) : $$(RUNTIME_OBJS_$(1 ) _$(2 ) ) $$(MKFILE_DEPS ) \
150
152
$$(RUNTIME_DEF_$(1 ) _$(2 ) ) $$(LIBUV_LIB_$(1 ) _$(2 ) ) $$(JEMALLOC_LIB_$(1 ) _$(2 ) )
151
153
@$$(call E, link: $$@ )
152
154
$$(Q )$$(call CFG_LINK_CXX_$(1 ) ,$$@ , $$(RUNTIME_OBJS_$(1 ) _$(2 ) ) \
@@ -172,7 +174,7 @@ endif
172
174
ifdef CFG_WINDOWSY_$(1)
173
175
$$(LIBUV_LIB_$(1 ) _$(2 ) ) : $$(LIBUV_DEPS )
174
176
$$(Q )$$(MAKE ) -C $$(S ) src/libuv/ \
175
- builddir_name=" $$ (CFG_BUILD_DIR)/rt/ $( 1 ) /stage $( 2) /libuv" \
177
+ builddir_name=" $$ (CFG_BUILD_DIR)/$$ (RT_BUILD_DIR_ $( 1 ) _ $( 2) )/libuv" \
176
178
OS=mingw \
177
179
V=$$(VERBOSE )
178
180
else ifeq ($(OSTYPE_$(1)), linux-androideabi)
@@ -186,7 +188,7 @@ $$(LIBUV_LIB_$(1)_$(2)): $$(LIBUV_DEPS)
186
188
AR=" $$ (AR_$( 1) )" \
187
189
PLATFORM=android \
188
190
BUILDTYPE=Release \
189
- builddir_name=" $$ (CFG_BUILD_DIR)/rt/ $( 1 ) /stage $( 2) /libuv" \
191
+ builddir_name=" $$ (CFG_BUILD_DIR)/$$ (RT_BUILD_DIR_ $( 1 ) _ $( 2) )/libuv" \
190
192
host=android OS=linux \
191
193
V=$$(VERBOSE )
192
194
else
@@ -197,59 +199,59 @@ $$(LIBUV_LIB_$(1)_$(2)): $$(LIBUV_DEPS)
197
199
CC=" $$ (CC_$( 1) )" \
198
200
CXX=" $$ (CXX_$( 1) )" \
199
201
AR=" $$ (AR_$( 1) )" \
200
- builddir_name=" $$ (CFG_BUILD_DIR)/rt/ $( 1 ) /stage $( 2) /libuv" \
202
+ builddir_name=" $$ (CFG_BUILD_DIR)/$$ (RT_BUILD_DIR_ $( 1 ) _ $( 2) )/libuv" \
201
203
V=$$(VERBOSE )
202
204
endif
203
205
204
206
ifeq ($(OSTYPE_$(1 ) ) , linux-androideabi)
205
207
$$(JEMALLOC_LIB_$(1 ) _$(2 ) ) :
206
- cd $$(CFG_BUILD_DIR ) /rt/ $(1 ) /stage $(2 ) /jemalloc; $(S ) src/rt/jemalloc/configure \
208
+ cd $$(RT_BUILD_DIR_ $(1 ) _ $(2 ) ) /jemalloc; $(S ) src/rt/jemalloc/configure \
207
209
--disable-experimental --build=$(CFG_BUILD_TRIPLE ) --host=$(1 ) --disable-tls \
208
210
EXTRA_CFLAGS=" $$ (CFG_GCCISH_CFLAGS) $$ (LIBUV_FLAGS_$$ (HOST_$( 1) )) $$ (SNAP_DEFINES)" \
209
211
LDFLAGS=" $$ (CFG_GCCISH_LINK_FLAGS) $$ (LIBUV_FLAGS_$$ (HOST_$( 1) ))" \
210
212
CC=" $$ (CC_$( 1) )" \
211
213
CXX=" $$ (CXX_$( 1) )" \
212
214
AR=" $$ (AR_$( 1) )"
213
- $$(Q )$$(MAKE ) -C $$(CFG_BUILD_DIR ) /rt/ $(1 ) /stage $(2 ) /jemalloc
215
+ $$(Q )$$(MAKE ) -C $$(RT_BUILD_DIR_ $(1 ) _ $(2 ) ) /jemalloc
214
216
else
215
217
$$(JEMALLOC_LIB_$(1 ) _$(2 ) ) :
216
- cd $$(CFG_BUILD_DIR ) /rt/ $(1 ) /stage $(2 ) /jemalloc; $(S ) src/rt/jemalloc/configure \
218
+ cd $$(RT_BUILD_DIR_ $(1 ) _ $(2 ) ) /jemalloc; $(S ) src/rt/jemalloc/configure \
217
219
--disable-experimental --build=$(CFG_BUILD_TRIPLE ) --host=$(1 ) \
218
220
EXTRA_CFLAGS=" $$ (CFG_GCCISH_CFLAGS) $$ (LIBUV_FLAGS_$$ (HOST_$( 1) )) $$ (SNAP_DEFINES)" \
219
221
LDFLAGS=" $$ (CFG_GCCISH_LINK_FLAGS) $$ (LIBUV_FLAGS_$$ (HOST_$( 1) ))" \
220
222
CC=" $$ (CC_$( 1) )" \
221
223
CXX=" $$ (CXX_$( 1) )" \
222
224
AR=" $$ (AR_$( 1) )"
223
- $$(Q )$$(MAKE ) -C $$(CFG_BUILD_DIR ) /rt/ $(1 ) /stage $(2 ) /jemalloc
225
+ $$(Q )$$(MAKE ) -C $$(RT_BUILD_DIR_ $(1 ) _ $(2 ) ) /jemalloc
224
226
endif
225
227
226
228
227
229
# These could go in rt.mk or rustllvm.mk, they're needed for both.
228
230
229
231
# This regexp has a single $, escaped twice
230
- %.bsd.def: %.def.in $$(MKFILE_DEPS )
232
+ $( 1 ) / %.bsd.def: %.def.in $$(MKFILE_DEPS )
231
233
@$$(call E, def: $$@ )
232
234
$$(Q ) echo "{" > $$@
233
235
$$(Q ) sed 's/.$$$$/&;/' $$< >> $$@
234
236
$$(Q ) echo "};" >> $$@
235
237
236
- %.linux.def: %.def.in $$(MKFILE_DEPS )
238
+ $( 1 ) / %.linux.def: %.def.in $$(MKFILE_DEPS )
237
239
@$$(call E, def: $$@ )
238
240
$$(Q ) echo "{" > $$@
239
241
$$(Q ) sed 's/.$$$$/&;/' $$< >> $$@
240
242
$$(Q ) echo "};" >> $$@
241
243
242
- %.darwin.def: %.def.in $$(MKFILE_DEPS )
244
+ $( 1 ) / %.darwin.def: %.def.in $$(MKFILE_DEPS )
243
245
@$$(call E, def: $$@ )
244
246
$$(Q ) sed 's/^./_&/' $$< > $$@
245
247
246
- %.android.def: %.def.in $$(MKFILE_DEPS )
248
+ $( 1 ) / %.android.def: %.def.in $$(MKFILE_DEPS )
247
249
@$$(call E, def: $$@ )
248
250
$$(Q ) echo "{" > $$@
249
251
$$(Q ) sed 's/.$$$$/&;/' $$< >> $$@
250
252
$$(Q ) echo "};" >> $$@
251
253
252
- %.mingw32.def: %.def.in $$(MKFILE_DEPS )
254
+ $( 1 ) / %.mingw32.def: %.def.in $$(MKFILE_DEPS )
253
255
@$$(call E, def: $$@ )
254
256
$$(Q ) echo LIBRARY $$* > $$@
255
257
$$(Q ) echo EXPORTS >> $$@
0 commit comments