Makefile 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. thisdir = class/System.Core
  2. SUBDIRS =
  3. include ../../build/rules.make
  4. LIBRARY = System.Core.dll
  5. REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL,PFX_LEGACY_3_5
  6. LIB_MCS_FLAGS = $(REFERENCE_SOURCES_FLAGS) -d:INSIDE_SYSCORE -d:LIBC /r:System.dll -unsafe
  7. ifneq (2.1, $(FRAMEWORK_VERSION))
  8. LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
  9. endif
  10. MOBILE_DYNAMIC := $(filter monodroid xammac mobile, $(PROFILE))
  11. MOBILE_STATIC := $(filter mobile_static monotouch monotouch_runtime, $(PROFILE))
  12. ifdef MOBILE_DYNAMIC
  13. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT
  14. endif
  15. system_core_plain_libdir = $(the_libdir_base)plaincore
  16. ifdef MOBILE_STATIC
  17. extra_test_flags := -exclude:NotWorkingInterpreter
  18. system_core_library_deps = $(the_libdir_base)Mono.Dynamic.Interpreter.dll $(system_core_plain_libdir)/System.Core.dll
  19. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR
  20. ifneq (plaincore/,$(intermediate))
  21. LIB_MCS_FLAGS += -d:MONO_INTERPRETER -r:Mono.Dynamic.Interpreter.dll
  22. endif
  23. endif
  24. ifeq (monotouch_runtime, $(PROFILE))
  25. LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
  26. endif
  27. ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
  28. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT
  29. endif
  30. ifneq (basic, $(PROFILE))
  31. CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
  32. endif
  33. ifdef CLR_PROFILE
  34. LIB_MCS_FLAGS += -r:Mono.Posix.dll
  35. endif
  36. TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
  37. include ../../build/library.make
  38. $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
  39. .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
  40. ifneq (plaincore/,$(intermediate))
  41. $(system_core_plain_libdir)/System.Core.dll:
  42. $(MAKE) intermediate=plaincore/ $(system_core_plain_libdir)/System.Core.dll
  43. endif
  44. $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
  45. (cd ../Mono.Dynamic.Interpreter; $(MAKE))
  46. TEST_HARNESS_EXCLUDES += $(extra_test_flags)
  47. CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
  48. ifndef intermediate
  49. ifneq ($(PROFILE),basic)
  50. csproj-local:
  51. $(MAKE) csproj-local intermediate=plaincore/
  52. endif
  53. endif
  54. #
  55. # Android TimeZoneInfo testing....
  56. #
  57. tzi.exe: ../corlib/System/AndroidPlatform.cs $(wildcard System/TimeZone*.cs) ../../build/common/Consts.cs ../Mono.Options/Mono.Options/Options.cs
  58. mcs /debug+ /out:$@ /unsafe "/d:INSIDE_CORLIB;MONODROID;MOBILE;NET_4_5;NET_4_0;LIBC;SELF_TEST" $^
  59. android-pull-tzdb:
  60. mkdir -p android/tzdb/usr/share/zoneinfo
  61. mkdir -p android/tzdb/misc/zoneinfo/zoneinfo
  62. android_root=`adb shell echo '$$ANDROID_ROOT' | tr -d "\r"` ; \
  63. android_data=`adb shell echo '$$ANDROID_DATA' | tr -d "\r"` ; \
  64. adb $(ADB_TARGET) pull $$android_root/usr/share/zoneinfo android/tzdb/usr/share/zoneinfo ; \
  65. adb $(ADB_TARGET) pull $$android_data/misc/zoneinfo/tzdata android/tzdb/misc/zoneinfo
  66. android-dump-tzdata: tzi.exe android-pull-tzdb
  67. __XA_OVERRIDE_TIMEZONE_ID__=America/New_York ANDROID_ROOT="`pwd`/android/tzdb" ANDROID_DATA="`pwd`/android/tzdb" mono --debug tzi.exe -o android/tzdata