[MWF] Improve ellipsis handling
[mono.git] / mcs / class / System.Core / Makefile
1 thisdir = class/System.Core
2 SUBDIRS = 
3 include ../../build/rules.make
4
5 LIBRARY = System.Core.dll
6
7 LIB_MCS_FLAGS = -d:INSIDE_SYSCORE -d:LIBC /r:System.dll -unsafe
8
9 ifneq (2.1, $(FRAMEWORK_VERSION))
10 LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
11 endif
12
13 MOBILE_DYNAMIC := $(filter monodroid xammac mobile, $(PROFILE))
14 MOBILE_STATIC := $(filter mobile_static monotouch monotouch_runtime, $(PROFILE))
15
16 ifdef MOBILE_DYNAMIC
17 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT
18 endif
19
20 system_core_plain_libdir = $(the_libdir_base)plaincore
21
22 ifdef MOBILE_STATIC
23 extra_test_flags := -exclude:NotWorkingInterpreter
24 system_core_library_deps = $(the_libdir_base)Mono.Dynamic.Interpreter.dll $(system_core_plain_libdir)/System.Core.dll
25 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR
26
27 ifneq (plaincore/,$(intermediate))
28 LIB_MCS_FLAGS += -d:MONO_INTERPRETER -r:Mono.Dynamic.Interpreter.dll
29 endif
30
31 endif
32
33 ifeq (monotouch_runtime, $(PROFILE))
34 LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
35 endif
36
37 ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
38 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT
39 endif
40
41 ifneq (basic, $(PROFILE))
42 CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
43 endif
44
45 ifdef CLR_PROFILE
46 LIB_MCS_FLAGS += -r:Mono.Posix.dll
47 endif
48
49 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
50
51 include ../../build/library.make
52
53 $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
54
55 .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
56
57 ifneq (plaincore/,$(intermediate))
58 $(system_core_plain_libdir)/System.Core.dll:
59         $(MAKE) intermediate=plaincore/ $(system_core_plain_libdir)/System.Core.dll
60 endif
61
62 $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
63         (cd ../Mono.Dynamic.Interpreter; $(MAKE))
64
65 TEST_HARNESS_EXCLUDES += $(extra_test_flags)
66
67 CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
68
69 ifndef intermediate
70 ifneq ($(PROFILE),basic)
71 csproj-local:
72         $(MAKE) csproj-local intermediate=plaincore/
73 endif
74 endif