summaryrefslogtreecommitdiffstats
path: root/tests/run-make/mixing-formats/Makefile
blob: d01978a159953c8392362fae235e3bc4ff7b263e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# ignore-cross-compile
include ../tools.mk

# Testing various mixings of rlibs and dylibs. Makes sure that it's possible to
# link an rlib to a dylib. The dependency tree among the file looks like:
#
#				foo
#			      /     \
#			    bar1   bar2
#			   /    \ /
#			 baz    baz2
#
# This is generally testing the permutations of the foo/bar1/bar2 layer against
# the baz/baz2 layer

all:
	# Building just baz
	$(RUSTC) --crate-type=rlib  foo.rs
	$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
	$(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic
	$(RUSTC) --crate-type=bin baz.rs
	rm $(TMPDIR)/*
	$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
	$(RUSTC) --crate-type=rlib  bar1.rs
	$(RUSTC) --crate-type=dylib,rlib baz.rs -C prefer-dynamic
	$(RUSTC) --crate-type=bin baz.rs
	rm $(TMPDIR)/*
	# Building baz2
	$(RUSTC) --crate-type=rlib  foo.rs
	$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
	$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
	$(RUSTC) --crate-type=dylib baz2.rs && exit 1 || exit 0
	$(RUSTC) --crate-type=bin baz2.rs && exit 1 || exit 0
	rm $(TMPDIR)/*
	$(RUSTC) --crate-type=rlib  foo.rs
	$(RUSTC) --crate-type=rlib  bar1.rs
	$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
	$(RUSTC) --crate-type=dylib,rlib baz2.rs
	$(RUSTC) --crate-type=bin baz2.rs
	rm $(TMPDIR)/*
	$(RUSTC) --crate-type=rlib  foo.rs
	$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
	$(RUSTC) --crate-type=rlib  bar2.rs
	$(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic
	$(RUSTC) --crate-type=bin baz2.rs
	rm $(TMPDIR)/*
	$(RUSTC) --crate-type=rlib  foo.rs
	$(RUSTC) --crate-type=rlib  bar1.rs
	$(RUSTC) --crate-type=rlib  bar2.rs
	$(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic
	$(RUSTC) --crate-type=bin baz2.rs
	rm $(TMPDIR)/*
	$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
	$(RUSTC) --crate-type=rlib  bar1.rs
	$(RUSTC) --crate-type=rlib  bar2.rs
	$(RUSTC) --crate-type=dylib,rlib baz2.rs -C prefer-dynamic
	$(RUSTC) --crate-type=bin baz2.rs
	rm $(TMPDIR)/*
	$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
	$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
	$(RUSTC) --crate-type=rlib  bar2.rs
	$(RUSTC) --crate-type=dylib,rlib baz2.rs
	$(RUSTC) --crate-type=bin baz2.rs
	rm $(TMPDIR)/*
	$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
	$(RUSTC) --crate-type=rlib  bar1.rs
	$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
	$(RUSTC) --crate-type=dylib,rlib baz2.rs
	$(RUSTC) --crate-type=bin baz2.rs
	rm $(TMPDIR)/*
	$(RUSTC) --crate-type=dylib foo.rs -C prefer-dynamic
	$(RUSTC) --crate-type=dylib bar1.rs -C prefer-dynamic
	$(RUSTC) --crate-type=dylib bar2.rs -C prefer-dynamic
	$(RUSTC) --crate-type=dylib,rlib baz2.rs
	$(RUSTC) --crate-type=bin baz2.rs