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