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