Makefile 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. thisdir = class/System.Core
  2. SUBDIRS =
  3. include ../../build/rules.make
  4. LIBRARY = System.Core.dll
  5. ifeq ($(PROFILE),build)
  6. CSC_RUNTIME_FLAGS=--profile=aot:output=$(topdir)/class/lib/$(PROFILE)/csc.$(LIBRARY).aotprofile
  7. endif
  8. REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE
  9. LIB_REFS = System
  10. LIB_MCS_FLAGS = $(REFERENCE_SOURCES_FLAGS) -d:INSIDE_SYSCORE -d:LIBC -unsafe -nowarn:436
  11. TXT_RESOURCE_STRINGS =
  12. RESX_RESOURCE_STRING = \
  13. ../../../external/corefx/src/System.Linq.Expressions/src/Resources/Strings.resx \
  14. ../../../external/corefx/src/System.Linq/src/Resources/Strings.resx \
  15. ../../../external/corefx/src/System.Linq.Parallel/src/Resources/Strings.resx \
  16. ../../../external/corefx/src/System.Linq.Queryable/src/Resources/Strings.resx \
  17. ../../../external/corefx/src/System.IO.Pipes/src/Resources/Strings.resx \
  18. ../../../external/corefx/src/System.Net.Sockets/src/Resources/Strings.resx \
  19. ../../../external/corefx/src/System.Security.Cryptography.Algorithms/src/Resources/Strings.resx \
  20. ../../../external/corefx/src/System.Security.Cryptography.Cng/src/Resources/Strings.resx \
  21. ../../../external/corefx/src/System.Threading/src/Resources/Strings.resx \
  22. ../../../external/corefx/src/System.Collections/src/Resources/Strings.resx \
  23. ../../../external/corefx/src/System.IO.MemoryMappedFiles/src/Resources/Strings.resx
  24. LIBRARY_WARN_AS_ERROR = yes
  25. ifneq (2.1, $(FRAMEWORK_VERSION))
  26. LIB_MCS_FLAGS += -d:NET_3_5
  27. endif
  28. ifndef NO_SRE
  29. LIB_MCS_FLAGS += -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER
  30. else
  31. MANAGED_INTERP := $(filter orbis winaot monotouch monotouch_tv monotouch_watch, $(PROFILE))
  32. ifdef MANAGED_INTERP
  33. LIB_MCS_FLAGS += -d:NO_FEATURE_STATIC_DELEGATE,FEATURE_MAKE_RUN_METHODS
  34. PROFILE_TEST_HARNESS_EXCLUDES := $(PROFILE_TEST_HARNESS_EXCLUDES)NotWorkingLinqInterpreter,
  35. else
  36. LIB_MCS_FLAGS += -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER
  37. PROFILE_TEST_HARNESS_EXCLUDES := $(PROFILE_TEST_HARNESS_EXCLUDES)SRE,
  38. endif
  39. endif
  40. ifeq (monotouch_runtime, $(PROFILE))
  41. LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
  42. endif
  43. CC_PROFILE := $(filter monotouch% xammac, $(PROFILE))
  44. ifdef CC_PROFILE
  45. BUILT_SOURCES = \
  46. ../corlib/CommonCrypto/AesManaged.g.cs \
  47. ../corlib/CommonCrypto/AesCryptoServiceProvider.g.cs
  48. ../corlib/CommonCrypto/%.g.cs:
  49. $(MAKE) -C ../corlib/CommonCrypto
  50. endif
  51. TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
  52. XTEST_LIB_REFS = System Facades/System.Threading.Tasks Microsoft.CSharp Facades/System.Text.RegularExpressions Facades/System.Reflection Facades/System.Reflection.Extensions Facades/System.Runtime.InteropServices.RuntimeInformation Facades/System.Reflection.Emit
  53. # FEATURE_INTERPRET, FEATURE_COMPILE, NO_FEATURE_STATIC_DELEGATE
  54. XTEST_LIB_FLAGS = -unsafe -d:FEATURE_COMPILE
  55. XTEST_RESX_RESOURCE_STRING = ../../../external/corefx/src/System.Collections.Immutable/src/Resources/Strings.resx
  56. include ../../build/library.make