Rename the mobile_static profile to aot_only
[mono-project.git] / mcs / class / System.Core / Makefile
blobf5b1ea81600b14dcf0ec5f64f360fe2ae4c9c6d1
1 thisdir = class/System.Core
2 SUBDIRS =
3 include ../../build/rules.make
5 LIBRARY = System.Core.dll
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 = ../referencesource/System.Core/System.Core.txt
12 ifneq (2.1, $(FRAMEWORK_VERSION))
13 LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
14 endif
16 ifdef MOBILE_DYNAMIC
17 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT
18 endif
20 system_core_plain_libdir = $(the_libdir_base)plaincore
22 ifdef AOT_FRIENDLY_PROFILE
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
27 ifneq (plaincore/,$(intermediate))
28 LIB_REFS += Mono.Dynamic.Interpreter
29 LIB_MCS_FLAGS += -d:MONO_INTERPRETER
30 endif
32 endif
34 ifeq (monotouch_runtime, $(PROFILE))
35 LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
36 endif
38 ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
39 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT
40 endif
42 ifneq (basic, $(PROFILE))
43 CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
44 endif
46 ifdef CLR_PROFILE
47 LIB_REFS += Mono.Posix
48 endif
50 CC_PROFILE := $(filter monotouch% xammac, $(PROFILE))
51 ifdef CC_PROFILE
52 BUILT_SOURCES = \
53 ../corlib/CommonCrypto/AesManaged.g.cs \
54 ../corlib/CommonCrypto/AesCryptoServiceProvider.g.cs
56 ../corlib/CommonCrypto/%.g.cs:
57 $(MAKE) -C ../corlib/CommonCrypto
58 endif
60 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
62 include ../../build/library.make
64 $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
66 .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
68 ifneq (plaincore/,$(intermediate))
69 $(system_core_plain_libdir)/System.Core.dll:
70 $(MAKE) intermediate=plaincore/ $(system_core_plain_libdir)/System.Core.dll
71 endif
73 $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
74 (cd ../Mono.Dynamic.Interpreter; $(MAKE))
76 TEST_HARNESS_EXCLUDES += $(extra_test_flags)
78 CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
80 ifndef intermediate
81 ifneq ($(PROFILE),basic)
82 csproj-local:
83 $(MAKE) csproj-local intermediate=plaincore/
84 endif
85 endif