Fix to UriTemplate.Match to properly handle query parameters without a value. No...
[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
8 LIB_MCS_FLAGS = $(REFERENCE_SOURCES_FLAGS) -d:INSIDE_SYSCORE -d:LIBC /r:System.dll -unsafe
9
10 ifneq (2.1, $(FRAMEWORK_VERSION))
11 LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
12 endif
13
14 MOBILE_DYNAMIC := $(filter monodroid xammac mobile, $(PROFILE))
15 MOBILE_STATIC := $(filter mobile_static monotouch monotouch_runtime, $(PROFILE))
16
17 ifdef MOBILE_DYNAMIC
18 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT
19 endif
20
21 system_core_plain_libdir = $(the_libdir_base)plaincore
22
23 ifdef MOBILE_STATIC
24 extra_test_flags := -exclude:NotWorkingInterpreter
25 system_core_library_deps = $(the_libdir_base)Mono.Dynamic.Interpreter.dll $(system_core_plain_libdir)/System.Core.dll
26 LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR
27
28 ifneq (plaincore/,$(intermediate))
29 LIB_MCS_FLAGS += -d:MONO_INTERPRETER -r:Mono.Dynamic.Interpreter.dll
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_MCS_FLAGS += -r:Mono.Posix.dll
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
76
77 #
78 # Android TimeZoneInfo testing....
79 #
80
81 tzi.exe: ../corlib/System/AndroidPlatform.cs $(wildcard System/TimeZone*.cs) ../../build/common/Consts.cs ../Mono.Options/Mono.Options/Options.cs
82         mcs /debug+ /out:$@ /unsafe "/d:INSIDE_CORLIB;MONODROID;NET_4_0;LIBC;SELF_TEST" $^
83
84 android-pull-tzdb:
85         mkdir -p android/tzdb/usr/share/zoneinfo
86         mkdir -p android/tzdb/misc/zoneinfo/zoneinfo
87         android_root=`adb shell echo '$$ANDROID_ROOT' | tr -d "\r"` ; \
88         android_data=`adb shell echo '$$ANDROID_DATA' | tr -d "\r"` ; \
89         adb $(ADB_TARGET) pull $$android_root/usr/share/zoneinfo    android/tzdb/usr/share/zoneinfo ; \
90         adb $(ADB_TARGET) pull $$android_data/misc/zoneinfo/tzdata  android/tzdb/misc/zoneinfo
91         mkdir -p android/tzdb/
92
93 android-dump-tzdata: tzi.exe android-pull-tzdb
94         __XA_OVERRIDE_TIMEZONE_ID__=America/New_York ANDROID_ROOT=`pwd` ANDROID_DATA=`pwd` mono --debug tzi.exe -o android/tzdata