[arm64] Fix finally abort
[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 -nowarn:436
10 TXT_RESOURCE_STRINGS = ../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 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
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 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
55
56 ../corlib/CommonCrypto/%.g.cs:
57         $(MAKE) -C ../corlib/CommonCrypto
58 endif
59
60 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
61
62 include ../../build/library.make
63
64 $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
65
66 .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
67
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
72
73 $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
74         (cd ../Mono.Dynamic.Interpreter; $(MAKE))
75
76 TEST_HARNESS_EXCLUDES += $(extra_test_flags)
77
78 CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
79
80 ifndef intermediate
81 ifneq ($(PROFILE),basic)
82 csproj-local:
83         $(MAKE) csproj-local intermediate=plaincore/
84 endif
85 endif