Merge pull request #2698 from esdrubal/iosxmlarray
[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 REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE
8 LIB_REFS = System
9 LIB_MCS_FLAGS = $(REFERENCE_SOURCES_FLAGS) -d:INSIDE_SYSCORE -d:LIBC -unsafe
10 TXT_RESOURCE_STRINGS = ../../../external/referencesource/System.Core/System.Core.txt
11
12 ifneq (2.1, $(FRAMEWORK_VERSION))
13 LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
14 endif
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_REFS += Mono.Dynamic.Interpreter
29 LIB_MCS_FLAGS += -d:MONO_INTERPRETER
30 endif
31
32 endif
33
34 ifeq (monotouch_runtime, $(PROFILE))
35 LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
36 endif
37
38 ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
39 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT
40 endif
41
42 ifneq (basic, $(PROFILE))
43 CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
44 endif
45
46 ifdef CLR_PROFILE
47 LIB_REFS += Mono.Posix
48 endif
49
50 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
51
52 include ../../build/library.make
53
54 $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
55
56 .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
57
58 ifneq (plaincore/,$(intermediate))
59 $(system_core_plain_libdir)/System.Core.dll:
60         $(MAKE) intermediate=plaincore/ $(system_core_plain_libdir)/System.Core.dll
61 endif
62
63 $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
64         (cd ../Mono.Dynamic.Interpreter; $(MAKE))
65
66 TEST_HARNESS_EXCLUDES += $(extra_test_flags)
67
68 CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
69
70 ifndef intermediate
71 ifneq ($(PROFILE),basic)
72 csproj-local:
73         $(MAKE) csproj-local intermediate=plaincore/
74 endif
75 endif