Makefile 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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,FEATURE_NETCORE
  6. LIB_REFS = System
  7. LIB_MCS_FLAGS = $(REFERENCE_SOURCES_FLAGS) -d:INSIDE_SYSCORE -d:LIBC -unsafe
  8. RESOURCE_STRINGS = ../../../external/referencesource/System.Core/System.Core.txt
  9. ifneq (2.1, $(FRAMEWORK_VERSION))
  10. LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
  11. endif
  12. MOBILE_DYNAMIC := $(filter monodroid xammac mobile, $(PROFILE))
  13. MOBILE_STATIC := $(filter mobile_static monotouch monotouch_runtime monotouch_watch, $(PROFILE))
  14. ifdef MOBILE_DYNAMIC
  15. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT
  16. endif
  17. system_core_plain_libdir = $(the_libdir_base)plaincore
  18. ifdef MOBILE_STATIC
  19. extra_test_flags := -exclude:NotWorkingInterpreter
  20. system_core_library_deps = $(the_libdir_base)Mono.Dynamic.Interpreter.dll $(system_core_plain_libdir)/System.Core.dll
  21. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR
  22. ifneq (plaincore/,$(intermediate))
  23. LIB_REFS += Mono.Dynamic.Interpreter
  24. LIB_MCS_FLAGS += -d:MONO_INTERPRETER
  25. endif
  26. endif
  27. ifeq (monotouch_runtime, $(PROFILE))
  28. LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
  29. endif
  30. ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
  31. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT
  32. endif
  33. ifneq (basic, $(PROFILE))
  34. CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
  35. endif
  36. ifdef CLR_PROFILE
  37. LIB_REFS += Mono.Posix
  38. endif
  39. TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
  40. include ../../build/library.make
  41. $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
  42. .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
  43. ifneq (plaincore/,$(intermediate))
  44. $(system_core_plain_libdir)/System.Core.dll:
  45. $(MAKE) intermediate=plaincore/ $(system_core_plain_libdir)/System.Core.dll
  46. endif
  47. $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
  48. (cd ../Mono.Dynamic.Interpreter; $(MAKE))
  49. TEST_HARNESS_EXCLUDES += $(extra_test_flags)
  50. CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
  51. ifndef intermediate
  52. ifneq ($(PROFILE),basic)
  53. csproj-local:
  54. $(MAKE) csproj-local intermediate=plaincore/
  55. endif
  56. endif