** Fixes part1 of #357947 - delete the row directly from Index than
[mono.git] / mcs / Makefile
index 938ac2279f89710c698e1f3a99ce3e6e56509b3e..b4b49b097154ce09317eac17e6d24adf4fd2f8e3 100644 (file)
@@ -1,38 +1,54 @@
 thisdir := .
 
 SUBDIRS := build jay mcs class nunit20 ilasm tools tests errors docs
-DIST_ONLY_SUBDIRS := gmcs
 
 basic_SUBDIRS := build jay mcs class
 net_1_1_bootstrap_SUBDIRS := build jay mcs class ilasm tools
 net_2_0_bootstrap_SUBDIRS := build jay mcs class ilasm tools
-net_2_0_SUBDIRS := build jay gmcs class nunit20 ilasm tools tests errors
-net_2_1_SUBDIRS := build smcs class tools
+net_2_0_SUBDIRS := build jay mcs class nunit20 ilasm tools tests errors
+net_2_1_bootstrap_SUBDIRS := build mcs class
+net_2_1_raw_SUBDIRS := build mcs class tools
+net_2_1_SUBDIRS := tools tests errors
+net_3_5_SUBDIRS := build class
 
 # List of test subdirs that should pass 100%
 centum_tests := \
-       class/corlib \
-       class/System \
-       class/Commons.Xml.Relaxng \
-       class/Cscompmgd \
-       class/Microsoft.JScript \
-       class/Mono.Posix \
-       class/Mono.Security \
-       class/System.Messaging \
-       class/System.Runtime.Remoting \
-       class/System.Runtime.Serialization.Formatters.Soap \
-       class/System.Security \
-       class/System.ServiceProcess \
-       class/System.Web.Services \
-       tests \
+       class/corlib                                            \
+       class/System                                            \
+       class/System.XML                                        \
+       class/Commons.Xml.Relaxng                               \
+       class/Cscompmgd                                         \
+       class/Microsoft.JScript                                 \
+       class/Mono.Posix                                        \
+       class/Mono.Security                                     \
+       class/System.Messaging                                  \
+       class/System.Runtime.Remoting                           \
+       class/System.Runtime.Serialization.Formatters.Soap      \
+       class/System.Security                                   \
+       class/System.ServiceProcess                             \
+       class/System.Web.Services                               \
+       tests                                                   \
        errors
 
-default_centum_tests :=                \
+default_centum_tests := \
        $(centum_tests)         \
-       class/System.XML        \
        class/System.Data
 
-net_2_0_centum_tests := $(centum_tests) #class/Mono.C5
+net_2_0_centum_tests := \
+       $(centum_tests)                         \
+       class/System.Core                       \
+       class/System.Configuration              \
+       class/System.Xml.Linq                   \
+       class/Microsoft.Build.Framework         \
+       class/Microsoft.Build.Utilities         \
+       class/Microsoft.Build.Engine
+#class/Microsoft.Build.Tasks   
+#class/Mono.C5
+
+# note that System.Xml.Linq is here to prevent this from being empty
+net_3_5_centum_tests := \
+       class/System.Xml.Linq
+#class/System.Web.Extensions           
 
 ifdef ONLY_CENTUM_TESTS
 TEST_SUBDIRS := $($(PROFILE)_centum_tests)
@@ -44,15 +60,18 @@ endif
 
 include build/rules.make
 
-all-recursive $(STD_TARGETS:=-recursive): platform-check profile-check
+all-recursive $(STD_TARGETS:=-recursive): dir-check platform-check profile-check
 
 .PHONY: all-local $(STD_TARGETS:=-local)
 all-local $(STD_TARGETS:=-local):
        @:
 
+dir-check:
+       @if [ "$(NO_DIR_CHECK)" = "" -a "$(PROFILE)" != "basic" ]; then echo "Running make from the mcs directory is not supported. Run make from the parent directory (if using a tarball), or from the directory where the runtime is checked out (if using an SVN checkout)."; exit 1; fi
+
 # fun specialty targets
 
-PROFILES = default net_2_0
+PROFILES = default net_2_0 net_3_5
 
 .PHONY: all-profiles $(STD_TARGETS:=-profiles)
 all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--%
@@ -71,6 +90,10 @@ profiles-do--run-test:
 
 # Orchestrate the bootstrap here.
 _boot_ = all clean install
+$(_boot_:%=profile-do--net_3_5--%):           profile-do--net_3_5--%:           profile-do--net_2_0--%
+$(_boot_:%=profile-do--net_2_1--%):           profile-do--net_2_1--%:           profile-do--net_2_1_raw--%
+$(_boot_:%=profile-do--net_2_1_raw--%):       profile-do--net_2_1_raw--%:       profile-do--net_2_1_bootstrap--%
+$(_boot_:%=profile-do--net_2_1_bootstrap--%): profile-do--net_2_1_bootstrap--%: profile-do--net_2_0--%
 $(_boot_:%=profile-do--net_2_0--%):           profile-do--net_2_0--%:           profile-do--net_2_0_bootstrap--%
 $(_boot_:%=profile-do--net_2_0_bootstrap--%): profile-do--net_2_0_bootstrap--%: profile-do--default--%
 $(_boot_:%=profile-do--default--%):           profile-do--default--%:           profile-do--net_1_1_bootstrap--%