[xbuild] Implement FileLogger . Fix #676650 .
[mono.git] / mcs / Makefile
index 7325bf422064e2d24817ce88ce85ab4a4d21d533..f65f91f6bd54dc4dcb40eb6a8ccb00e9fa376e79 100644 (file)
@@ -1,38 +1,66 @@
 thisdir := .
 
-SUBDIRS := build jay mcs class nunit20 ilasm tools tests errors docs
-DIST_ONLY_SUBDIRS := gmcs
+SUBDIRS := build jay mcs class nunit24 ilasm tools tests errors docs
+
+# Resgen is corlib specific tool
 
 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 jay gmcs class
+build_SUBDIRS := build class mcs class/aot-compiler tools
+net_2_0_SUBDIRS := build class nunit24 ilasm tools tests errors
+moonlight_raw_SUBDIRS := build class
+monodroid_SUBDIRS := build class
+monotouch_SUBDIRS := build class
+net_3_5_SUBDIRS := build class tools/xbuild
+net_4_0_SUBDIRS := build mcs class nunit24 ilasm tools tests errors docs
 
 # 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.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
 
-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.Data.DataSetExtensions     \
+       class/System.Xml.Linq                   \
+       class/System.Transactions               \
+       class/Microsoft.Build.Framework         \
+       class/Microsoft.Build.Utilities         \
+       class/Microsoft.Build.Engine            \
+       class/System.Runtime.Serialization      \
+       class/System.IdentityModel              \
+       class/System.ServiceModel               \
+       class/System.ServiceModel.Web           \
+       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
 
 ifdef ONLY_CENTUM_TESTS
 TEST_SUBDIRS := $($(PROFILE)_centum_tests)
@@ -44,15 +72,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."; exit 1; fi
+
 # fun specialty targets
 
-PROFILES = default net_2_0
+PROFILES = net_2_0 net_3_5 net_4_0
 
 .PHONY: all-profiles $(STD_TARGETS:=-profiles)
 all-profiles $(STD_TARGETS:=-profiles): %-profiles: profiles-do--%
@@ -71,10 +102,14 @@ profiles-do--run-test:
 
 # Orchestrate the bootstrap here.
 _boot_ = all clean install
-$(_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_1_1_bootstrap--%): profile-do--net_1_1_bootstrap--%: profile-do--basic--%
+$(_boot_:%=profile-do--net_4_0--%):           profile-do--net_4_0--%:           profile-do--build--%
+$(_boot_:%=profile-do--net_3_5--%):           profile-do--net_3_5--%:           profile-do--net_2_0--%
+$(_boot_:%=profile-do--moonlight--%):         profile-do--moonlight--%:         profile-do--moonlight_raw--%
+$(_boot_:%=profile-do--monodroid--%):         profile-do--monodroid--%:         profile-do--build--%
+$(_boot_:%=profile-do--monotouch--%):         profile-do--monotouch--%:         profile-do--build--%
+$(_boot_:%=profile-do--moonlight_raw--%):     profile-do--moonlight_raw--%:
+$(_boot_:%=profile-do--net_2_0--%):           profile-do--net_2_0--%:           profile-do--build--%
+$(_boot_:%=profile-do--build--%):             profile-do--build--%:             profile-do--basic--%
 
 testcorlib:
        @cd class/corlib && $(MAKE) test run-test
@@ -82,10 +117,6 @@ testcorlib:
 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_2_0 TEST_RUNTIME=mono MCS=gmcs run-test
-
 package := mcs-$(VERSION)
 
 DISTFILES = \
@@ -104,11 +135,12 @@ DISTFILES = \
        MonoIcon.png            \
        README                  \
        ScalableMonoIcon.svg    \
-       winexe.in               \
-       nunit.key
+       winexe.in
 
 dist-local: dist-default
 
+csproj-local:
+
 dist-pre:
        rm -rf $(package)
        mkdir $(package)