Skip to content

Commit

Permalink
Abstract the build directories further in the makefiles
Browse files Browse the repository at this point in the history
This defines variables for host bin and lib directories as well as all target
bin and lib directories then uses them everywhere.
  • Loading branch information
brson committed Sep 30, 2011
1 parent ed106dd commit 38c67a4
Show file tree
Hide file tree
Showing 10 changed files with 103 additions and 95 deletions.
57 changes: 33 additions & 24 deletions Makefile.in
Expand Up @@ -169,32 +169,41 @@ LLC := $(CFG_LLVM_BINDIR)/llc$(X)

define SREQ

# Destinations of artifacts for target architectures
TARGET_ROOT$(1)$(2) = stage$(1)/lib/rustc/$(2)
TARGET_BIN$(1)$(2) = $(TARGET_ROOT$(1)$(2))/bin
TARGET_LIB$(1)$(2) = $(TARGET_ROOT$(1)$(2))/lib
HOST_ROOT$(1) = $(TARGET_ROOT$(1)$$(CFG_HOST_TRIPLE))
HOST_BIN$(1) = $(TARGET_BIN$(1)$$(CFG_HOST_TRIPLE))
HOST_LIB$(1) = $(TARGET_LIB$(1)$$(CFG_HOST_TRIPLE))
TARGET_BIN$(1)$(2) = $$(TARGET_ROOT$(1)$(2))/bin
TARGET_LIB$(1)$(2) = $$(TARGET_ROOT$(1)$(2))

# Destinations of artifacts for the host compiler
HOST_ROOT$(1) = stage$(1)
HOST_BIN$(1) = $$(HOST_ROOT$(1))/bin
HOST_LIB$(1) = $$(HOST_ROOT$(1))/lib

# The target locations of artifacts for the host architecture (used for
# promoting target binaries to host binaries)
TARGET_HOST_ROOT$(1) = $$(TARGET_ROOT$(1)$$(CFG_HOST_TRIPLE))
TARGET_HOST_BIN$(1) = $$(TARGET_BIN$(1)$$(CFG_HOST_TRIPLE))
TARGET_HOST_LIB$(1) = $$(TARGET_LIB$(1)$$(CFG_HOST_TRIPLE))

ifdef CFG_DISABLE_SHAREDSTD
SREQ$(1)$(2) = $(HOST_BIN$(1))/rustc$(X) \
$(HOST_LIB$(1))/$$(CFG_RUNTIME) \
SREQ$(1)$(2) = $$(HOST_BIN$(1))/rustc$(X) \
$$(HOST_LIB$(1))/$$(CFG_RUNTIME) \
$$(call CFG_STDLIB_DEFAULT,stage$(1),stage$(1)) \
$(HOST_LIB$(1))/$$(CFG_RUSTLLVM) \
$(TARGET_LIB$(1)$(2))/$$(CFG_RUNTIME) \
$(TARGET_LIB$(1)$(2))/$$(CFG_STDLIB) \
$(TARGET_LIB$(1)$(2))/intrinsics.bc \
$(TARGET_LIB$(1)$(2))/main.o \
$$(HOST_LIB$(1))/$$(CFG_RUSTLLVM) \
$$(TARGET_LIB$(1)$(2))/$$(CFG_RUNTIME) \
$$(TARGET_LIB$(1)$(2))/$$(CFG_STDLIB) \
$$(TARGET_LIB$(1)$(2))/intrinsics.bc \
$$(TARGET_LIB$(1)$(2))/main.o \
$$(MKFILES)
else
SREQ$(1)$(2) = $(HOST_BIN$(1))/rustc$(X) \
$(HOST_LIB$(1))/$$(CFG_RUNTIME) \
SREQ$(1)$(2) = $$(HOST_BIN$(1))/rustc$(X) \
$$(HOST_LIB$(1))/$$(CFG_RUNTIME) \
$$(call CFG_STDLIB_DEFAULT,stage$(1),stage$(1)) \
$(HOST_LIB$(1))/$$(CFG_RUSTLLVM) \
$(TARGET_LIB$(1)$(2))/$$(CFG_RUNTIME) \
$(TARGET_LIB$(1)$(2))/$$(CFG_STDLIB) \
$(TARGET_LIB$(1)$(2))/intrinsics.bc \
$(TARGET_LIB$(1)$(2))/main.o \
$$(HOST_LIB$(1))/$$(CFG_RUSTLLVM) \
$$(TARGET_LIB$(1)$(2))/$$(CFG_RUNTIME) \
$$(TARGET_LIB$(1)$(2))/$$(CFG_STDLIB) \
$$(TARGET_LIB$(1)$(2))/intrinsics.bc \
$$(TARGET_LIB$(1)$(2))/main.o \
$$(MKFILES)
endif

Expand All @@ -205,17 +214,17 @@ else
CFG_VALGRIND_COMPILE$(1) = $$(CFG_VALGRIND_COMPILE)
endif

STAGE$(1) := $$(Q)$$(call CFG_RUN_TARG,stage$(1), \
$$(CFG_VALGRIND_COMPILE) stage$(1)/bin/rustc$$(X) \
STAGE$(1) := $$(Q)$$(call CFG_RUN_TARG,$(1), \
$$(CFG_VALGRIND_COMPILE) $$(HOST_BIN$(1))/rustc$$(X) \
$$(CFG_RUSTC_FLAGS) --target=$(2))

PERF_STAGE$(1) := $$(Q)$$(call CFG_RUN_TARG,stage$(1), \
$$(CFG_PERF_TOOL) stage$(1)/bin/rustc$$(X) \
PERF_STAGE$(1) := $$(Q)$$(call CFG_RUN_TARG,$(1), \
$$(CFG_PERF_TOOL) $$(HOST_BIN$(1))/rustc$$(X) \
$$(CFG_RUSTC_FLAGS) --target=$(2))

endef

FUZZ := stage1/bin/fuzzer$(X)
FUZZ := $(HOST_BIN$(1))/fuzzer$(X)

$(foreach target,$(CFG_TARGET_TRIPLES), \
$(eval $(call SREQ,0,$(target))) \
Expand Down
20 changes: 10 additions & 10 deletions mk/clean.mk
Expand Up @@ -44,16 +44,16 @@ clean-misc:
define CLEAN_STAGE_N

clean$(1)$(2):
$(Q)rm -f stage$(1)/bin/rustc
$(Q)rm -f stage$(1)/bin/fuzzer
$(Q)rm -f stage$(1)/lib/$(CFG_RUNTIME)
$(Q)rm -f stage$(1)/lib/$(CFG_STDLIB)
$(Q)rm -f stage$(1)/lib/$(CFG_RUSTLLVM)
$(Q)rm -f stage$(1)/lib/rustc/$(2)/$(CFG_RUNTIME)
$(Q)rm -f stage$(1)/lib/rustc/$(2)/$(CFG_STDLIB)
$(Q)rm -f stage$(1)/lib/rustc/$(2)/libstd.rlib
$(Q)rm -f stage$(1)/lib/rustc/$(2)/intrinsics.bc
$(Q)rm -f stage$(1)/lib/rustc/$(2)/main.o
$(Q)rm -f $$(HOST_BIN$(1))/rustc
$(Q)rm -f $$(HOST_BIN$(1))/fuzzer
$(Q)rm -f $$(HOST_LIB$(1))/$(CFG_RUNTIME)
$(Q)rm -f $$(HOST_LIB$(1))/$(CFG_STDLIB)
$(Q)rm -f $$(HOST_LIB$(1))/$(CFG_RUSTLLVM)
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/$(CFG_RUNTIME)
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/$(CFG_STDLIB)
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/libstd.rlib
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/intrinsics.bc
$(Q)rm -f $$(TARGET_LIB$(1)$(2))/main.o

endef

Expand Down
12 changes: 6 additions & 6 deletions mk/fuzzer.mk
Expand Up @@ -4,13 +4,13 @@ FUZZER_INPUTS := $(wildcard $(addprefix $(S)src/fuzzer/, *.rs))
define FUZZ_STAGE_N

stage$(2)/bin/fuzzer$$(X): $$(FUZZER_CRATE) $$(FUZZER_INPUTS) \
$$(SREQ$(2)$(CFG_HOST_TRIPLE)) \
stage$(2)/lib/$$(CFG_RUNTIME) \
stage$(2)/lib/$$(CFG_RUSTLLVM) \
stage$(2)/lib/$$(CFG_STDLIB) \
stage$(2)/lib/$$(CFG_LIBRUSTC)
$$(SREQ$(2)$$(CFG_HOST_TRIPLE)) \
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
$$(HOST_LIB$(2))/$$(CFG_STDLIB) \
$$(HOST_LIB$(2))/$$(CFG_LIBRUSTC)
@$$(call E, compile_and_link: $$@)
$$(STAGE$(1)) -L stage1/lib -o $$@ $$<
$$(STAGE$(1)) -L $$(HOST_LIB$(2)) -o $$@ $$<

endef

Expand Down
2 changes: 1 addition & 1 deletion mk/perf.mk
Expand Up @@ -2,7 +2,7 @@
ifdef CFG_PERF_TOOL
rustc-perf$(X): stage2/bin/rustc$(X)
@$(call E, perf compile: $@)
$(PERF_STAGE1) -L stage2 -o $@ $(COMPILER_CRATE) >rustc-perf.err 2>&1
$(PERF_STAGE1) -o $@ $(COMPILER_CRATE) >rustc-perf.err 2>&1
$(Q)rm -f $@
else
rustc-perf$(X): stage2/bin/rustc$(X)
Expand Down
4 changes: 2 additions & 2 deletions mk/platform.mk
Expand Up @@ -98,7 +98,7 @@ ifdef CFG_UNIXY
CFG_EXE_SUFFIX :=
CFG_LDPATH :=
CFG_RUN=$(CFG_LDENV)=$(1) $(2)
CFG_RUN_TARG=$(call CFG_RUN,$(CFG_BUILD_DIR)/$(1)/lib,$(2))
CFG_RUN_TARG=$(call CFG_RUN,$(CFG_BUILD_DIR)/$(HOST_LIB$(1)),$(2))
CFG_RUN_TEST=$(call CFG_RUN,$(call CFG_TESTLIB,$(1)),\
$(CFG_VALGRIND) $(1))
CFG_LIBUV_LINK_FLAGS=-lpthread
Expand Down Expand Up @@ -139,7 +139,7 @@ ifdef CFG_WINDOWSY
CFG_LDPATH :=$(CFG_LLVM_BINDIR)
CFG_LDPATH :=$(CFG_LDPATH):$$PATH
CFG_RUN=PATH="$(CFG_LDPATH):$(1)" $(2)
CFG_RUN_TARG=$(call CFG_RUN,$(1)/lib,$(2))
CFG_RUN_TARG=$(call CFG_RUN,$(HOST_LIB$(1)),$(2))
CFG_RUN_TEST=$(call CFG_RUN,$(call CFG_TESTLIB,$(1)),$(1))
CFG_LIBUV_LINK_FLAGS=-lWs2_32

Expand Down
4 changes: 2 additions & 2 deletions mk/pp.mk
Expand Up @@ -12,10 +12,10 @@ else
"no-reformat\|xfail-pretty\|xfail-test")
endif

reformat: $(SREQ1)
reformat: $(SREQ1$(CFG_HOST_TRIPLE))
@$(call E, reformat [stage1]: $@)
for i in $(PP_INPUTS_FILTERED); \
do $(call CFG_RUN_TARG,stage1,stage1/rustc$(X)) \
do $(call CFG_RUN_TARG,1,stage1/rustc$(X)) \
--pretty normal $$i >$$i.tmp; \
if [ $$? -ne 0 ]; \
then echo failed to print $$i; rm $$i.tmp; \
Expand Down
17 changes: 8 additions & 9 deletions mk/snap.mk
@@ -1,13 +1,12 @@

snap-stage1: stage1/bin/rustc$(X) stage1/lib/$(CFG_RUNTIME) \
stage1/lib/$(CFG_RUSTLLVM) stage1/lib/$(CFG_STDLIB)
snap-stage1: $(HOST_BIN1)/rustc$(X) $(HOST_LIB1)/$(CFG_RUNTIME) \
$(HOST_LIB1)/$(CFG_RUSTLLVM) $(HOST_LIB1)/$(CFG_STDLIB)
$(S)src/etc/make-snapshot.py stage1

snap-stage2: stage2/bin/rustc$(X) stage2/lib/$(CFG_RUNTIME) \
stage2/lib/$(CFG_RUSTLLVM) stage2/lib/$(CFG_STDLIB)
$(S)src/etc/make-snapshot.py stage2

snap-stage3: stage3/bin/rustc$(X) stage3/lib/$(CFG_RUNTIME) \
stage3/lib/$(CFG_RUSTLLVM) stage3/lib/$(CFG_STDLIB)
$(S)src/etc/make-snapshot.py stage3
snap-stage1: $(HOST_BIN2)/rustc$(X) $(HOST_LIB2)/$(CFG_RUNTIME) \
$(HOST_LIB2)/$(CFG_RUSTLLVM) $(HOST_LIB2)/$(CFG_STDLIB)
$(S)src/etc/make-snapshot.py stage1

snap-stage1: $(HOST_BIN3)/rustc$(X) $(HOST_LIB3)/$(CFG_RUNTIME) \
$(HOST_LIB3)/$(CFG_RUSTLLVM) $(HOST_LIB3)/$(CFG_STDLIB)
$(S)src/etc/make-snapshot.py stage1
10 changes: 5 additions & 5 deletions mk/stage0.mk
@@ -1,22 +1,22 @@
stage0/bin/rustc$(X): $(S)src/snapshots.txt $(S)src/etc/get-snapshot.py $(MKFILES)
$(HOST_BIN0)/rustc$(X): $(S)src/snapshots.txt $(S)src/etc/get-snapshot.py $(MKFILES)
@$(call E, fetch: $@)
$(Q)$(S)src/etc/get-snapshot.py
$(Q)touch $@

# Host libs will be made in the process of making rustc above.

stage0/lib/$(CFG_RUNTIME): stage0/bin/rustc$(X)
$(HOST_LIB0)/$(CFG_RUNTIME): $(HOST_BIN0)/rustc$(X)
$(Q)touch $@

stage0/lib/$(CFG_STDLIB): stage0/bin/rustc$(X)
$(HOST_LIB0)/$(CFG_STDLIB): $(HOST_BIN0)/rustc$(X)
$(Q)touch $@

stage0/lib/$(CFG_RUSTLLVM): stage0/bin/rustc$(X)
$(HOST_LIB0)/$(CFG_RUSTLLVM): $(HOST_BIN0)/rustc$(X)
$(Q)touch $@

# Instantiate template (in stageN.mk) for building
# target libraries.

SREQpre = stage0/lib/$(CFG_HOST_TRIPLE)/main.o $(MKFILES)
SREQpre = $(MKFILES)
$(eval $(call TARGET_LIBS,pre,0,$(CFG_HOST_TRIPLE)))

48 changes: 24 additions & 24 deletions mk/stageN.mk
Expand Up @@ -19,37 +19,37 @@ define STAGE_N
# for different directories, to handle cases where (say) a test relies on a
# compiler that relies on a .o file.

stage$(2)/bin/%.o: stage$(2)/bin/%.s
$$(HOST_BIN$(2))/%.o: $$(HOST_BIN$(2))/%.s
@$$(call E, assemble [gcc]: $$@)
$$(Q)gcc $$(CFG_GCCISH_CFLAGS) -o $$@ -c $$<

stage$(2)/lib/%.o: stage$(2)/lib/%.s
$$(HOST_LIB$(2))/%.o: $$(HOST_LIB$(2))/%.s
@$$(call E, assemble [gcc]: $$@)
$$(Q)gcc $$(CFG_GCCISH_CFLAGS) -o $$@ -c $$<

stage$(2)/bin/rustc$$(X): $$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
stage$(2)/lib/$$(CFG_RUNTIME) \
$$(HOST_BIN$(2))/rustc$$(X): $$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
$$(call CFG_STDLIB_DEFAULT,stage$(1),stage$(2)) \
stage$(2)/lib/$$(CFG_RUSTLLVM) \
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
$$(SREQ$(1)$(3))
@$$(call E, compile_and_link: $$@)
$$(STAGE$(1)) -L stage$(2)/lib -o $$@ $$<
$$(STAGE$(1)) -L $$(HOST_LIB$(2)) -o $$@ $$<

stage$(2)/lib/$$(CFG_LIBRUSTC): \
$$(HOST_LIB$(2))/$$(CFG_LIBRUSTC): \
$$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
$$(SREQ$(2)$(3))
@$$(call E, compile_and_link: $$@)
$$(STAGE$(1)) -L stage$(2)/lib --lib -o $$@ $$<
$$(STAGE$(1)) -L $$(HOST_LIB$(2)) --lib -o $$@ $$<

stage$(2)/lib/$$(CFG_RUNTIME): rt/$$(CFG_RUNTIME)
$$(HOST_LIB$(2))/$$(CFG_RUNTIME): rt/$$(CFG_RUNTIME)
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@

stage$(2)/lib/$$(CFG_STDLIB): stage$(1)/lib/rustc/$$(CFG_HOST_TRIPLE)/$$(CFG_STDLIB)
$$(HOST_LIB$(2))/$$(CFG_STDLIB): $$(TARGET_HOST_LIB$(1))/$$(CFG_STDLIB)
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@

stage$(2)/lib/$$(CFG_RUSTLLVM): rustllvm/$$(CFG_RUSTLLVM)
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM): rustllvm/$$(CFG_RUSTLLVM)
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@

Expand All @@ -66,35 +66,35 @@ define TARGET_LIBS
# using these exclusively, you should delete the non-arch-prefixed
# rules above. They're duplicates, redundant.

stage$(2)/lib/rustc/$(3)/intrinsics.bc: $$(INTRINSICS_BC)
$$(TARGET_LIB$(2)$(3))/intrinsics.bc: $$(INTRINSICS_BC)
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@

stage$(2)/lib/rustc/$(3)/main.o: rt/main.o
$$(TARGET_LIB$(2)$(3))/main.o: rt/main.o
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@

stage$(2)/lib/rustc/$(3)/$$(CFG_STDLIB): \
$$(TARGET_LIB$(2)$(3))/$$(CFG_STDLIB): \
$$(STDLIB_CRATE) $$(STDLIB_INPUTS) \
stage$(2)/bin/rustc$$(X) \
stage$(2)/lib/$$(CFG_RUNTIME) \
stage$(2)/lib/$$(CFG_RUSTLLVM) \
stage$(2)/lib/rustc/$(3)/intrinsics.bc \
$$(HOST_BIN$(2))/rustc$$(X) \
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
$$(TARGET_LIB$(2)$(3))/intrinsics.bc \
$$(SREQ$(1)$(3))
@$$(call E, compile_and_link: $$@)
$$(STAGE$(2)) --lib -o $$@ $$<

stage$(2)/lib/rustc/$(3)/libstd.rlib: \
$$(TARGET_LIB$(2)$(3))/libstd.rlib: \
$$(STDLIB_CRATE) $$(STDLIB_INPUTS) \
stage$(2)/bin/rustc$$(X) \
stage$(2)/lib/$$(CFG_RUNTIME) \
stage$(2)/lib/$$(CFG_RUSTLLVM) \
stage$(2)/lib/rustc/$(3)/intrinsics.bc \
$$(HOST_BIN$(2))/rustc$$(X) \
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
$$(TARGET_LIB$(2)$(3))/intrinsics.bc \
$$(SREQ$(1)$(3))
@$$(call E, compile_and_link: $$@)
$$(STAGE$(2)) --lib --static -o $$@ $$<

stage$(2)/lib/rustc/$(3)/$$(CFG_RUNTIME): rt/$$(CFG_RUNTIME)
$$(TARGET_LIB$(2)$(3))/$$(CFG_RUNTIME): rt/$$(CFG_RUNTIME)
@$$(call E, cp: $$@)
$$(Q)cp $$< $$@

Expand Down
24 changes: 12 additions & 12 deletions mk/tests.mk
Expand Up @@ -68,7 +68,7 @@ STDTEST_INPUTS := $(wildcard $(S)src/test/stdtest/*rs)
ifdef CTEST_VALGRIND
CFG_RUN_CTEST=$(call CFG_RUN_TEST,$(2))
else
CFG_RUN_CTEST=$(call CFG_RUN,stage$(1)/lib/rustc/$(CFG_HOST_TRIPLE),$(2))
CFG_RUN_CTEST=$(call CFG_RUN,$(TARGET_HOST_LIB$(1)),$(2))
endif

######################################################################
Expand Down Expand Up @@ -146,16 +146,16 @@ test/stdtest.stage$(2).out.tmp: test/stdtest.stage$(2)$$(X)
check-stage$(2)-rustc: test/rustctest.stage$(2).out \

test/rustctest.stage$(2)$$(X): $$(COMPILER_CRATE) $$(COMPILER_INPUTS) \
stage$(2)/lib/$$(CFG_RUNTIME) \
$$(HOST_LIB$(2))/$$(CFG_RUNTIME) \
$$(call CFG_STDLIB_DEFAULT,stage$(1),stage$(2)) \
stage$(2)/lib/$$(CFG_RUSTLLVM) \
$$(HOST_LIB$(2))/$$(CFG_RUSTLLVM) \
$$(SREQ$(1)$$(CFG_HOST_TRIPLE))
@$$(call E, compile_and_link: $$@)
$$(STAGE$(1)) -o $$@ $$< --test

test/rustctest.stage$(2).out.tmp: test/rustctest.stage$(2)$$(X)
@$$(call E, run: $$<)
$$(Q)$$(call CFG_RUN,$(CFG_BUILD_DIR)/stage$(2)/lib,$$(CFG_VALGRIND) $$<) \
$$(Q)$$(call CFG_RUN,$$(HOST_LIB$(2)),$$(CFG_VALGRIND) $$<) \
$$(TESTARGS)
$$(Q)touch $$@

Expand Down Expand Up @@ -185,9 +185,9 @@ check-stage$(2)-pretty: check-stage$(2)-pretty-rpass \
check-stage$(2)-pretty-bench \
check-stage$(2)-pretty-pretty \

CTEST_COMMON_ARGS$(2) := --compile-lib-path stage$(2)/lib \
--run-lib-path stage$(2)/lib/$$(CFG_HOST_TRIPLE) \
--rustc-path stage$(2)/bin/rustc$$(X) \
CTEST_COMMON_ARGS$(2) := --compile-lib-path $$(HOST_LIB$(2)) \
--run-lib-path $$(TARGET_LIB$(2)$$(CFG_HOST_TRIPLE)) \
--rustc-path $$(HOST_BIN$(2))/rustc$$(X) \
--stage-id stage$(2) \
--rustcflags "$$(CFG_RUSTC_FLAGS)" \
$$(CTEST_TESTARGS) \
Expand All @@ -204,19 +204,19 @@ RFAIL_ARGS$(2) := $$(CTEST_COMMON_ARGS$(2)) \
$$(CTEST_RUNTOOL) \

RPASS_ARGS$(2) := $$(CTEST_COMMON_ARGS$(2)) \
--src-base $(S)src/test/run-pass/ \
--src-base $$(S)src/test/run-pass/ \
--build-base test/run-pass/ \
--mode run-pass \
$$(CTEST_RUNTOOL) \

BENCH_ARGS$(2) := $$(CTEST_COMMON_ARGS$(2)) \
--src-base $(S)src/test/bench/ \
--src-base $$(S)src/test/bench/ \
--build-base test/bench/ \
--mode run-pass \
$$(CTEST_RUNTOOL) \

PERF_ARGS$(2) := $$(CTEST_COMMON_ARGS$(2)) \
--src-base $(S)src/test/bench/ \
--src-base $$(S)src/test/bench/ \
--build-base test/perf/ \
--mode run-pass \
$$(CTEST_PERF_RUNTOOL) \
Expand Down Expand Up @@ -324,9 +324,9 @@ stage2/lib/$(FT_LIB): test/$(FT).rc $(SREQ2$(CFG_HOST_TRIPLE))
@$(call E, compile_and_link: $@)
$(STAGE2) --lib -o $@ $<

test/$(FT_DRIVER)$(X): test/$(FT_DRIVER).rs stage2/lib/$(FT_LIB) $(SREQ2$(CFG_HOST_TRIPLE))
test/$(FT_DRIVER)$(X): test/$(FT_DRIVER).rs $(HOST_LIB2)/$(FT_LIB) $(SREQ2$(CFG_HOST_TRIPLE))
@$(call E, compile_and_link: $@)
$(STAGE2) -L stage2/lib -o $@ $<
$(STAGE2) -L $(HOST_LIB2) -o $@ $<

test/$(FT_DRIVER).out: test/$(FT_DRIVER)$(X) $(SREQ2$(CFG_HOST_TRIPLE))
$(Q)$(call CFG_RUN_TEST, $<)

0 comments on commit 38c67a4

Please sign in to comment.