Improve coarse-grain parallelism in the build
[mono.git] / mcs / Makefile
index b4b49b097154ce09317eac17e6d24adf4fd2f8e3..2c41d19422542526d321d8324751da2f769b1460 100644 (file)
@@ -1,15 +1,17 @@
 thisdir := .
 
-SUBDIRS := build jay mcs class nunit20 ilasm tools tests errors docs
+SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors docs
 
 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 mcs class nunit20 ilasm tools tests errors
+net_2_0_SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors docs
 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
+net_4_0_bootstrap_SUBDIRS := build mcs class tools
+net_4_0_SUBDIRS := build mcs class nunit24 ilasm tools tests errors
 
 # List of test subdirs that should pass 100%
 centum_tests := \
@@ -21,11 +23,14 @@ centum_tests := \
        class/Microsoft.JScript                                 \
        class/Mono.Posix                                        \
        class/Mono.Security                                     \
-       class/System.Messaging                                  \
+       class/System.Design                                     \
+       class/System.DirectoryServices          \
+       class/System.Drawing                            \
        class/System.Runtime.Remoting                           \
        class/System.Runtime.Serialization.Formatters.Soap      \
        class/System.Security                                   \
        class/System.ServiceProcess                             \
+       class/System.Web                                                \
        class/System.Web.Services                               \
        tests                                                   \
        errors
@@ -38,17 +43,20 @@ net_2_0_centum_tests := \
        $(centum_tests)                         \
        class/System.Core                       \
        class/System.Configuration              \
+       class/System.Data.DataSetExtensions     \
        class/System.Xml.Linq                   \
+       class/System.Transactions               \
        class/Microsoft.Build.Framework         \
        class/Microsoft.Build.Utilities         \
-       class/Microsoft.Build.Engine
-#class/Microsoft.Build.Tasks   
-#class/Mono.C5
+       class/Microsoft.Build.Engine            \
+       class/Mono.C5
+
+#      class/System.Web.Extensions
+#      class/Microsoft.Build.Tasks     
 
 # 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)
@@ -71,7 +79,7 @@ dir-check:
 
 # fun specialty targets
 
-PROFILES = default net_2_0 net_3_5
+PROFILES = net_1_1 net_2_0 net_3_5 net_4_0
 
 .PHONY: all-profiles $(STD_TARGETS:=-profiles)
 all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--%
@@ -90,13 +98,15 @@ profiles-do--run-test:
 
 # Orchestrate the bootstrap here.
 _boot_ = all clean install
+$(_boot_:%=profile-do--net_4_0--%):           profile-do--net_4_0--%:           profile-do--net_4_0_bootstrap--%
+$(_boot_:%=profile-do--net_4_0_bootstrap--%): profile-do--net_4_0_bootstrap--%: profile-do--net_2_0--%
 $(_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--%
+$(_boot_:%=profile-do--net_2_0_bootstrap--%): profile-do--net_2_0_bootstrap--%: profile-do--net_1_1_bootstrap--%
+$(_boot_:%=profile-do--net_1_1--%):           profile-do--net_1_1--%:           profile-do--net_1_1_bootstrap--%
 $(_boot_:%=profile-do--net_1_1_bootstrap--%): profile-do--net_1_1_bootstrap--%: profile-do--basic--%
 
 testcorlib:
@@ -106,7 +116,7 @@ compiler-tests:
        $(MAKE) TEST_SUBDIRS="tests errors" run-test-profiles
 
 test-installed-compiler:
-       $(MAKE) TEST_SUBDIRS="tests errors" PROFILE=default TEST_RUNTIME=mono MCS=mcs run-test
+       $(MAKE) TEST_SUBDIRS="tests errors" PROFILE=net_1_1 TEST_RUNTIME=mono MCS=mcs run-test
        $(MAKE) TEST_SUBDIRS="tests errors" PROFILE=net_2_0 TEST_RUNTIME=mono MCS=gmcs run-test
 
 package := mcs-$(VERSION)