Makefile 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. TXT_RESOURCE_STRINGS = ../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. CC_PROFILE := $(filter monotouch% xammac, $(PROFILE))
  38. ifdef CC_PROFILE
  39. BUILT_SOURCES = \
  40. ../corlib/CommonCrypto/AesManaged.g.cs \
  41. ../corlib/CommonCrypto/AesCryptoServiceProvider.g.cs
  42. ../corlib/CommonCrypto/%.g.cs:
  43. $(MAKE) -C ../corlib/CommonCrypto
  44. endif
  45. TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
  46. include ../../build/library.make
  47. $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
  48. .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
  49. ifneq (plaincore/,$(intermediate))
  50. $(system_core_plain_libdir)/System.Core.dll:
  51. $(MAKE) intermediate=plaincore/ $(system_core_plain_libdir)/System.Core.dll
  52. endif
  53. $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
  54. (cd ../Mono.Dynamic.Interpreter; $(MAKE))
  55. TEST_HARNESS_EXCLUDES += $(extra_test_flags)
  56. CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
  57. ifndef intermediate
  58. ifneq ($(PROFILE),basic)
  59. csproj-local:
  60. $(MAKE) csproj-local intermediate=plaincore/
  61. endif
  62. endif