Makefile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  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. 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_REFS += Mono.Dynamic.Interpreter
  22. LIB_MCS_FLAGS += -d:MONO_INTERPRETER
  23. endif
  24. endif
  25. ifeq (monotouch_runtime, $(PROFILE))
  26. LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
  27. endif
  28. ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
  29. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT
  30. endif
  31. ifneq (basic, $(PROFILE))
  32. CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
  33. endif
  34. ifdef CLR_PROFILE
  35. LIB_REFS += Mono.Posix
  36. endif
  37. TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
  38. include ../../build/library.make
  39. $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
  40. .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
  41. ifneq (plaincore/,$(intermediate))
  42. $(system_core_plain_libdir)/System.Core.dll:
  43. $(MAKE) intermediate=plaincore/ $(system_core_plain_libdir)/System.Core.dll
  44. endif
  45. $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
  46. (cd ../Mono.Dynamic.Interpreter; $(MAKE))
  47. TEST_HARNESS_EXCLUDES += $(extra_test_flags)
  48. CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
  49. ifndef intermediate
  50. ifneq ($(PROFILE),basic)
  51. csproj-local:
  52. $(MAKE) csproj-local intermediate=plaincore/
  53. endif
  54. endif