Makefile 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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. MOBILE_NATIVE_INTERP :=
  29. ifdef MOBILE_NATIVE_INTERP
  30. LIB_MCS_FLAGS += -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER
  31. else
  32. ifdef AOT_FRIENDLY_PROFILE
  33. extra_test_flags := -exclude:NotWorkingLinqInterpreter
  34. LIB_MCS_FLAGS += -d:NO_FEATURE_STATIC_DELEGATE,FEATURE_MAKE_RUN_METHODS
  35. else
  36. LIB_MCS_FLAGS += -d:FEATURE_COMPILE,FEATURE_COMPILE_TO_METHODBUILDER,FEATURE_PDB_GENERATOR
  37. endif
  38. endif
  39. ifeq (monotouch_runtime, $(PROFILE))
  40. LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
  41. endif
  42. CC_PROFILE := $(filter monotouch% xammac, $(PROFILE))
  43. ifdef CC_PROFILE
  44. BUILT_SOURCES = \
  45. ../corlib/CommonCrypto/AesManaged.g.cs \
  46. ../corlib/CommonCrypto/AesCryptoServiceProvider.g.cs
  47. ../corlib/CommonCrypto/%.g.cs:
  48. $(MAKE) -C ../corlib/CommonCrypto
  49. endif
  50. TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
  51. 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
  52. # FEATURE_INTERPRET, FEATURE_COMPILE, NO_FEATURE_STATIC_DELEGATE
  53. XTEST_LIB_FLAGS = -unsafe -d:FEATURE_COMPILE
  54. XTEST_RESX_RESOURCE_STRING = ../../../external/corefx/src/System.Collections.Immutable/src/Resources/Strings.resx
  55. include ../../build/library.make
  56. TEST_HARNESS_EXCLUDES += $(extra_test_flags)