[corlib] CoreRT System.Threading.Tasks (#6672)
[mono-project.git] / mcs / class / Makefile
blobad455ad47e72b7a9789d836f7da47c178749a335
1 thisdir = class
3 pcl_facade_dirs := Facades
5 -include ../build/config.make
7 ifdef MCS_MODE
8 MCS_MODE_dirs := Mono.Cecil.Mdb
9 endif
11 # The minimal set of csc dependencies
12 basic_SUBDIRS := \
13 corlib \
14 Mono.Security \
15 System \
16 System.XML \
17 System.Security \
18 System.Core \
19 System.ComponentModel.Composition.4.5 \
20 System.Numerics \
21 System.Xml.Linq \
22 Mono.Cecil \
23 $(MCS_MODE_dirs) \
24 Mono.CompilerServices.SymbolWriter \
25 PEAPI \
26 ../tools/cil-stringreplacer \
27 ../ilasm \
28 corlib/il
30 build_SUBDIRS := \
31 corlib \
32 Mono.Security \
33 System \
34 System.XML \
35 System.Security \
36 Mono.Posix \
37 System.Core \
38 System.Configuration \
39 System.ComponentModel.Composition.4.5 \
40 System.Numerics \
41 System.Xml.Linq \
42 System.IO.Compression \
43 System.Drawing \
44 Mono.Cecil \
45 $(MCS_MODE_dirs) \
46 Mono.CompilerServices.SymbolWriter \
47 PEAPI \
48 ../tools/cil-stringreplacer
50 ifdef MCS_MODE
51 basic_PARALLEL_SUBDIRS := ../mcs
52 build_PARALLEL_SUBDIRS := ../mcs
53 else
54 basic_PARALLEL_SUBDIRS := $(pcl_facade_dirs)
55 build_PARALLEL_SUBDIRS := $(pcl_facade_dirs)
56 endif
58 mobile_common_dirs := \
59 corlib \
60 Mono.Security \
61 System \
62 System.Core \
63 System.XML \
64 System.Security \
65 I18N \
66 System.ServiceModel.Internals \
67 System.Runtime.Serialization \
68 System.Xml.Linq \
69 System.IdentityModel \
70 System.ServiceModel \
71 System.ServiceModel.Web \
72 System.Json \
73 System.Web.Services \
74 Mono.Data.Tds \
75 System.Transactions \
76 System.Numerics \
77 System.Numerics.Vectors \
78 System.Data \
79 Mono.Data.Sqlite \
80 System.Data.Services.Client \
81 System.IO.Compression \
82 System.IO.Compression.FileSystem \
83 System.ComponentModel.DataAnnotations \
84 System.ComponentModel.Composition.4.5 \
85 System.Net \
86 System.Net.Http \
87 System.Windows \
88 System.Xml.Serialization \
89 Mono.CSharp \
90 Microsoft.CSharp \
91 System.Reflection.Context \
92 System.Net.Http.WinHttpHandler \
93 System.Runtime.CompilerServices.Unsafe
95 testing_aot_full_dirs := \
96 $(mobile_common_dirs) \
97 Mono.Simd \
98 $(pcl_facade_dirs)
100 testing_aot_hybrid_dirs := \
101 $(mobile_common_dirs) \
102 Mono.Simd \
103 $(pcl_facade_dirs)
105 xammac_dirs := \
106 $(mobile_common_dirs) \
107 Mono.CompilerServices.SymbolWriter \
108 $(pcl_facade_dirs)
110 monodroid_dirs := \
111 $(mobile_common_dirs) \
112 Mono.CompilerServices.SymbolWriter \
113 Mono.Btls.Interface \
114 Mono.Posix \
115 $(pcl_facade_dirs)
117 monodroid_tools_dirs := \
118 Mono.Cecil \
119 ICSharpCode.SharpZipLib \
120 monodoc
122 monotouch_dirs := \
123 $(mobile_common_dirs) \
124 Mono.Simd \
125 $(pcl_facade_dirs)
127 monotouch_watch_dirs := $(filter-out Mono.Security Mono.Data.Tds,$(monotouch_dirs))
128 monotouch_tv_dirs := $(monotouch_dirs)
130 monotouch_runtime_dirs := \
131 corlib \
132 Mono.Security \
133 System \
134 System.Core \
135 System.XML \
136 Mono.CSharp
138 monotouch_watch_runtime_dirs := $(filter-out Mono.Security Mono.Data.Tds,$(monotouch_runtime_dirs))
139 monotouch_tv_runtime_dirs := $(monotouch_runtime_dirs)
141 winaot_dirs := \
142 $(mobile_common_dirs) \
143 System.Drawing \
144 $(pcl_facade_dirs)
146 unreal_dirs := \
147 $(mobile_common_dirs) \
148 System.Drawing \
149 $(pcl_facade_dirs)
151 wasm_dirs := \
152 $(mobile_common_dirs) \
153 System.Drawing \
154 $(pcl_facade_dirs)
156 xammac_4_5_dirs := \
157 corlib \
158 Mono.Security \
159 System \
160 System.XML \
161 System.Security \
162 Mono.Posix \
163 System.Core \
164 System.Configuration \
165 I18N \
166 System.ServiceModel.Internals \
167 SMDiagnostics \
168 System.Numerics \
169 System.Numerics.Vectors \
170 Mono.Data.Tds \
171 System.Transactions \
172 System.EnterpriseServices \
173 System.Data \
174 System.Runtime.Serialization \
175 System.Xml.Linq \
176 Mono.Data.Sqlite \
177 System.Runtime.Serialization.Formatters.Soap \
178 System.ComponentModel.DataAnnotations \
179 System.IdentityModel \
180 System.IdentityModel.Selectors \
181 Mono.Messaging \
182 System.Configuration.Install \
183 System.Messaging \
184 System.Web.Services \
185 System.ServiceModel \
186 System.ServiceModel.Web \
187 System.Json \
188 System.Data.Services.Client \
189 System.IO.Compression \
190 System.IO.Compression.FileSystem \
191 System.ComponentModel.Composition.4.5 \
192 System.Net \
193 System.Windows \
194 System.Xml.Serialization \
195 Mono.CSharp \
196 Microsoft.CSharp \
197 Mono.CompilerServices.SymbolWriter \
198 System.Data.Linq \
199 System.Net.Http \
200 System.Net.Http.WebRequest \
201 System.Reflection.Context \
202 System.Net.Http.WinHttpHandler \
203 System.Runtime.CompilerServices.Unsafe \
204 $(pcl_facade_dirs)
206 net_4_x_dirs := \
207 corlib \
208 Mono.Security \
209 System \
210 System.XML \
211 System.Security \
212 Mono.CompilerServices.SymbolWriter \
213 Mono.Posix \
214 System.Core \
215 System.Configuration \
216 System.Drawing \
217 System.IO.Compression \
218 System.IO.Compression.FileSystem \
219 System.Transactions \
220 System.EnterpriseServices \
221 Mono.Data.Tds \
222 System.Numerics \
223 System.Numerics.Vectors \
224 System.Data \
225 System.ComponentModel.DataAnnotations \
226 Accessibility \
227 Mono.WebBrowser \
228 System.Runtime.Serialization.Formatters.Soap \
229 System.Windows.Forms \
230 Mono.Data.Sqlite \
231 System.Web.ApplicationServices \
232 Novell.Directory.Ldap \
233 System.DirectoryServices \
234 System.Design \
235 System.Web.Services \
236 System.Web \
237 System.Runtime.Remoting \
238 System.Configuration.Install \
239 System.Management \
240 System.Data.OracleClient \
241 Cscompmgd \
242 Commons.Xml.Relaxng \
243 Mono.Messaging \
244 System.Messaging \
245 System.ServiceProcess \
246 System.Drawing.Design \
247 ICSharpCode.SharpZipLib \
248 IBM.Data.DB2 \
249 CustomMarshalers \
250 SystemWebTestShim \
251 System.ServiceModel.Internals \
252 SMDiagnostics \
253 System.Runtime.Serialization \
254 System.Xml.Linq \
255 System.Data.Linq \
256 System.Web.Abstractions \
257 System.Web.Routing \
258 System.Runtime.DurableInstancing \
259 System.IdentityModel \
260 System.IdentityModel.Selectors \
261 System.ServiceModel \
262 System.Web.Extensions \
263 System.Web.Extensions.Design \
264 System.Web.DynamicData \
265 Mono.CSharp \
266 System.Net \
267 System.Json \
268 Microsoft.CSharp \
269 System.Xaml \
270 WindowsBase \
271 System.ServiceModel.Activation \
272 System.ServiceModel.Routing \
273 System.ServiceModel.Discovery \
274 System.Runtime.Caching \
275 Microsoft.Web.Infrastructure \
276 System.ServiceModel.Web \
277 System.Net.Http \
278 System.Net.Http.WebRequest \
279 System.Web.Razor \
280 System.Web.WebPages.Deployment \
281 System.Web.WebPages \
282 System.Web.WebPages.Razor \
283 System.Web.Mvc3 \
284 System.Net.Http.Formatting \
285 System.Web.Http \
286 System.Web.Http.SelfHost \
287 System.Web.Http.WebHost
289 # These are the subdirs which depends on libs in net_4_x_dirs
290 # or have proper dependencies between each other
291 net_4_x_parallel_dirs := \
292 PEAPI \
293 I18N \
294 Mono.Btls.Interface \
295 Mono.Http \
296 Mono.Cairo \
297 Mono.Cecil \
298 Mono.Cecil.Mdb \
299 Mono.Debugger.Soft \
300 Mono.C5 \
301 Mono.Management \
302 Mono.Options \
303 Mono.Simd \
304 Mono.Tasklets \
305 Mono.CodeContracts \
306 Mono.Parallel \
307 Mono.Security.Win32 \
308 Mono.Messaging.RabbitMQ \
309 System.Dynamic \
310 System.Windows.Forms.DataVisualization \
311 System.Reactive.Interfaces \
312 System.Reactive.Core \
313 System.Reactive.Linq \
314 System.Reactive.PlatformServices \
315 System.Reactive.Providers \
316 System.Reactive.Runtime.Remoting \
317 System.Reactive.Windows.Forms \
318 System.Reactive.Windows.Threading \
319 System.Reactive.Observable.Aliases \
320 System.Reactive.Experimental \
321 System.Reactive.Debugger \
322 System.Data.Services.Client \
323 System.Data.Services \
324 System.Data.Entity \
325 System.Data.DataSetExtensions \
326 System.Json.Microsoft \
327 System.Threading.Tasks.Dataflow \
328 System.ComponentModel.Composition.4.5 \
329 System.Windows \
330 System.Xml.Serialization \
331 System.DirectoryServices.Protocols \
332 RabbitMQ.Client \
333 Microsoft.VisualC \
334 WebMatrix.Data \
335 monodoc \
336 System.Deployment \
337 System.Web.Mobile \
338 System.Web.RegularExpressions \
339 System.Workflow.Activities \
340 System.Workflow.ComponentModel \
341 System.Workflow.Runtime \
342 System.Reflection.Context \
343 Mono.Profiler.Log \
344 Mono.Runtime.Tests \
345 System.Runtime.CompilerServices.Unsafe \
346 legacy/Mono.Cecil \
347 $(pcl_facade_dirs)
349 xbuild_2_0_dirs := \
350 Microsoft.Build.Framework \
351 Microsoft.Build.Utilities \
352 Microsoft.Build.Engine \
353 Mono.XBuild.Tasks \
354 Microsoft.Build.Tasks
356 xbuild_4_0_dirs := \
357 $(xbuild_2_0_dirs) \
358 Microsoft.Build
360 orbis_dirs := \
361 $(filter-out Microsoft.CSharp Mono.CSharp Mono.Data.Sqlite,$(mobile_common_dirs)) \
362 System.Drawing \
363 $(pcl_facade_dirs)
365 monodroid_SUBDIRS := $(monodroid_dirs)
366 monodroid_tools_SUBDIRS := $(monodroid_tools_dirs)
367 monotouch_SUBDIRS := $(monotouch_dirs)
368 monotouch_watch_SUBDIRS := $(monotouch_watch_dirs)
369 monotouch_tv_SUBDIRS := $(monotouch_tv_dirs)
370 monotouch_runtime_SUBDIRS := $(monotouch_runtime_dirs)
371 monotouch_watch_runtime_SUBDIRS := $(monotouch_watch_runtime_dirs)
372 monotouch_tv_runtime_SUBDIRS := $(monotouch_tv_runtime_dirs)
373 testing_aot_full_SUBDIRS := $(testing_aot_full_dirs)
374 testing_aot_hybrid_SUBDIRS := $(testing_aot_hybrid_dirs)
375 xammac_SUBDIRS := $(xammac_dirs)
376 xammac_net_4_5_SUBDIRS := $(xammac_4_5_dirs)
377 binary_reference_assemblies_SUBDIRS := reference-assemblies
378 net_4_x_SUBDIRS := $(net_4_x_dirs) $(xbuild_4_0_dirs)
379 net_4_x_PARALLEL_SUBDIRS := $(net_4_x_parallel_dirs)
380 xbuild_12_SUBDIRS := $(xbuild_4_0_dirs)
381 xbuild_14_SUBDIRS := $(xbuild_4_0_dirs) Microsoft.NuGet.Build.Tasks
382 winaot_SUBDIRS := $(winaot_dirs)
383 orbis_SUBDIRS := $(orbis_dirs)
384 unreal_SUBDIRS := $(unreal_dirs)
385 wasm_SUBDIRS := $(wasm_dirs)
387 include ../build/rules.make
389 SUBDIRS = $(testing_aot_full_dirs) $(testing_aot_hybrid_dirs) $(monotouch_dirs) $(monodroid_dirs) $(monodroid_tools_dirs) $(xammac_dirs) $(net_4_x_dirs) $(net_4_x_parallel_dirs) $(xammac_net_4_5_SUBDIRS) $(unreal_dirs)
391 DIST_ONLY_SUBDIRS = dlr aot-compiler reference-assemblies $(xbuild_4_0_dirs) Microsoft.NuGet.Build.Tasks
393 # No new makefiles for: System.Messaging, System.Web.Mobile,
394 # System.ServiceProcess
396 DISTFILES = \
397 ecma.pub \
398 winfx.pub \
399 winfx3.pub \
400 mono.pub \
401 msfinal.pub \
402 silverlight.pub \
403 reactive.pub \
404 mono.snk \
405 Open.snk \
406 LICENSE \
407 README \
408 doc/API-notes \
409 doc/NUnitGuidelines \
410 doc/TemplateTest.cs \
411 notes/BitVecto32.txt \
412 MicrosoftAjaxLibrary/License.htm \
413 test-helpers/NetworkHelpers.cs \
414 test-helpers/SocketResponder.cs \
415 $(foreach HOST_PLATFORM,darwin linux win32,lib/$(monolite_dir)/mcs.exe $(monolite_files))
417 .PHONY: all-local $(STD_TARGETS:=-local)
418 all-local $(STD_TARGETS:=-local):
421 all-local-aot:
423 monolite_dir = monolite-$(HOST_PLATFORM)/$(MONO_CORLIB_VERSION)
425 # Files needed to bootstrap C# compiler
426 build_files = mscorlib.dll System.dll System.Xml.dll Mono.Security.dll System.Core.dll System.Security.dll System.Configuration.dll \
427 System.Numerics.dll System.Xml.Linq.dll \
428 Facades/System.Collections.Concurrent.dll Facades/System.Linq.dll Facades/System.Runtime.dll Facades/System.Collections.dll \
429 Facades/System.Reflection.Extensions.dll Facades/System.Text.Encoding.Extensions.dll Facades/System.Diagnostics.Debug.dll \
430 Facades/System.Reflection.Primitives.dll Facades/System.Text.Encoding.dll Facades/System.Diagnostics.Tools.dll Facades/System.Reflection.dll \
431 Facades/System.Threading.Tasks.Parallel.dll Facades/System.Dynamic.Runtime.dll Facades/System.Resources.ResourceManager.dll \
432 Facades/System.Threading.Tasks.dll Facades/System.Globalization.dll Facades/System.Runtime.Extensions.dll Facades/System.Threading.dll \
433 Facades/System.IO.dll Facades/System.Runtime.InteropServices.dll Facades/System.Xml.ReaderWriter.dll Facades/System.Linq.Expressions.dll \
434 Facades/System.Runtime.Numerics.dll Facades/System.Xml.XDocument.dll Facades/System.IO.FileSystem.Primitives.dll Facades/System.IO.FileSystem.dll \
435 Facades/System.Diagnostics.FileVersionInfo.dll Facades/System.Security.Cryptography.Primitives.dll Facades/System.Security.Cryptography.Algorithms.dll \
436 Facades/System.ValueTuple.dll Facades/System.Text.Encoding.CodePages.dll
438 monolite_files = $(build_files:%=lib/$(monolite_dir)/%)
440 lib/$(monolite_dir):
441 lib/$(monolite_dir)/Facades:
442 $(MKINSTALLDIRS) $@
444 $(monolite_files): | lib/$(monolite_dir)
445 $(monolite_files): | lib/$(monolite_dir)/Facades
446 $(monolite_files): lib/$(monolite_dir)/%: lib/build-$(HOST_PLATFORM)/%
447 cp -p $< $@
449 lib/$(monolite_dir)/mcs.exe:
450 $(MAKE) -C ../mcs PROFILE=build
451 cp -p lib/build-$(HOST_PLATFORM)/mcs.exe lib/$(monolite_dir)
453 $(build_files:%=lib/build-$(HOST_PLATFORM)/%):
454 cd $(topdir) && $(MAKE) profile-do--build--all NO_DIR_CHECK=1 SKIP_AOT=1
456 dist-monolite: $(monolite_files) lib/$(monolite_dir)/mcs.exe
458 dist-monolite-all-platforms:
459 $(MAKE) dist-monolite HOST_PLATFORM=darwin
460 $(MAKE) dist-monolite HOST_PLATFORM=linux
461 $(MAKE) dist-monolite HOST_PLATFORM=win32
463 package-monolite-latest:
464 MONOLITE=monolite-$(HOST_PLATFORM)-$(MONO_CORLIB_VERSION)-latest; \
465 $(MAKE) dist-monolite monolite_dir=$$MONOLITE; \
466 tar zcvpf $$MONOLITE.tar.gz --directory=lib $$MONOLITE/
468 package-monolite-latest-all-platforms:
469 $(MAKE) package-monolite-latest HOST_PLATFORM=darwin
470 $(MAKE) package-monolite-latest HOST_PLATFORM=linux
471 $(MAKE) package-monolite-latest HOST_PLATFORM=win32
473 monolite_url = https://download.mono-project.com/monolite/monolite-$(BUILD_PLATFORM)-$(MONO_CORLIB_VERSION)-latest.tar.gz
475 get-monolite-latest:
476 -rm -fr lib/monolite-$(BUILD_PLATFORM)/$(MONO_CORLIB_VERSION)
477 -mkdir -p lib/monolite-$(BUILD_PLATFORM)
478 cd lib && { (wget -O- $(monolite_url) || curl -L $(monolite_url)) | gzip -d | tar xf - ; }
479 cd lib && mv -f monolite-$(BUILD_PLATFORM)-$(MONO_CORLIB_VERSION)-latest monolite-$(BUILD_PLATFORM)/$(MONO_CORLIB_VERSION)
481 dist-default: dist-monolite-all-platforms
483 dist-local: dist-default
485 csproj-local:
487 do-clean:
488 $(RM) -rf $(topdir)/class/lib/$(PROFILE)