6 all: asm llvm-ir dep-info mir llvm-bc obj metadata link multiple-types multiple-types-option-o
9 $(RUSTC
) --emit asm
=$(OUT
)/$@
$(SRC
)
10 $(RUSTC
) --emit asm
=- $(SRC
) | diff
- $(OUT
)/$@
12 $(RUSTC
) --emit llvm-ir
=$(OUT
)/$@
$(SRC
)
13 $(RUSTC
) --emit llvm-ir
=- $(SRC
) | diff
- $(OUT
)/$@
15 $(RUSTC
) -Z dep-info-omit-d-target
=yes
--emit dep-info
=$(OUT
)/$@
$(SRC
)
16 $(RUSTC
) --emit dep-info
=- $(SRC
) | diff
- $(OUT
)/$@
18 $(RUSTC
) --emit mir
=$(OUT
)/$@
$(SRC
)
19 $(RUSTC
) --emit mir
=- $(SRC
) | diff
- $(OUT
)/$@
22 $(RUSTC
) --emit llvm-bc
=- $(SRC
) 1>/dev
/ptmx
2>$(OUT
)/$@ || true
23 diff
$(OUT
)/$@ emit-llvm-bc.stderr
25 $(RUSTC
) --emit obj
=- $(SRC
) 1>/dev
/ptmx
2>$(OUT
)/$@ || true
26 diff
$(OUT
)/$@ emit-obj.stderr
28 # For metadata output, a temporary directory will be created to hold the temporary
29 # metadata file. But when output is stdout, the temporary directory will be located
30 # in the same place as $(SRC), which is mounted as read-only in the tests. Thus as
31 # a workaround, $(SRC) is copied to the test output directory $(OUT) and we compile
35 (cd
$(OUT
); $(RUSTC
) --emit metadata
=- $(SRC
) 1>/dev
/ptmx
2>$(OUT
)/$@ || true
)
36 diff
$(OUT
)/$@ emit-metadata.stderr
39 $(RUSTC
) --emit link
=- $(SRC
) 1>/dev
/ptmx
2>$(OUT
)/$@ || true
40 diff
$(OUT
)/$@ emit-link.stderr
42 multiple-types
: $(OUT
)
43 $(RUSTC
) --emit asm
=- --emit llvm-ir
=- --emit dep-info
=- --emit mir
=- $(SRC
) 2>$(OUT
)/$@ || true
44 diff
$(OUT
)/$@ emit-multiple-types.stderr
46 multiple-types-option-o
: $(OUT
)
47 $(RUSTC
) -o
- --emit asm
,llvm-ir
,dep-info
,mir
$(SRC
) 2>$(OUT
)/$@ || true
48 diff
$(OUT
)/$@ emit-multiple-types.stderr