[tests] Add test files to tarball (#18261)
[mono-project.git] / mono / tests / assembly-load-reference / Makefile.am
bloba1b1f827a2585ca8c89cb674eaafc223c64f0b3c
1 MAKEFLAGS := $(MAKEFLAGS) --no-builtin-rules
3 ### buildtree stuff
5 RUNTIME_ARGS=--config tests-config --optimize=all --debug
6 TEST_RUNTIME_ARGS ?= $(RUNTIME_ARGS)
7 TEST_AOT_BUILD_FLAGS ?= $(AOT_BUILD_FLAGS)
8 TEST_AOT_RUN_FLAGS ?= $(AOT_RUN_FLAGS)
10 CLASS=$(mcs_topdir)/class/lib/$(DEFAULT_PROFILE)
12 with_mono_path = MONO_PATH=$(CLASS)
14 RUNTIME = $(with_mono_path) $(top_builddir)/runtime/mono-wrapper
15 TOOLS_RUNTIME = MONO_PATH=$(mcs_topdir)/class/lib/build $(top_builddir)/runtime/mono-wrapper --aot-path=$(mcs_topdir)/class/lib/build
17 if FULL_AOT_TESTS
18 PROFILE_MCS_FLAGS = -d:MOBILE,MOBILE_LEGACY,FULL_AOT_DESKTOP 
19 endif
21 if HYBRID_AOT_TESTS
22 PROFILE_MCS_FLAGS = -d:MOBILE,MOBILE_LEGACY 
23 endif
25 ### test runner stuff
27 if HOST_WIN32
28 PLATFORM_PATH_SEPARATOR=;
29 else
30 PLATFORM_PATH_SEPARATOR=:
31 endif
33 TEST_RUNNER = ../test-runner.exe
35 if HOST_WIN32
36 if ENABLE_MSVC
37         DEFAULT_WIN32_RUNTIME=$(shell cygpath -w -a $(top_builddir)/@mono_runtime@ | sed 's/\\/\\\\/g')
38 else
39         DEFAULT_WIN32_RUNTIME=$(top_builddir)/runtime/mono-wrapper)
40 endif
41 TEST_RUNNER += --config tests-config --runtime "$(if $(MONO_EXECUTABLE),$(shell cygpath -w -a $(MONO_EXECUTABLE) | sed 's/\\/\\\\/g'),$(DEFAULT_WIN32_RUNTIME))"
42 else
43 TEST_RUNNER += --config tests-config --runtime "$(if $(MONO_EXECUTABLE),$(MONO_EXECUTABLE),$(top_builddir)/runtime/mono-wrapper)"
44 endif
46 TEST_RUNNER += $(if $(V), --verbose,)
48 if FULL_AOT_TESTS
49 TEST_RUNNER += --runtime-args "$(TEST_AOT_RUN_FLAGS)"
50 endif
52 if HYBRID_AOT_TESTS
53 TEST_RUNNER += --runtime-args "$(TEST_AOT_RUN_FLAGS)"
54 endif
56 TEST_RUNNER += --runtime-args "$(TEST_RUNTIME_FLAGS)"
58 TEST_RUNNER += --mono-path "$(CLASS)"
61 ### tools
63 GACUTIL= $(mcs_topdir)/class/lib/build/gacutil.exe
64 SN= $(mcs_topdir)/class/lib/build/sn.exe
66 MCS= $(TOOLS_RUNTIME) $(CSC) -noconfig -nologo -debug:portable -target:library $(PROFILE_MCS_FLAGS)
68 ### testcase stuff
70 EXTRA_DIST= README $(SIGNING_KEY) $(GACTESTLIB_SRCS) 
72 ### Test cases
74 .PHONY: run-test test-local
76 TESTS_CS = \
77         samedir/LoadFromMain.cs \
78         samedir/LoadFileMain.cs \
79         separatedir/LoadFromMain.cs \
80         separatedir/LoadFileMain.cs \
81         mainanddep/LoadFromMain.cs \
82         mainanddep/LoadFileMain.cs
84 LIBRARIES_CS = src/Dep.cs \
85         src/Mid.cs
87 EXTRA_DIST += $(TESTS_CS) $(LIBRARIES_CS)
89 TESTS_EXE = $(TESTS_CS:.cs=.exe)
91 TESTS_EXE_AOT = $(TESTS_EXE:.exe=.exe$(PLATFORM_AOT_SUFFIX))
93 REFERENCED_ASMS = \
94         samedir/Mid.dll \
95         samedir/Dep.dll \
96         separatedir/middle/Mid.dll \
97         separatedir/middle/Dep.dll \
98         mainanddep/middle/Mid.dll \
99         mainanddep/Dep.dll
101 REFERENCED_ASMS_AOT = $(REFERENCED_ASMS:.dll=.dll$(PLATFORM_AOT_SUFFIX))
103 if FULL_AOT_TESTS
104 TESTS_EXE_DEPEND=$(TESTS_EXE_AOT)
105 REFERENCED_ASMS_DEPEND=$(REFERENCED_ASMS_AOT)
106 else
107 if HYBRID_AOT_TESTS
108 TESTS_EXE_DEPEND=$(TESTS_EXE_AOT)
109 REFERENCED_ASMS_DEPEND=$(REFERENCED_ASMS_AOT)
110 else
111 TESTS_EXE_DEPEND=$(TESTS_EXE)
112 REFERENCED_ASMS_DEPEND=$(REFERENCED_ASMS)
113 endif
114 endif
116 DISABLED_TESTS=
118 # these don't work with full AOT
119 if FULL_AOT_TESTS
120 DISABLED_TESTS+= \
121         mainanddep/LoadFromMain.exe \
122         mainanddep/LoadFileMain.exe \
123         separatedir/LoadFileMain.exe
124 endif
126 run-test:
127         true
128         $(MAKE) run-assembly-load-reference-tests
131 test-local: compile-samedir compile-separatedir compile-mainanddep
133 compile-samedir: samedir/LoadFromMain.exe samedir/LoadFileMain.exe samedir/Dep.dll samedir/Mid.dll
135 samedir/%.dll: src/%.dll
136         mkdir -p $(@D)
137         cp $< $@
139 compile-separatedir: separatedir/LoadFromMain.exe separatedir/LoadFileMain.exe separatedir/middle/Dep.dll separatedir/middle/Mid.dll
141 separatedir/middle/%.dll: src/%.dll
142         mkdir -p $(@D)
143         cp $< $@
145 compile-mainanddep: mainanddep/LoadFromMain.exe mainanddep/LoadFileMain.exe mainanddep/Dep.dll mainanddep/middle/Mid.dll
147 mainanddep/Dep.dll: src/Dep.dll
148         mkdir -p $(@D)
149         cp $< $@
151 mainanddep/middle/Mid.dll: src/Mid.dll
152         mkdir -p $(@D)
153         cp $< $@
155 src/Dep.dll: src/Dep.cs
156         mkdir -p $(@D)
157         $(MCS) -out:$@ $< -target:library
159 src/Mid.dll: src/Mid.cs src/Dep.dll
160         $(MCS) -out:$@ $< -r:src/Dep.dll -target:library
162 %/LoadFromMain.exe: %/LoadFromMain.cs
163         mkdir -p $(@D)
164         $(MCS) -out:$@ $< -target:exe
166 %/LoadFileMain.exe: %/LoadFileMain.cs
167         mkdir -p $(@D)
168         $(MCS) -out:$@ $< -target:exe
170 %/LoadFromMain.exe$(PLATFORM_AOT_SUFFIX): %/LoadFromMain.exe
171         $(RUNTIME) $(TEST_AOT_BUILD_FLAGS) $<
173 %/LoadFileMain.exe$(PLATFORM_AOT_SUFFIX): %/LoadFileMain.exe
174         $(RUNTIME) $(TEST_AOT_BUILD_FLAGS) $<
176 %.dll$(PLATFORM_AOT_SUFFIX): %.dll
177         $(RUNTIME) $(TEST_AOT_BUILD_FLAGS) $<
179 run-assembly-load-reference-tests: $(TESTS_EXE_DEPEND) $(REFERENCED_ASMS_DEPEND) 
180         $(TOOLS_RUNTIME) $(TEST_RUNNER) --testsuite-name $@ --disabled "$(DISABLED_TESTS)" $(TESTS_EXE)