Merge pull request #1870 from saper/langinfo_h
[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 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 MOBILE_DYNAMIC := $(filter monodroid xammac mobile, $(PROFILE))
17 MOBILE_STATIC := $(filter mobile_static monotouch monotouch_runtime monotouch_watch, $(PROFILE))
18
19 ifdef MOBILE_DYNAMIC
20 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT
21 endif
22
23 system_core_plain_libdir = $(the_libdir_base)plaincore
24
25 ifdef MOBILE_STATIC
26 extra_test_flags := -exclude:NotWorkingInterpreter
27 system_core_library_deps = $(the_libdir_base)Mono.Dynamic.Interpreter.dll $(system_core_plain_libdir)/System.Core.dll
28 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR
29
30 ifneq (plaincore/,$(intermediate))
31 LIB_REFS += Mono.Dynamic.Interpreter
32 LIB_MCS_FLAGS += -d:MONO_INTERPRETER
33 endif
34
35 endif
36
37 ifeq (monotouch_runtime, $(PROFILE))
38 LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
39 endif
40
41 ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
42 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT
43 endif
44
45 ifneq (basic, $(PROFILE))
46 CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
47 endif
48
49 ifdef CLR_PROFILE
50 LIB_REFS += Mono.Posix
51 endif
52
53 TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
54
55 include ../../build/library.make
56
57 $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
58
59 .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
60
61 ifneq (plaincore/,$(intermediate))
62 $(system_core_plain_libdir)/System.Core.dll:
63         $(MAKE) intermediate=plaincore/ $(system_core_plain_libdir)/System.Core.dll
64 endif
65
66 $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
67         (cd ../Mono.Dynamic.Interpreter; $(MAKE))
68
69 TEST_HARNESS_EXCLUDES += $(extra_test_flags)
70
71 CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
72
73 ifndef intermediate
74 ifneq ($(PROFILE),basic)
75 csproj-local:
76         $(MAKE) csproj-local intermediate=plaincore/
77 endif
78 endif