Makefile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. thisdir = class/System.Core
  2. SUBDIRS =
  3. include ../../build/rules.make
  4. LIBRARY = System.Core.dll
  5. LIB_MCS_FLAGS = -d:INSIDE_SYSCORE -d:LIBC /r:System.dll -unsafe
  6. ifneq (2.1, $(FRAMEWORK_VERSION))
  7. LIB_MCS_FLAGS += -d:NET_3_5 -nowarn:1720
  8. endif
  9. ifeq (monodroid, $(PROFILE))
  10. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,ANDROID
  11. endif
  12. ifeq (xammac, $(PROFILE))
  13. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT
  14. endif
  15. system_core_plain_libdir = $(the_libdir_base)plaincore
  16. ifeq (monotouch, $(subst _runtime,,$(PROFILE)))
  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_MCS_FLAGS += -d:MONO_INTERPRETER -r:Mono.Dynamic.Interpreter.dll
  22. endif
  23. endif
  24. ifeq (monotouch_runtime, $(PROFILE))
  25. LIB_MCS_FLAGS += -d:FULL_AOT_RUNTIME
  26. endif
  27. ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
  28. LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR,FEATURE_REFEMIT,FEATURE_PDBEMIT
  29. endif
  30. ifneq (basic, $(PROFILE))
  31. CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
  32. endif
  33. ifdef CLR_PROFILE
  34. LIB_MCS_FLAGS += -r:Mono.Posix.dll
  35. endif
  36. TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
  37. include ../../build/library.make
  38. $(the_libdir_base)System.Core.dll: $(system_core_library_deps)
  39. .NOTPARALLEL: $(system_core_plain_libdir)/System.Core.dll $(the_libdir_base)Mono.Dynamic.Interpreter.dll
  40. ifneq (plaincore/,$(intermediate))
  41. $(system_core_plain_libdir)/System.Core.dll:
  42. $(MAKE) intermediate=plaincore/ $(system_core_plain_libdir)/System.Core.dll
  43. endif
  44. $(the_libdir_base)Mono.Dynamic.Interpreter.dll:
  45. (cd ../Mono.Dynamic.Interpreter; $(MAKE))
  46. TEST_HARNESS_EXCLUDES += $(extra_test_flags)
  47. CLEAN_FILES = $(system_core_plain_libdir)/System.Core.dll
  48. ifndef intermediate
  49. ifneq ($(PROFILE),basic)
  50. csproj-local:
  51. $(MAKE) csproj-local intermediate=plaincore/
  52. endif
  53. endif