Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/mcs/class
diff options
context:
space:
mode:
authorZoltan Varga <vargaz@gmail.com>2015-02-27 06:27:27 +0300
committerZoltan Varga <vargaz@gmail.com>2015-02-27 06:27:27 +0300
commit37983f7fc3098e23522298e721896c559d84975a (patch)
treea47084c228f21039c04712ecd628d9a80e114dc7 /mcs/class
parent5cf4cbde3a5d18d3a2e9d8698a2f3a5798eb3152 (diff)
[build] Add dependency information for class libraries using a LIB_REFS variable which lists the assemblies a given assembly depends on to build.
Diffstat (limited to 'mcs/class')
-rw-r--r--mcs/class/Commons.Xml.Relaxng/Makefile1
-rw-r--r--mcs/class/Compat.ICSharpCode.SharpZipLib/Makefile1
-rw-r--r--mcs/class/Cscompmgd/Makefile1
-rw-r--r--mcs/class/CustomMarshalers/Makefile1
-rw-r--r--mcs/class/Facades/Makefile2
-rw-r--r--mcs/class/Facades/System.Collections.Concurrent/Makefile1
-rw-r--r--mcs/class/Facades/System.Collections/Makefile1
-rw-r--r--mcs/class/Facades/System.ComponentModel.Annotations/Makefile1
-rw-r--r--mcs/class/Facades/System.ComponentModel.EventBasedAsync/Makefile1
-rw-r--r--mcs/class/Facades/System.ComponentModel/Makefile1
-rw-r--r--mcs/class/Facades/System.Diagnostics.Debug/Makefile1
-rw-r--r--mcs/class/Facades/System.Diagnostics.Tools/Makefile1
-rw-r--r--mcs/class/Facades/System.Dynamic.Runtime/Makefile1
-rw-r--r--mcs/class/Facades/System.IO/Makefile1
-rw-r--r--mcs/class/Facades/System.Linq.Expressions/Makefile1
-rw-r--r--mcs/class/Facades/System.Linq.Parallel/Makefile1
-rw-r--r--mcs/class/Facades/System.Linq.Queryable/Makefile1
-rw-r--r--mcs/class/Facades/System.Linq/Makefile1
-rw-r--r--mcs/class/Facades/System.Net.NetworkInformation/Makefile1
-rw-r--r--mcs/class/Facades/System.Net.Primitives/Makefile1
-rw-r--r--mcs/class/Facades/System.Net.Requests/Makefile1
-rw-r--r--mcs/class/Facades/System.ObjectModel/Makefile1
-rw-r--r--mcs/class/Facades/System.Runtime.Extensions/Makefile1
-rw-r--r--mcs/class/Facades/System.Runtime.InteropServices/Makefile1
-rw-r--r--mcs/class/Facades/System.Runtime.Numerics/Makefile1
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Json/Makefile1
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Primitives/Makefile1
-rw-r--r--mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile1
-rw-r--r--mcs/class/Facades/System.Runtime/Makefile1
-rw-r--r--mcs/class/Facades/System.ServiceModel.Http/Makefile1
-rw-r--r--mcs/class/Facades/System.ServiceModel.Primitives/Makefile1
-rw-r--r--mcs/class/Facades/System.ServiceModel.Security/Makefile1
-rw-r--r--mcs/class/Facades/System.Text.RegularExpressions/Makefile1
-rw-r--r--mcs/class/Facades/System.Threading.Tasks/Makefile1
-rw-r--r--mcs/class/Facades/System.Threading.Timer/Makefile1
-rw-r--r--mcs/class/Facades/System.Threading/Makefile1
-rw-r--r--mcs/class/Facades/System.Xml.ReaderWriter/Makefile1
-rw-r--r--mcs/class/Facades/System.Xml.XDocument/Makefile1
-rw-r--r--mcs/class/Facades/System.Xml.XmlSerializer/Makefile1
-rw-r--r--mcs/class/IBM.Data.DB2/Makefile1
-rw-r--r--mcs/class/ICSharpCode.SharpZipLib/Makefile1
-rw-r--r--mcs/class/Managed.Windows.Forms/Makefile1
-rw-r--r--mcs/class/Microsoft.Build.Engine/Makefile1
-rw-r--r--mcs/class/Microsoft.Build.Framework/Makefile1
-rw-r--r--mcs/class/Microsoft.Build.Tasks/Makefile1
-rw-r--r--mcs/class/Microsoft.Build.Utilities/Makefile1
-rw-r--r--mcs/class/Microsoft.Build/Makefile1
-rw-r--r--mcs/class/Microsoft.CSharp/Makefile1
-rw-r--r--mcs/class/Microsoft.VisualC/Makefile1
-rw-r--r--mcs/class/Microsoft.Web.Infrastructure/Makefile1
-rw-r--r--mcs/class/Mono.C5/Makefile1
-rw-r--r--mcs/class/Mono.C5/UserGuideExamples/Makefile54
-rw-r--r--mcs/class/Mono.CSharp/Makefile1
-rw-r--r--[-rwxr-xr-x]mcs/class/Mono.Cairo/Samples/gtk/Makefile0
-rw-r--r--[-rwxr-xr-x]mcs/class/Mono.Cairo/Samples/png/Makefile0
-rw-r--r--[-rwxr-xr-x]mcs/class/Mono.Cairo/Samples/win32/Makefile0
-rw-r--r--[-rwxr-xr-x]mcs/class/Mono.Cairo/Samples/x11/Makefile0
-rw-r--r--mcs/class/Mono.Cecil.Mdb/Makefile1
-rw-r--r--mcs/class/Mono.Cecil/Makefile1
-rw-r--r--mcs/class/Mono.CodeContracts/Makefile1
-rw-r--r--mcs/class/Mono.CompilerServices.SymbolWriter/Makefile3
-rw-r--r--mcs/class/Mono.Data.Sqlite/Makefile1
-rw-r--r--mcs/class/Mono.Data.Tds/Makefile1
-rw-r--r--mcs/class/Mono.Debugger.Soft/Makefile1
-rw-r--r--mcs/class/Mono.Directory.LDAP/Makefile1
-rw-r--r--mcs/class/Mono.Dynamic.Interpreter/Makefile1
-rw-r--r--mcs/class/Mono.Http/Makefile1
-rw-r--r--mcs/class/Mono.Management/Makefile1
-rw-r--r--mcs/class/Mono.Messaging.RabbitMQ/Makefile3
-rw-r--r--mcs/class/Mono.Messaging/Makefile1
-rw-r--r--mcs/class/Mono.Options/Makefile1
-rw-r--r--mcs/class/Mono.Parallel/Makefile1
-rw-r--r--mcs/class/Mono.Posix/Makefile1
-rw-r--r--mcs/class/Mono.Reactive.Testing/Makefile1
-rw-r--r--mcs/class/Mono.Security/Makefile3
-rw-r--r--mcs/class/Mono.ServiceModel.IdentitySelectors/Makefile1
-rw-r--r--mcs/class/Mono.Simd/Makefile1
-rw-r--r--mcs/class/Mono.WebBrowser/Makefile1
-rw-r--r--mcs/class/Mono.XBuild.Tasks/Makefile1
-rw-r--r--mcs/class/Mono.Xml.Ext/Makefile1
-rw-r--r--mcs/class/Novell.Directory.Ldap/Makefile1
-rw-r--r--mcs/class/PEAPI/Makefile1
-rw-r--r--mcs/class/RabbitMQ.Client/src/client/Makefile1
-rw-r--r--mcs/class/System.ComponentModel.Composition.4.5/Makefile1
-rw-r--r--mcs/class/System.ComponentModel.DataAnnotations/Makefile1
-rw-r--r--mcs/class/System.Configuration.Install/Makefile1
-rw-r--r--mcs/class/System.Configuration/Makefile1
-rw-r--r--mcs/class/System.Core/Makefile3
-rw-r--r--mcs/class/System.Data.DataSetExtensions/Makefile1
-rw-r--r--mcs/class/System.Data.Entity/Makefile1
-rw-r--r--[-rwxr-xr-x]mcs/class/System.Data.Linq/Makefile1
-rw-r--r--mcs/class/System.Data.Linq/src/DbLinq/System.Data.Linq/Makefile41
-rw-r--r--mcs/class/System.Data.OracleClient/Makefile1
-rw-r--r--mcs/class/System.Data.Services.Client/Makefile2
-rw-r--r--mcs/class/System.Data.Services/Makefile2
-rw-r--r--mcs/class/System.Data/Makefile3
-rw-r--r--mcs/class/System.Design/Makefile1
-rw-r--r--mcs/class/System.DirectoryServices.Protocols/Makefile1
-rw-r--r--mcs/class/System.DirectoryServices/Makefile1
-rw-r--r--mcs/class/System.Drawing.Design/Makefile1
-rw-r--r--mcs/class/System.Drawing/Makefile1
-rw-r--r--mcs/class/System.Dynamic/Makefile1
-rw-r--r--mcs/class/System.EnterpriseServices/Makefile1
-rw-r--r--mcs/class/System.IO.Compression.FileSystem/Makefile1
-rw-r--r--mcs/class/System.IO.Compression/Makefile1
-rw-r--r--[-rwxr-xr-x]mcs/class/System.IdentityModel.Selectors/Makefile1
-rw-r--r--mcs/class/System.IdentityModel/Makefile1
-rw-r--r--mcs/class/System.Interactive.Async/Makefile1
-rw-r--r--mcs/class/System.Interactive.Providers/Makefile1
-rw-r--r--mcs/class/System.Interactive/Makefile1
-rw-r--r--mcs/class/System.Json.Microsoft/Makefile2
-rw-r--r--mcs/class/System.Json/Makefile1
-rw-r--r--mcs/class/System.Management/Makefile1
-rw-r--r--mcs/class/System.Messaging/Makefile1
-rw-r--r--mcs/class/System.Net.Http.Formatting/Makefile3
-rw-r--r--mcs/class/System.Net.Http.WebRequest/Makefile1
-rw-r--r--mcs/class/System.Net.Http/Makefile1
-rw-r--r--mcs/class/System.Net/Makefile1
-rw-r--r--mcs/class/System.Numerics/Makefile1
-rw-r--r--mcs/class/System.Reactive.Core/Makefile1
-rw-r--r--mcs/class/System.Reactive.Debugger/Makefile1
-rw-r--r--mcs/class/System.Reactive.Experimental/Makefile1
-rw-r--r--mcs/class/System.Reactive.Interfaces/Makefile1
-rw-r--r--mcs/class/System.Reactive.Linq/Makefile1
-rw-r--r--mcs/class/System.Reactive.Observable.Aliases/Makefile1
-rw-r--r--mcs/class/System.Reactive.PlatformServices/Makefile1
-rw-r--r--mcs/class/System.Reactive.Providers/Makefile1
-rw-r--r--mcs/class/System.Reactive.Runtime.Remoting/Makefile1
-rw-r--r--mcs/class/System.Reactive.Windows.Forms/Makefile1
-rw-r--r--mcs/class/System.Reactive.Windows.Threading/Makefile1
-rw-r--r--mcs/class/System.Runtime.Caching/Makefile1
-rw-r--r--mcs/class/System.Runtime.DurableInstancing/Makefile1
-rw-r--r--mcs/class/System.Runtime.Remoting/Makefile1
-rw-r--r--mcs/class/System.Runtime.Serialization.Formatters.Soap/Makefile1
-rw-r--r--mcs/class/System.Runtime.Serialization.Json/Makefile1
-rw-r--r--mcs/class/System.Runtime.Serialization/Makefile2
-rw-r--r--mcs/class/System.Security/Makefile1
-rw-r--r--mcs/class/System.ServiceModel.Activation/Makefile3
-rw-r--r--mcs/class/System.ServiceModel.Discovery/Makefile2
-rw-r--r--mcs/class/System.ServiceModel.Routing/Makefile2
-rw-r--r--mcs/class/System.ServiceModel.Syndication/Makefile3
-rw-r--r--mcs/class/System.ServiceModel.Web.Extensions/Makefile3
-rw-r--r--mcs/class/System.ServiceModel.Web/Makefile3
-rw-r--r--[-rwxr-xr-x]mcs/class/System.ServiceModel/Makefile7
-rw-r--r--mcs/class/System.ServiceProcess/Makefile1
-rw-r--r--mcs/class/System.Threading.Tasks.Dataflow/Makefile1
-rw-r--r--mcs/class/System.Transactions/Makefile2
-rw-r--r--mcs/class/System.Web.Abstractions/Makefile1
-rw-r--r--mcs/class/System.Web.ApplicationServices/Makefile1
-rw-r--r--mcs/class/System.Web.DynamicData/Makefile2
-rw-r--r--mcs/class/System.Web.Extensions.Design/Makefile1
-rw-r--r--mcs/class/System.Web.Extensions/Makefile1
-rw-r--r--mcs/class/System.Web.Http.SelfHost/Makefile3
-rw-r--r--mcs/class/System.Web.Http.WebHost/Makefile1
-rw-r--r--mcs/class/System.Web.Http/Makefile3
-rw-r--r--mcs/class/System.Web.Mvc3/Makefile1
-rw-r--r--mcs/class/System.Web.Razor/Makefile1
-rw-r--r--mcs/class/System.Web.Routing/Makefile1
-rw-r--r--mcs/class/System.Web.Services/Makefile3
-rw-r--r--mcs/class/System.Web.WebPages.Deployment/Makefile1
-rw-r--r--mcs/class/System.Web.WebPages.Razor/Makefile1
-rw-r--r--mcs/class/System.Web.WebPages/Makefile1
-rw-r--r--mcs/class/System.Web/Makefile2
-rw-r--r--mcs/class/System.Windows.Forms.DataVisualization/Makefile41
-rw-r--r--mcs/class/System.Windows/Makefile1
-rw-r--r--mcs/class/System.XML/Makefile1
-rw-r--r--mcs/class/System.Xaml/Makefile1
-rw-r--r--mcs/class/System.Xml.Linq/Makefile1
-rw-r--r--mcs/class/System.Xml.Serialization/Makefile1
-rw-r--r--mcs/class/System/Makefile2
-rw-r--r--mcs/class/SystemWebTestShim/Makefile1
-rw-r--r--mcs/class/WebMatrix.Data/Makefile1
-rw-r--r--mcs/class/WindowsBase/Makefile2
-rw-r--r--mcs/class/monodoc/Makefile1
174 files changed, 271 insertions, 76 deletions
diff --git a/mcs/class/Commons.Xml.Relaxng/Makefile b/mcs/class/Commons.Xml.Relaxng/Makefile
index 5e9c85d4b35..266909d1864 100644
--- a/mcs/class/Commons.Xml.Relaxng/Makefile
+++ b/mcs/class/Commons.Xml.Relaxng/Makefile
@@ -7,6 +7,7 @@ RESOURCE_FILES = resources/relaxng.rng
OTHER_RES = $(RESOURCE_FILES)
LIBRARY = Commons.Xml.Relaxng.dll
+LIB_REFS = System System.Xml
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll \
$(foreach r, $(OTHER_RES), /resource:$(r),$(notdir $(r)))
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169
diff --git a/mcs/class/Compat.ICSharpCode.SharpZipLib/Makefile b/mcs/class/Compat.ICSharpCode.SharpZipLib/Makefile
index fc5c44de7f1..5a403c2d4c7 100644
--- a/mcs/class/Compat.ICSharpCode.SharpZipLib/Makefile
+++ b/mcs/class/Compat.ICSharpCode.SharpZipLib/Makefile
@@ -7,6 +7,7 @@ LIBRARY_NAME = ICSharpCode.SharpZipLib.dll
LIBRARY_COMPAT = yes
LIBRARY_SNK = SharpZipLib.key
+LIB_REFS = System System.Xml
LIB_MCS_FLAGS = -r:$(corlib) -r:System.dll -r:System.Xml.dll
NO_TEST = yes
EXTRA_DISTFILES = SharpZipLib.pub $(LIBRARY_SNK)
diff --git a/mcs/class/Cscompmgd/Makefile b/mcs/class/Cscompmgd/Makefile
index bb75887ab33..f441316fed4 100644
--- a/mcs/class/Cscompmgd/Makefile
+++ b/mcs/class/Cscompmgd/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Cscompmgd.dll
+LIB_REFS = System
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169
LIBRARY_NAME = cscompmgd.dll
diff --git a/mcs/class/CustomMarshalers/Makefile b/mcs/class/CustomMarshalers/Makefile
index eb350f8bb0a..afe94b71fba 100644
--- a/mcs/class/CustomMarshalers/Makefile
+++ b/mcs/class/CustomMarshalers/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = CustomMarshalers.dll
+LIB_REFS = System
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
NO_TEST = yes
diff --git a/mcs/class/Facades/Makefile b/mcs/class/Facades/Makefile
index ffdea4c751c..f4291c1f3de 100644
--- a/mcs/class/Facades/Makefile
+++ b/mcs/class/Facades/Makefile
@@ -51,4 +51,4 @@ doc-update-local:
@echo "not doing docs"
doc-update-recursive:
- @echo "do not recurse the Facades folder" \ No newline at end of file
+ @echo "do not recurse the Facades folder"
diff --git a/mcs/class/Facades/System.Collections.Concurrent/Makefile b/mcs/class/Facades/System.Collections.Concurrent/Makefile
index d0e3fdf6086..ab914f5253f 100644
--- a/mcs/class/Facades/System.Collections.Concurrent/Makefile
+++ b/mcs/class/Facades/System.Collections.Concurrent/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Collections.Concurrent.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Collections/Makefile b/mcs/class/Facades/System.Collections/Makefile
index 7169319ecf7..adc3c372e4f 100644
--- a/mcs/class/Facades/System.Collections/Makefile
+++ b/mcs/class/Facades/System.Collections/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Collections.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.ComponentModel.Annotations/Makefile b/mcs/class/Facades/System.ComponentModel.Annotations/Makefile
index c3bc1f9dc53..9784328aed3 100644
--- a/mcs/class/Facades/System.ComponentModel.Annotations/Makefile
+++ b/mcs/class/Facades/System.ComponentModel.Annotations/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.ComponentModel.Annotations.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.ComponentModel.DataAnnotations
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.ComponentModel.DataAnnotations
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.ComponentModel.EventBasedAsync/Makefile b/mcs/class/Facades/System.ComponentModel.EventBasedAsync/Makefile
index acd577cbc3b..04e3392f1d3 100644
--- a/mcs/class/Facades/System.ComponentModel.EventBasedAsync/Makefile
+++ b/mcs/class/Facades/System.ComponentModel.EventBasedAsync/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.ComponentModel.EventBasedAsync.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.ComponentModel/Makefile b/mcs/class/Facades/System.ComponentModel/Makefile
index 715e92db807..eeb6e308061 100644
--- a/mcs/class/Facades/System.ComponentModel/Makefile
+++ b/mcs/class/Facades/System.ComponentModel/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.ComponentModel.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Diagnostics.Debug/Makefile b/mcs/class/Facades/System.Diagnostics.Debug/Makefile
index 024f0d65572..5b404573c0f 100644
--- a/mcs/class/Facades/System.Diagnostics.Debug/Makefile
+++ b/mcs/class/Facades/System.Diagnostics.Debug/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Diagnostics.Debug.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Diagnostics.Tools/Makefile b/mcs/class/Facades/System.Diagnostics.Tools/Makefile
index 2a448a77119..219061c0dd9 100644
--- a/mcs/class/Facades/System.Diagnostics.Tools/Makefile
+++ b/mcs/class/Facades/System.Diagnostics.Tools/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Diagnostics.Tools.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Dynamic.Runtime/Makefile b/mcs/class/Facades/System.Dynamic.Runtime/Makefile
index 393bc9dcd50..35d6a3a58d8 100644
--- a/mcs/class/Facades/System.Dynamic.Runtime/Makefile
+++ b/mcs/class/Facades/System.Dynamic.Runtime/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Dynamic.Runtime.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Core System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.IO/Makefile b/mcs/class/Facades/System.IO/Makefile
index 221291d4c52..320c330f216 100644
--- a/mcs/class/Facades/System.IO/Makefile
+++ b/mcs/class/Facades/System.IO/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.IO.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Linq.Expressions/Makefile b/mcs/class/Facades/System.Linq.Expressions/Makefile
index 60b5140e37b..d5a64564c82 100644
--- a/mcs/class/Facades/System.Linq.Expressions/Makefile
+++ b/mcs/class/Facades/System.Linq.Expressions/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Linq.Expressions.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Linq.Parallel/Makefile b/mcs/class/Facades/System.Linq.Parallel/Makefile
index 54a937f7ed1..9f6d2040dae 100644
--- a/mcs/class/Facades/System.Linq.Parallel/Makefile
+++ b/mcs/class/Facades/System.Linq.Parallel/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Linq.Parallel.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Linq.Queryable/Makefile b/mcs/class/Facades/System.Linq.Queryable/Makefile
index 270601149d5..0464bf4b49b 100644
--- a/mcs/class/Facades/System.Linq.Queryable/Makefile
+++ b/mcs/class/Facades/System.Linq.Queryable/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Linq.Queryable.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Linq/Makefile b/mcs/class/Facades/System.Linq/Makefile
index b08a8a3798c..1e4a7346bd1 100644
--- a/mcs/class/Facades/System.Linq/Makefile
+++ b/mcs/class/Facades/System.Linq/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Linq.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Net.NetworkInformation/Makefile b/mcs/class/Facades/System.Net.NetworkInformation/Makefile
index 2168babf390..1feda6e8465 100644
--- a/mcs/class/Facades/System.Net.NetworkInformation/Makefile
+++ b/mcs/class/Facades/System.Net.NetworkInformation/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Net.NetworkInformation.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Net.Primitives/Makefile b/mcs/class/Facades/System.Net.Primitives/Makefile
index db960f49310..28b8a409e35 100644
--- a/mcs/class/Facades/System.Net.Primitives/Makefile
+++ b/mcs/class/Facades/System.Net.Primitives/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Net.Primitives.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Net.Requests/Makefile b/mcs/class/Facades/System.Net.Requests/Makefile
index 35d7d842f60..18dd7b53a17 100644
--- a/mcs/class/Facades/System.Net.Requests/Makefile
+++ b/mcs/class/Facades/System.Net.Requests/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Net.Requests.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.ObjectModel/Makefile b/mcs/class/Facades/System.ObjectModel/Makefile
index 6f9294289b0..e520e1f9d03 100644
--- a/mcs/class/Facades/System.ObjectModel/Makefile
+++ b/mcs/class/Facades/System.ObjectModel/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.ObjectModel.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Runtime.Extensions/Makefile b/mcs/class/Facades/System.Runtime.Extensions/Makefile
index 489c457dc9c..d14fd6e4c92 100644
--- a/mcs/class/Facades/System.Runtime.Extensions/Makefile
+++ b/mcs/class/Facades/System.Runtime.Extensions/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Runtime.Extensions.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Runtime.InteropServices/Makefile b/mcs/class/Facades/System.Runtime.InteropServices/Makefile
index b3e4a41c80e..5dd0ef5b7c7 100644
--- a/mcs/class/Facades/System.Runtime.InteropServices/Makefile
+++ b/mcs/class/Facades/System.Runtime.InteropServices/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Runtime.InteropServices.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Runtime.Numerics/Makefile b/mcs/class/Facades/System.Runtime.Numerics/Makefile
index b21abddbabe..b132ed2556e 100644
--- a/mcs/class/Facades/System.Runtime.Numerics/Makefile
+++ b/mcs/class/Facades/System.Runtime.Numerics/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Runtime.Numerics.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Numerics
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Numerics
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Json/Makefile b/mcs/class/Facades/System.Runtime.Serialization.Json/Makefile
index 30bc06f1d19..a12423d2ed1 100644
--- a/mcs/class/Facades/System.Runtime.Serialization.Json/Makefile
+++ b/mcs/class/Facades/System.Runtime.Serialization.Json/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Runtime.Serialization.Json.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Runtime.Serialization
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Runtime.Serialization
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Primitives/Makefile b/mcs/class/Facades/System.Runtime.Serialization.Primitives/Makefile
index 403f973fba7..f57407c5bb2 100644
--- a/mcs/class/Facades/System.Runtime.Serialization.Primitives/Makefile
+++ b/mcs/class/Facades/System.Runtime.Serialization.Primitives/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Runtime.Serialization.Primitives.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Runtime.Serialization
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Runtime.Serialization
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile b/mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile
index cf4c9ab90eb..ca60386b8c0 100644
--- a/mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile
+++ b/mcs/class/Facades/System.Runtime.Serialization.Xml/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Runtime.Serialization.Xml.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Runtime.Serialization System.Xml
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Runtime.Serialization /r:System.Xml
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Runtime/Makefile b/mcs/class/Facades/System.Runtime/Makefile
index 72ada093b09..472a03ba483 100644
--- a/mcs/class/Facades/System.Runtime/Makefile
+++ b/mcs/class/Facades/System.Runtime/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Runtime.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System System.ComponentModel.Composition System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System /r:System.ComponentModel.Composition /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.ServiceModel.Http/Makefile b/mcs/class/Facades/System.ServiceModel.Http/Makefile
index b709ac623e3..6b96b54e88e 100644
--- a/mcs/class/Facades/System.ServiceModel.Http/Makefile
+++ b/mcs/class/Facades/System.ServiceModel.Http/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.ServiceModel.Http.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.ServiceModel
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.ServiceModel
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.ServiceModel.Primitives/Makefile b/mcs/class/Facades/System.ServiceModel.Primitives/Makefile
index 5391e8cdef3..7831922794f 100644
--- a/mcs/class/Facades/System.ServiceModel.Primitives/Makefile
+++ b/mcs/class/Facades/System.ServiceModel.Primitives/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.ServiceModel.Primitives.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.ServiceModel System.Xml
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.ServiceModel /r:System.Xml
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.ServiceModel.Security/Makefile b/mcs/class/Facades/System.ServiceModel.Security/Makefile
index b021efff57f..a419407aefd 100644
--- a/mcs/class/Facades/System.ServiceModel.Security/Makefile
+++ b/mcs/class/Facades/System.ServiceModel.Security/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.ServiceModel.Security.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.ServiceModel
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.ServiceModel
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Text.RegularExpressions/Makefile b/mcs/class/Facades/System.Text.RegularExpressions/Makefile
index 24cd5d7fce2..413a998ce93 100644
--- a/mcs/class/Facades/System.Text.RegularExpressions/Makefile
+++ b/mcs/class/Facades/System.Text.RegularExpressions/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Text.RegularExpressions.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Threading.Tasks/Makefile b/mcs/class/Facades/System.Threading.Tasks/Makefile
index 2358e77f0ff..92b4e340cf9 100644
--- a/mcs/class/Facades/System.Threading.Tasks/Makefile
+++ b/mcs/class/Facades/System.Threading.Tasks/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Threading.Tasks.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Threading.Timer/Makefile b/mcs/class/Facades/System.Threading.Timer/Makefile
index a92246dd75b..06092a05d76 100644
--- a/mcs/class/Facades/System.Threading.Timer/Makefile
+++ b/mcs/class/Facades/System.Threading.Timer/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Threading.Timer.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Threading/Makefile b/mcs/class/Facades/System.Threading/Makefile
index 62788e4c86f..6fdd0e2522c 100644
--- a/mcs/class/Facades/System.Threading/Makefile
+++ b/mcs/class/Facades/System.Threading/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Threading.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System /r:System.Core
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Xml.ReaderWriter/Makefile b/mcs/class/Facades/System.Xml.ReaderWriter/Makefile
index 57feb51f2aa..516f1a9e0f7 100644
--- a/mcs/class/Facades/System.Xml.ReaderWriter/Makefile
+++ b/mcs/class/Facades/System.Xml.ReaderWriter/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Xml.ReaderWriter.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Xml
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Xml
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Xml.XDocument/Makefile b/mcs/class/Facades/System.Xml.XDocument/Makefile
index 2f2aa6fabdd..a09253862e7 100644
--- a/mcs/class/Facades/System.Xml.XDocument/Makefile
+++ b/mcs/class/Facades/System.Xml.XDocument/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Xml.XDocument.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Xml.Linq System.Xml
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Xml.Linq /r:System.Xml
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/Facades/System.Xml.XmlSerializer/Makefile b/mcs/class/Facades/System.Xml.XmlSerializer/Makefile
index c627fca3050..72c9e6bd19b 100644
--- a/mcs/class/Facades/System.Xml.XmlSerializer/Makefile
+++ b/mcs/class/Facades/System.Xml.XmlSerializer/Makefile
@@ -11,6 +11,7 @@ LIBRARY = System.Xml.XmlSerializer.dll
KEY_FILE = ../../msfinal.pub
SIGN_FLAGS = /delaysign /keyfile:$(KEY_FILE) /nowarn:1616,1699
+LIB_REFS = System.Xml
LIB_MCS_FLAGS = $(SIGN_FLAGS) /r:mscorlib /r:System.Xml
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/IBM.Data.DB2/Makefile b/mcs/class/IBM.Data.DB2/Makefile
index abdcbe6b2cd..762247da8b6 100644
--- a/mcs/class/IBM.Data.DB2/Makefile
+++ b/mcs/class/IBM.Data.DB2/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = IBM.Data.DB2.dll
+LIB_REFS = System System.Xml System.Data
LIB_MCS_FLAGS = /unsafe /r:$(corlib) /r:System.dll \
/r:System.Xml.dll /r:System.Data.dll -warn:1
NO_TEST = yes
diff --git a/mcs/class/ICSharpCode.SharpZipLib/Makefile b/mcs/class/ICSharpCode.SharpZipLib/Makefile
index 263107e9e5e..b23d04b2628 100644
--- a/mcs/class/ICSharpCode.SharpZipLib/Makefile
+++ b/mcs/class/ICSharpCode.SharpZipLib/Makefile
@@ -5,6 +5,7 @@ include ../../build/rules.make
LIBRARY = ICSharpCode.SharpZipLib.dll
LIBRARY_SNK = SharpZipLib.key
+LIB_REFS = System System.Xml
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll -warn:1
NO_TEST = yes
EXTRA_DISTFILES = SharpZipLib.pub $(LIBRARY_SNK)
diff --git a/mcs/class/Managed.Windows.Forms/Makefile b/mcs/class/Managed.Windows.Forms/Makefile
index 556fab1dc33..268ca1cdef3 100644
--- a/mcs/class/Managed.Windows.Forms/Makefile
+++ b/mcs/class/Managed.Windows.Forms/Makefile
@@ -3,6 +3,7 @@ include ../../build/rules.make
LIBRARY = System.Windows.Forms.dll
+LIB_REFS = System System.Xml System.Drawing Accessibility System.Data Mono.Posix Mono.WebBrowser System.Configuration System.Runtime.Serialization.Formatters.Soap
LIB_MCS_FLAGS = /unsafe \
/r:$(corlib) /r:System.dll /r:System.Xml.dll \
/r:System.Drawing.dll /r:Accessibility.dll \
diff --git a/mcs/class/Microsoft.Build.Engine/Makefile b/mcs/class/Microsoft.Build.Engine/Makefile
index 04f9e66dac5..a5cb54df409 100644
--- a/mcs/class/Microsoft.Build.Engine/Makefile
+++ b/mcs/class/Microsoft.Build.Engine/Makefile
@@ -7,6 +7,7 @@ include $(XBUILD_DIR)/xbuild.make
LIBRARY = Microsoft.Build.Engine.dll
+LIB_REFS = System System.Core System.Xml
LIB_MCS_FLAGS = \
/r:$(corlib) \
/r:System.dll \
diff --git a/mcs/class/Microsoft.Build.Framework/Makefile b/mcs/class/Microsoft.Build.Framework/Makefile
index 73f43fb74c7..779dc9e2fd4 100644
--- a/mcs/class/Microsoft.Build.Framework/Makefile
+++ b/mcs/class/Microsoft.Build.Framework/Makefile
@@ -7,6 +7,7 @@ include $(XBUILD_DIR)/xbuild.make
LIBRARY = Microsoft.Build.Framework.dll
+LIB_REFS = System
LIB_MCS_FLAGS = \
/r:$(corlib) \
/r:System.dll
diff --git a/mcs/class/Microsoft.Build.Tasks/Makefile b/mcs/class/Microsoft.Build.Tasks/Makefile
index 5ba2288ff2d..66b74a84728 100644
--- a/mcs/class/Microsoft.Build.Tasks/Makefile
+++ b/mcs/class/Microsoft.Build.Tasks/Makefile
@@ -9,6 +9,7 @@ LIBRARY = Microsoft.Build.Tasks.dll
LIBRARY_NAME = Microsoft.Build.Tasks$(NAME_SUFFIX).dll
+LIB_REFS = System System.Core System.Xml System.Windows.Forms
LIB_MCS_FLAGS = \
/r:$(corlib) \
/r:System.dll \
diff --git a/mcs/class/Microsoft.Build.Utilities/Makefile b/mcs/class/Microsoft.Build.Utilities/Makefile
index b47b09a5344..cef01f61c75 100644
--- a/mcs/class/Microsoft.Build.Utilities/Makefile
+++ b/mcs/class/Microsoft.Build.Utilities/Makefile
@@ -8,6 +8,7 @@ include $(XBUILD_DIR)/xbuild.make
LIBRARY = Microsoft.Build.Utilities.dll
LIBRARY_NAME = Microsoft.Build.Utilities$(NAME_SUFFIX).dll
+LIB_REFS = System System.Core System.Xml
LIB_MCS_FLAGS = \
/r:$(corlib) \
/r:System.dll \
diff --git a/mcs/class/Microsoft.Build/Makefile b/mcs/class/Microsoft.Build/Makefile
index df521a857cb..68cd09eb043 100644
--- a/mcs/class/Microsoft.Build/Makefile
+++ b/mcs/class/Microsoft.Build/Makefile
@@ -7,6 +7,7 @@ include $(XBUILD_DIR)/xbuild.make
LIBRARY = Microsoft.Build.dll
+LIB_REFS = System System.Core System.Xml Microsoft.Build.Engine Microsoft.Build.Framework
LIB_MCS_FLAGS = \
/r:$(corlib) \
/r:System.dll \
diff --git a/mcs/class/Microsoft.CSharp/Makefile b/mcs/class/Microsoft.CSharp/Makefile
index 1b89893cb9d..35c1b117ee0 100644
--- a/mcs/class/Microsoft.CSharp/Makefile
+++ b/mcs/class/Microsoft.CSharp/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Microsoft.CSharp.dll
+LIB_REFS = System.Core Mono.CSharp
LIB_MCS_FLAGS = -r:System.Core.dll -r:Mono.CSharp.dll
include ../../build/library.make
diff --git a/mcs/class/Microsoft.VisualC/Makefile b/mcs/class/Microsoft.VisualC/Makefile
index 52e39501418..c454767d4bc 100644
--- a/mcs/class/Microsoft.VisualC/Makefile
+++ b/mcs/class/Microsoft.VisualC/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Microsoft.VisualC.dll
+LIB_REFS = System
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
NO_TEST = yes
diff --git a/mcs/class/Microsoft.Web.Infrastructure/Makefile b/mcs/class/Microsoft.Web.Infrastructure/Makefile
index 74be7001329..4d5cc6ee11d 100644
--- a/mcs/class/Microsoft.Web.Infrastructure/Makefile
+++ b/mcs/class/Microsoft.Web.Infrastructure/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Microsoft.Web.Infrastructure.dll
+LIB_REFS = System System.Configuration System.Web
LIB_MCS_FLAGS = -r:System.dll \
-r:System.Configuration.dll \
-r:System.Web.dll
diff --git a/mcs/class/Mono.C5/Makefile b/mcs/class/Mono.C5/Makefile
index 9f0fdfac6be..7f23e3a28db 100644
--- a/mcs/class/Mono.C5/Makefile
+++ b/mcs/class/Mono.C5/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Mono.C5.dll
LIBRARY_SNK = c5.snk
+LIB_REFS = System
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll -nowarn:169,219,414,1030,3001,3005,3006
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169
diff --git a/mcs/class/Mono.C5/UserGuideExamples/Makefile b/mcs/class/Mono.C5/UserGuideExamples/Makefile
index a2db8fc60fd..f712ebe7970 100644
--- a/mcs/class/Mono.C5/UserGuideExamples/Makefile
+++ b/mcs/class/Mono.C5/UserGuideExamples/Makefile
@@ -1,27 +1,27 @@
-# Makefile for C5 book examples
-
-USERGUIDEFILES= Anagrams.cs Antipatterns.cs CollectionSanity.cs EventPatterns.cs \
- Fileindex.cs GConvexHull.cs GNfaToDfa.cs GettingStarted.cs \
- Graph.cs Graphcopy.cs HashCodes.cs Jobqueue.cs \
- KeywordRecognition.cs ListPatterns.cs ListPatterns.cs \
- Locking.cs MultiDictionary.cs PointLocation.cs \
- RandomSelection.cs ReadOnlyPatterns.cs Sets.cs \
- SortedIterationPatterns.cs SortedIterationPatterns.cs \
- SortingPermutation.cs Toposort.cs ViewPatterns.cs WrappedArray.cs
-
-all: c5examples.zip
-
-c5examples.zip: ${USERGUIDEFILES}
- rm -f C5.examples.zip
- zip C5.examples.zip ${USERGUIDEFILES}
-
-clean:
- rm -f C5.examples.zip
- rm -f *.dot
- rm -f *.exe
- rm -f *.ps
- rm -f *.eps
-
-.SUFFIXES :
-.SUFFIXES : .cs
-
+# Makefile for C5 book examples
+
+USERGUIDEFILES= Anagrams.cs Antipatterns.cs CollectionSanity.cs EventPatterns.cs \
+ Fileindex.cs GConvexHull.cs GNfaToDfa.cs GettingStarted.cs \
+ Graph.cs Graphcopy.cs HashCodes.cs Jobqueue.cs \
+ KeywordRecognition.cs ListPatterns.cs ListPatterns.cs \
+ Locking.cs MultiDictionary.cs PointLocation.cs \
+ RandomSelection.cs ReadOnlyPatterns.cs Sets.cs \
+ SortedIterationPatterns.cs SortedIterationPatterns.cs \
+ SortingPermutation.cs Toposort.cs ViewPatterns.cs WrappedArray.cs
+
+all: c5examples.zip
+
+c5examples.zip: ${USERGUIDEFILES}
+ rm -f C5.examples.zip
+ zip C5.examples.zip ${USERGUIDEFILES}
+
+clean:
+ rm -f C5.examples.zip
+ rm -f *.dot
+ rm -f *.exe
+ rm -f *.ps
+ rm -f *.eps
+
+.SUFFIXES :
+.SUFFIXES : .cs
+
diff --git a/mcs/class/Mono.CSharp/Makefile b/mcs/class/Mono.CSharp/Makefile
index 35ee0a302bc..f8e26f18ba1 100644
--- a/mcs/class/Mono.CSharp/Makefile
+++ b/mcs/class/Mono.CSharp/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Mono.CSharp.dll
+LIB_REFS = System.Core System.Xml System
LIB_MCS_FLAGS = -r:System.Core.dll -r:System.Xml.dll -r:System.dll
MOBILE_STATIC := $(filter mobile_static monotouch, $(PROFILE))
diff --git a/mcs/class/Mono.Cairo/Samples/gtk/Makefile b/mcs/class/Mono.Cairo/Samples/gtk/Makefile
index 52d41c4f805..52d41c4f805 100755..100644
--- a/mcs/class/Mono.Cairo/Samples/gtk/Makefile
+++ b/mcs/class/Mono.Cairo/Samples/gtk/Makefile
diff --git a/mcs/class/Mono.Cairo/Samples/png/Makefile b/mcs/class/Mono.Cairo/Samples/png/Makefile
index 6ba7c74f1a2..6ba7c74f1a2 100755..100644
--- a/mcs/class/Mono.Cairo/Samples/png/Makefile
+++ b/mcs/class/Mono.Cairo/Samples/png/Makefile
diff --git a/mcs/class/Mono.Cairo/Samples/win32/Makefile b/mcs/class/Mono.Cairo/Samples/win32/Makefile
index 21604f08843..21604f08843 100755..100644
--- a/mcs/class/Mono.Cairo/Samples/win32/Makefile
+++ b/mcs/class/Mono.Cairo/Samples/win32/Makefile
diff --git a/mcs/class/Mono.Cairo/Samples/x11/Makefile b/mcs/class/Mono.Cairo/Samples/x11/Makefile
index 114b3fd74e7..114b3fd74e7 100755..100644
--- a/mcs/class/Mono.Cairo/Samples/x11/Makefile
+++ b/mcs/class/Mono.Cairo/Samples/x11/Makefile
diff --git a/mcs/class/Mono.Cecil.Mdb/Makefile b/mcs/class/Mono.Cecil.Mdb/Makefile
index b245fbf4bf5..d81d2f2e1fb 100644
--- a/mcs/class/Mono.Cecil.Mdb/Makefile
+++ b/mcs/class/Mono.Cecil.Mdb/Makefile
@@ -5,6 +5,7 @@ LIBRARY = Mono.Cecil.Mdb.dll
LIBRARY_SNK = ../mono.snk
LIBRARY_PACKAGE = none
+LIB_REFS = System Mono.Cecil
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:Mono.Cecil.dll /d:CECIL -keyfile:$(LIBRARY_SNK)
NO_TEST = yes
diff --git a/mcs/class/Mono.Cecil/Makefile b/mcs/class/Mono.Cecil/Makefile
index 37d7fb0f56d..9fdc8aa3ff0 100644
--- a/mcs/class/Mono.Cecil/Makefile
+++ b/mcs/class/Mono.Cecil/Makefile
@@ -5,6 +5,7 @@ LIBRARY = Mono.Cecil.dll
LIBRARY_SNK = ../mono.snk
LIBRARY_PACKAGE = none
+LIB_REFS = System.Core
LIB_MCS_FLAGS = /r:$(corlib) -keyfile:$(LIBRARY_SNK) -r:System.Core.dll -d:NET_3_5
NO_TEST = yes
diff --git a/mcs/class/Mono.CodeContracts/Makefile b/mcs/class/Mono.CodeContracts/Makefile
index 651ad6a6e2e..3ad95ee52d9 100644
--- a/mcs/class/Mono.CodeContracts/Makefile
+++ b/mcs/class/Mono.CodeContracts/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Mono.CodeContracts.dll
+LIB_REFS = System System.Core Mono.Cecil Mono.Cecil.Mdb
LIB_MCS_FLAGS = -r:System.dll -r:System.Core.dll -r:Mono.Cecil.dll -r:Mono.Cecil.Mdb.dll
#-r:Mono.Cecil.Pdb.dll
diff --git a/mcs/class/Mono.CompilerServices.SymbolWriter/Makefile b/mcs/class/Mono.CompilerServices.SymbolWriter/Makefile
index a41385133e4..e43953af85b 100644
--- a/mcs/class/Mono.CompilerServices.SymbolWriter/Makefile
+++ b/mcs/class/Mono.CompilerServices.SymbolWriter/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Mono.CompilerServices.SymbolWriter.dll
+LIB_REFS = System
LIB_MCS_FLAGS = -r:System.dll -lib:$(bare_libdir)
NO_TEST = yes
@@ -22,4 +23,4 @@ $(build_lib): $(bare_libdir)/System.dll
$(bare_libdir)/System.dll:
(cd ../System; make $@)
-.NOTPARALLEL: $(bare_libdir)/System.dll \ No newline at end of file
+.NOTPARALLEL: $(bare_libdir)/System.dll
diff --git a/mcs/class/Mono.Data.Sqlite/Makefile b/mcs/class/Mono.Data.Sqlite/Makefile
index f0d38ab1280..5d16891cbe9 100644
--- a/mcs/class/Mono.Data.Sqlite/Makefile
+++ b/mcs/class/Mono.Data.Sqlite/Makefile
@@ -10,6 +10,7 @@ RESOURCES = $(RESX_RESOURCES) $(OTHER_RESOURCES)
PREBUILT = $(RESX_RESOURCES:=.prebuilt)
LIBRARY = Mono.Data.Sqlite.dll
+LIB_REFS = System System.Data System.Transactions System.Xml
LIB_MCS_FLAGS = /unsafe /r:System.dll /r:System.Data.dll /r:System.Transactions.dll /r:System.Xml.dll \
$(RESOURCES:%=-resource:%) -d:SQLITE_STANDARD
diff --git a/mcs/class/Mono.Data.Tds/Makefile b/mcs/class/Mono.Data.Tds/Makefile
index 53ed46d7b7f..edecee0089a 100644
--- a/mcs/class/Mono.Data.Tds/Makefile
+++ b/mcs/class/Mono.Data.Tds/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Mono.Data.Tds.dll
+LIB_REFS = System System.Xml Mono.Security
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll /r:Mono.Security.dll
TEST_MCS_FLAGS = /r:System.dll /r:System.Net.dll
diff --git a/mcs/class/Mono.Debugger.Soft/Makefile b/mcs/class/Mono.Debugger.Soft/Makefile
index 1c4dd2792a7..2000a6f7d60 100644
--- a/mcs/class/Mono.Debugger.Soft/Makefile
+++ b/mcs/class/Mono.Debugger.Soft/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Mono.Debugger.Soft.dll
LIBRARY_SNK = ../mono.snk
+LIB_REFS = System Mono.Cecil System.Core
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:Mono.Cecil.dll /r:System.Core.dll /unsafe -D:MONO_DATACONVERTER_STATIC_METHODS -keyfile:$(LIBRARY_SNK)
TEST_MCS_FLAGS = /r:Mono.Cecil.dll /r:System.dll /r:System.Core.dll
diff --git a/mcs/class/Mono.Directory.LDAP/Makefile b/mcs/class/Mono.Directory.LDAP/Makefile
index 985bbb7cf55..11778c6e815 100644
--- a/mcs/class/Mono.Directory.LDAP/Makefile
+++ b/mcs/class/Mono.Directory.LDAP/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Mono.Directory.LDAP.dll
+LIB_REFS = System System.Data
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Data.dll
include ../../build/library.make
diff --git a/mcs/class/Mono.Dynamic.Interpreter/Makefile b/mcs/class/Mono.Dynamic.Interpreter/Makefile
index bbb733bf693..5145db8b80c 100644
--- a/mcs/class/Mono.Dynamic.Interpreter/Makefile
+++ b/mcs/class/Mono.Dynamic.Interpreter/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Mono.Dynamic.Interpreter.dll
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = -r:System.dll -r:System.Core.dll \
-d:FEATURE_CORE_DLR,FEATURE_DBNULL,FEATURE_DEFAULT_PARAMETER_VALUE,FEATURE_GET_TYPE_INFO,FEATURE_VARIANCE,FEATURE_SERIALIZATION,CLR45 \
-d:MONO_INTERPRETER \
diff --git a/mcs/class/Mono.Http/Makefile b/mcs/class/Mono.Http/Makefile
index 59507aa251b..d97ba72dc49 100644
--- a/mcs/class/Mono.Http/Makefile
+++ b/mcs/class/Mono.Http/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Mono.Http.dll
+LIB_REFS = System System.Xml System.Web ICSharpCode.SharpZipLib Mono.Security
LIB_MCS_FLAGS = -r:$(corlib) \
-r:System.dll \
-r:System.Xml.dll \
diff --git a/mcs/class/Mono.Management/Makefile b/mcs/class/Mono.Management/Makefile
index 6a02a326023..47e3baaa500 100644
--- a/mcs/class/Mono.Management/Makefile
+++ b/mcs/class/Mono.Management/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Mono.Management.dll
+LIB_REFS = System Mono.Posix
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:Mono.Posix.dll
NO_TEST = yes
diff --git a/mcs/class/Mono.Messaging.RabbitMQ/Makefile b/mcs/class/Mono.Messaging.RabbitMQ/Makefile
index dea85f1cd39..b655ea8c9f6 100644
--- a/mcs/class/Mono.Messaging.RabbitMQ/Makefile
+++ b/mcs/class/Mono.Messaging.RabbitMQ/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Mono.Messaging.RabbitMQ.dll
+LIB_REFS = System System.Messaging Mono.Messaging RabbitMQ.Client
LIB_MCS_FLAGS = /r:System.dll \
/r:System.Messaging.dll \
/r:Mono.Messaging.dll \
@@ -14,4 +15,4 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169 \
include ../../build/library.make
-export MONO_MESSAGING_PROVIDER=Mono.Messaging.RabbitMQ.RabbitMQMessagingProvider,Mono.Messaging.RabbitMQ \ No newline at end of file
+export MONO_MESSAGING_PROVIDER=Mono.Messaging.RabbitMQ.RabbitMQMessagingProvider,Mono.Messaging.RabbitMQ
diff --git a/mcs/class/Mono.Messaging/Makefile b/mcs/class/Mono.Messaging/Makefile
index 17342765feb..0733da95dbf 100644
--- a/mcs/class/Mono.Messaging/Makefile
+++ b/mcs/class/Mono.Messaging/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Mono.Messaging.dll
+LIB_REFS = System System.Configuration
LIB_MCS_FLAGS = /r:System.dll /r:System.Configuration
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169 /r:System.Messaging.dll /r:nunit.mocks.dll
diff --git a/mcs/class/Mono.Options/Makefile b/mcs/class/Mono.Options/Makefile
index 8f6ee01890d..322457e313a 100644
--- a/mcs/class/Mono.Options/Makefile
+++ b/mcs/class/Mono.Options/Makefile
@@ -7,6 +7,7 @@ LIBRARY_PACKAGE = none
NO_INSTALL = yes
+LIB_REFS = System
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
TEST_MCS_FLAGS = /r:Mono.Posix.dll /r:System.dll /r:System.Core.dll
diff --git a/mcs/class/Mono.Parallel/Makefile b/mcs/class/Mono.Parallel/Makefile
index 76bb5417fc6..6223ac9c79f 100644
--- a/mcs/class/Mono.Parallel/Makefile
+++ b/mcs/class/Mono.Parallel/Makefile
@@ -8,4 +8,5 @@ include ../../build/library.make
TEST_MCS_FLAGS = /r:System.Core.dll
+LIB_REFS += System.Core System
LIB_MCS_FLAGS += -d:INSIDE_MONO_PARALLEL -r:$(corlib) -r:System.Core.dll -r:System.dll
diff --git a/mcs/class/Mono.Posix/Makefile b/mcs/class/Mono.Posix/Makefile
index 03af46719ff..9b14c97cc3d 100644
--- a/mcs/class/Mono.Posix/Makefile
+++ b/mcs/class/Mono.Posix/Makefile
@@ -5,6 +5,7 @@ include ../../build/rules.make
LIBRARY = Mono.Posix.dll
# Don't warn about [Obsolete] members, as there are now *lots* of [Obsolete]
# members, generating volumes of output.
+LIB_REFS = System
LIB_MCS_FLAGS = /unsafe /r:$(corlib) /r:System.dll /nowarn:0618,612
TEST_MCS_FLAGS = /r:Mono.Posix.dll /r:System.dll /nowarn:0219,0618
diff --git a/mcs/class/Mono.Reactive.Testing/Makefile b/mcs/class/Mono.Reactive.Testing/Makefile
index 04adaa24b60..40c183b3654 100644
--- a/mcs/class/Mono.Reactive.Testing/Makefile
+++ b/mcs/class/Mono.Reactive.Testing/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Mono.Reactive.Testing.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq System.Reactive.PlatformServices System.Reactive.Providers System.Reactive.Runtime.Remoting System.Reactive.Experimental System.Reactive.Windows.Forms System.Reactive.Windows.Threading System.Reactive.Observable.Aliases System.Windows.Forms WindowsBase nunit.framework
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/Mono.Security/Makefile b/mcs/class/Mono.Security/Makefile
index 507ec664264..1d25ef67b62 100644
--- a/mcs/class/Mono.Security/Makefile
+++ b/mcs/class/Mono.Security/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Mono.Security.dll
LOCAL_MCS_FLAGS = -lib:$(the_libdir_base)bare
+LIB_REFS = System
LIB_MCS_FLAGS = -r:System.dll -unsafe -nowarn:1030
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:169,219,618,672
@@ -14,4 +15,4 @@ $(build_lib): $(the_libdir_base)bare/System.dll
$(the_libdir_base)bare/System.dll:
(cd ../System; $(MAKE) $@)
-.NOTPARALLEL: $(the_libdir_base)bare/System.dll \ No newline at end of file
+.NOTPARALLEL: $(the_libdir_base)bare/System.dll
diff --git a/mcs/class/Mono.ServiceModel.IdentitySelectors/Makefile b/mcs/class/Mono.ServiceModel.IdentitySelectors/Makefile
index 85e800a7d66..ef419cf1f1e 100644
--- a/mcs/class/Mono.ServiceModel.IdentitySelectors/Makefile
+++ b/mcs/class/Mono.ServiceModel.IdentitySelectors/Makefile
@@ -6,6 +6,7 @@ RESOURCE_FILES = \
resources/schemas-xmlsoap-or-ws-2005-05-identity.rnc
LIBRARY = Mono.ServiceModel.IdentitySelectors.dll
+LIB_REFS = System System.Xml System.Configuration ../lib/net_3_0/System.Runtime.Serialization System.Security ../lib/net_3_0/System.IdentityModel ../lib/net_3_0/System.IdentityModel.Selectors ../lib/net_3_0/System.ServiceModel System.Transactions System.Web System.Web.Services Mono.Security
LIB_MCS_FLAGS = \
/nowarn:414,169,67,3005,436 \
/unsafe \
diff --git a/mcs/class/Mono.Simd/Makefile b/mcs/class/Mono.Simd/Makefile
index afba81170ee..97ec88b88e8 100644
--- a/mcs/class/Mono.Simd/Makefile
+++ b/mcs/class/Mono.Simd/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Mono.Simd.dll
+LIB_REFS = System.Core
LIB_MCS_FLAGS = -r:$(corlib) -r:System.Core.dll /unsafe
TEST_MCS_FLAGS = -r:Mono.Simd.dll
diff --git a/mcs/class/Mono.WebBrowser/Makefile b/mcs/class/Mono.WebBrowser/Makefile
index af65ef0faa7..51fbe4015f4 100644
--- a/mcs/class/Mono.WebBrowser/Makefile
+++ b/mcs/class/Mono.WebBrowser/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = Mono.WebBrowser.dll
+LIB_REFS = System
LIB_MCS_FLAGS = -r:System.dll -warn:1
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
diff --git a/mcs/class/Mono.XBuild.Tasks/Makefile b/mcs/class/Mono.XBuild.Tasks/Makefile
index 7135c45e3c7..ef144fe461d 100644
--- a/mcs/class/Mono.XBuild.Tasks/Makefile
+++ b/mcs/class/Mono.XBuild.Tasks/Makefile
@@ -7,6 +7,7 @@ include $(XBUILD_DIR)/xbuild.make
LIBRARY = Mono.XBuild.Tasks.dll
+LIB_REFS = System System.Xml
LIB_MCS_FLAGS = \
/r:$(corlib) \
/r:System.dll \
diff --git a/mcs/class/Mono.Xml.Ext/Makefile b/mcs/class/Mono.Xml.Ext/Makefile
index 6ce19375b67..eaeb4864cd3 100644
--- a/mcs/class/Mono.Xml.Ext/Makefile
+++ b/mcs/class/Mono.Xml.Ext/Makefile
@@ -10,6 +10,7 @@ else
SCARY_LIB=/lib:$(prefix)/lib
endif
+LIB_REFS = System System.Xml
LIB_MCS_FLAGS = $(SCARY_LIB) /unsafe /r:$(corlib) /r:System.dll /r:System.Xml.dll
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
diff --git a/mcs/class/Novell.Directory.Ldap/Makefile b/mcs/class/Novell.Directory.Ldap/Makefile
index 7ecbff311e9..25cd6cc4fdc 100644
--- a/mcs/class/Novell.Directory.Ldap/Makefile
+++ b/mcs/class/Novell.Directory.Ldap/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = Novell.Directory.Ldap.dll
+LIB_REFS = System Mono.Security
LIB_MCS_FLAGS = \
-warn:1 -nowarn:612 \
-r:$(corlib) \
diff --git a/mcs/class/PEAPI/Makefile b/mcs/class/PEAPI/Makefile
index a409393f196..e76a04a9c61 100644
--- a/mcs/class/PEAPI/Makefile
+++ b/mcs/class/PEAPI/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = PEAPI.dll
+LIB_REFS = System
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll -nowarn:414,618
NO_TEST = yes
diff --git a/mcs/class/RabbitMQ.Client/src/client/Makefile b/mcs/class/RabbitMQ.Client/src/client/Makefile
index 72e278b7400..29a524c367d 100644
--- a/mcs/class/RabbitMQ.Client/src/client/Makefile
+++ b/mcs/class/RabbitMQ.Client/src/client/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../../../build/rules.make
LIBRARY = RabbitMQ.Client.dll
+LIB_REFS = System System.Xml
LIB_MCS_FLAGS = -r:System.dll -r:System.Xml.dll -nowarn:618
NO_TEST = yes
diff --git a/mcs/class/System.ComponentModel.Composition.4.5/Makefile b/mcs/class/System.ComponentModel.Composition.4.5/Makefile
index 6ca1e597917..be041802cc2 100644
--- a/mcs/class/System.ComponentModel.Composition.4.5/Makefile
+++ b/mcs/class/System.ComponentModel.Composition.4.5/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.ComponentModel.Composition.dll
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = -r:System.dll -r:System.Core.dll -d:CLR40 -resource:$(STRING_MESSAGES) -d:USE_ECMA_KEY,FEATURE_REFLECTIONCONTEXT,FEATURE_REFLECTIONFILEIO,FEATURE_SERIALIZATION,FEATURE_SLIMLOCK -nowarn:219,414
STRING_MESSAGES = Microsoft.Internal.Strings.resources
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/Makefile b/mcs/class/System.ComponentModel.DataAnnotations/Makefile
index cd722af91ee..7790ae9227a 100644
--- a/mcs/class/System.ComponentModel.DataAnnotations/Makefile
+++ b/mcs/class/System.ComponentModel.DataAnnotations/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.ComponentModel.DataAnnotations.dll
+LIB_REFS = System System.Core System.Data System.Xml
LIB_MCS_FLAGS = \
/r:System.dll \
/r:System.Core.dll \
diff --git a/mcs/class/System.Configuration.Install/Makefile b/mcs/class/System.Configuration.Install/Makefile
index f94fd6c8ce1..2d73f249aa7 100644
--- a/mcs/class/System.Configuration.Install/Makefile
+++ b/mcs/class/System.Configuration.Install/Makefile
@@ -2,6 +2,7 @@ thisdir = class/System.Configuration.Install
include ../../build/rules.make
LIBRARY = System.Configuration.Install.dll
+LIB_REFS = System System.Xml
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll
NO_TEST = yes
diff --git a/mcs/class/System.Configuration/Makefile b/mcs/class/System.Configuration/Makefile
index a4c37a0fd45..dc0ce2c413d 100644
--- a/mcs/class/System.Configuration/Makefile
+++ b/mcs/class/System.Configuration/Makefile
@@ -7,6 +7,7 @@ LIBRARY = System.Configuration.dll
LOCAL_MCS_FLAGS = -lib:$(secxml_libdir) -lib:$(bare_libdir)
test_remove = $(LOCAL_MCS_FLAGS)
+LIB_REFS = System System.Xml System.Security
LIB_MCS_FLAGS = -r:$(corlib) -r:System.dll -r:System.Xml.dll -r:System.Security.dll -nowarn:618
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
diff --git a/mcs/class/System.Core/Makefile b/mcs/class/System.Core/Makefile
index aee1e7f6c71..ed653e08ed5 100644
--- a/mcs/class/System.Core/Makefile
+++ b/mcs/class/System.Core/Makefile
@@ -5,6 +5,7 @@ include ../../build/rules.make
LIBRARY = System.Core.dll
REFERENCE_SOURCES_FLAGS = -d:FEATURE_PAL,PFX_LEGACY_3_5,FEATURE_NETCORE
+LIB_REFS = System
LIB_MCS_FLAGS = $(REFERENCE_SOURCES_FLAGS) -d:INSIDE_SYSCORE -d:LIBC /r:System.dll -unsafe
RESOURCE_STRINGS = ../../../external/referencesource/System.Core/System.Core.txt
@@ -27,6 +28,7 @@ system_core_library_deps = $(the_libdir_base)Mono.Dynamic.Interpreter.dll $(syst
LIB_MCS_FLAGS += -d:FEATURE_CORE_DLR
ifneq (plaincore/,$(intermediate))
+LIB_REFS += Mono.Dynamic.Interpreter
LIB_MCS_FLAGS += -d:MONO_INTERPRETER -r:Mono.Dynamic.Interpreter.dll
endif
@@ -45,6 +47,7 @@ CLR_PROFILE := $(filter 2.0 4.0 4.5, $(FRAMEWORK_VERSION))
endif
ifdef CLR_PROFILE
+LIB_REFS += Mono.Posix
LIB_MCS_FLAGS += -r:Mono.Posix.dll
endif
diff --git a/mcs/class/System.Data.DataSetExtensions/Makefile b/mcs/class/System.Data.DataSetExtensions/Makefile
index 7e38425ffea..4a538d5ef25 100644
--- a/mcs/class/System.Data.DataSetExtensions/Makefile
+++ b/mcs/class/System.Data.DataSetExtensions/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = System.Data.DataSetExtensions.dll
+LIB_REFS = System.Core System System.Data System.Xml System.Web
LIB_MCS_FLAGS = \
-r:$(corlib) \
-r:System.Core.dll \
diff --git a/mcs/class/System.Data.Entity/Makefile b/mcs/class/System.Data.Entity/Makefile
index be8e132366a..886cc56123b 100644
--- a/mcs/class/System.Data.Entity/Makefile
+++ b/mcs/class/System.Data.Entity/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Data.Entity.dll
+LIB_REFS = System System.Core System.Data System.Xml System.Xml.Linq System.Transactions System.Runtime.Serialization System.ComponentModel.DataAnnotations System.Configuration
LIB_MCS_FLAGS = -r:System.dll -r:System.Core.dll -r:System.Data.dll -r:System.Xml.dll -r:System.Xml.Linq.dll -r:System.Transactions.dll \
-r:System.Runtime.Serialization.dll -r:System.ComponentModel.DataAnnotations.dll -r:System.Configuration.dll \
-warn:2
diff --git a/mcs/class/System.Data.Linq/Makefile b/mcs/class/System.Data.Linq/Makefile
index 26832172d45..22a29eb482e 100755..100644
--- a/mcs/class/System.Data.Linq/Makefile
+++ b/mcs/class/System.Data.Linq/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Data.Linq.dll
+LIB_REFS = System System.Core System.Xml System.Data System.Runtime.Serialization
LIB_MCS_FLAGS = \
/r:System.dll \
/r:System.Core.dll \
diff --git a/mcs/class/System.Data.Linq/src/DbLinq/System.Data.Linq/Makefile b/mcs/class/System.Data.Linq/src/DbLinq/System.Data.Linq/Makefile
index a1014ce28b8..966905d59f3 100644
--- a/mcs/class/System.Data.Linq/src/DbLinq/System.Data.Linq/Makefile
+++ b/mcs/class/System.Data.Linq/src/DbLinq/System.Data.Linq/Makefile
@@ -1,20 +1,21 @@
-thisdir = class/System.Data.Linq
-SUBDIRS =
-include ../../build/rules.make
-
-LIBRARY = System.Data.Linq.dll
-LIB_MCS_FLAGS = \
- /r:System.dll \
- /r:System.Core.dll \
- /r:System.Data.dll \
- /r:System.Transactions.dll \
- /r:System.Xml.dll \
-
-NO_TEST = yes
-
-ifeq (2.0, $(FRAMEWORK_VERSION))
-# This is a .NET 3.5 only assembly, but built during the 2.0 build
-LIB_MCS_FLAGS += -d:NET_3_5
-endif
-
-include ../../build/library.make
+thisdir = class/System.Data.Linq
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Data.Linq.dll
+LIB_REFS = System System.Core System.Data System.Transactions System.Xml
+LIB_MCS_FLAGS = \
+ /r:System.dll \
+ /r:System.Core.dll \
+ /r:System.Data.dll \
+ /r:System.Transactions.dll \
+ /r:System.Xml.dll \
+
+NO_TEST = yes
+
+ifeq (2.0, $(FRAMEWORK_VERSION))
+# This is a .NET 3.5 only assembly, but built during the 2.0 build
+LIB_MCS_FLAGS += -d:NET_3_5
+endif
+
+include ../../build/library.make
diff --git a/mcs/class/System.Data.OracleClient/Makefile b/mcs/class/System.Data.OracleClient/Makefile
index f2c31271bb7..4a507b890b7 100644
--- a/mcs/class/System.Data.OracleClient/Makefile
+++ b/mcs/class/System.Data.OracleClient/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Data.OracleClient.dll
+LIB_REFS = System System.Xml System.Data System.EnterpriseServices System.Drawing
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll \
/r:System.Xml.dll /r:System.Data.dll \
/r:System.EnterpriseServices.dll \
diff --git a/mcs/class/System.Data.Services.Client/Makefile b/mcs/class/System.Data.Services.Client/Makefile
index 9f4e3b8b4d7..e6d5d0e3139 100644
--- a/mcs/class/System.Data.Services.Client/Makefile
+++ b/mcs/class/System.Data.Services.Client/Makefile
@@ -7,6 +7,7 @@ LIBRARY = System.Data.Services.Client.dll
Client/System.Data.Services.Client.resources: Client/System.Data.Services.Client.txt
$(RESGEN) "$<" "$@"
+LIB_REFS = System System.Core System.Xml.Linq System.Data System.Xml
LIB_MCS_FLAGS = \
-d:NET_3_5 \
-r:System.dll \
@@ -18,6 +19,7 @@ LIB_MCS_FLAGS = \
-warn:2
ifneq (2.1, $(FRAMEWORK_VERSION))
+LIB_REFS += WindowsBase
LIB_MCS_FLAGS += -r:WindowsBase
endif
diff --git a/mcs/class/System.Data.Services/Makefile b/mcs/class/System.Data.Services/Makefile
index 9027c49e7fa..7e73274ccba 100644
--- a/mcs/class/System.Data.Services/Makefile
+++ b/mcs/class/System.Data.Services/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = System.Data.Services.dll
+LIB_REFS = System System.Core System.ServiceModel System.ServiceModel.Web System.Data.Services.Client
LIB_MCS_FLAGS = \
-d:NET_3_5 \
-r:System.dll \
@@ -13,6 +14,7 @@ LIB_MCS_FLAGS = \
-r:System.Data.Services.Client.dll
ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
+LIB_REFS += System.ServiceModel.Activation
LIB_MCS_FLAGS += -r:System.ServiceModel.Activation.dll
endif
diff --git a/mcs/class/System.Data/Makefile b/mcs/class/System.Data/Makefile
index d2fdfba105b..4cb82107b7b 100644
--- a/mcs/class/System.Data/Makefile
+++ b/mcs/class/System.Data/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = System.Data.dll
+LIB_REFS = System System.Xml System.Core
LIB_MCS_FLAGS = \
-nowarn:649 \
-unsafe \
@@ -13,10 +14,12 @@ LIB_MCS_FLAGS = \
MOBILE := $(filter monotouch monodroid xammac mobile mobile_static, $(PROFILE))
ifdef MOBILE
+LIB_REFS += Mono.Data.Tds System.Transactions
LIB_MCS_FLAGS += \
-r:Mono.Data.Tds.dll \
-r:System.Transactions.dll
else
+LIB_REFS += System.EnterpriseServices Mono.Data.Tds System.Configuration System.Transactions
LIB_MCS_FLAGS += \
-r:System.EnterpriseServices.dll \
-r:Mono.Data.Tds.dll \
diff --git a/mcs/class/System.Design/Makefile b/mcs/class/System.Design/Makefile
index dc43ab8fc46..c4683c71e83 100644
--- a/mcs/class/System.Design/Makefile
+++ b/mcs/class/System.Design/Makefile
@@ -5,6 +5,7 @@ include ../../build/rules.make
LIBRARY = System.Design.dll
+LIB_REFS = System System.Xml System.Web System.Windows.Forms System.Drawing Accessibility System.Data System.Configuration
LIB_MCS_FLAGS = -r:$(corlib) -r:System.dll -r:System.Xml.dll -r:System.Web.dll \
-r:System.Windows.Forms.dll -r:System.Drawing.dll \
-r:Accessibility.dll -r:System.Data.dll \
diff --git a/mcs/class/System.DirectoryServices.Protocols/Makefile b/mcs/class/System.DirectoryServices.Protocols/Makefile
index 9ffeafcdf3a..1e703362ea7 100644
--- a/mcs/class/System.DirectoryServices.Protocols/Makefile
+++ b/mcs/class/System.DirectoryServices.Protocols/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.DirectoryServices.Protocols.dll
+LIB_REFS = System System.DirectoryServices System.Xml
LIB_MCS_FLAGS = \
/r:System.dll \
/r:System.DirectoryServices.dll \
diff --git a/mcs/class/System.DirectoryServices/Makefile b/mcs/class/System.DirectoryServices/Makefile
index d6c9bc66cb9..6f12b5f0f89 100644
--- a/mcs/class/System.DirectoryServices/Makefile
+++ b/mcs/class/System.DirectoryServices/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.DirectoryServices.dll
+LIB_REFS = System Novell.Directory.Ldap
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:Novell.Directory.Ldap.dll
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169
diff --git a/mcs/class/System.Drawing.Design/Makefile b/mcs/class/System.Drawing.Design/Makefile
index 35f70a1098e..cadb3892f10 100644
--- a/mcs/class/System.Drawing.Design/Makefile
+++ b/mcs/class/System.Drawing.Design/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Drawing.Design.dll
+LIB_REFS = System System.Drawing System.Windows.Forms
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll
NO_TEST = yes
diff --git a/mcs/class/System.Drawing/Makefile b/mcs/class/System.Drawing/Makefile
index fb59ad10560..fd8581ba2cf 100644
--- a/mcs/class/System.Drawing/Makefile
+++ b/mcs/class/System.Drawing/Makefile
@@ -4,6 +4,7 @@ SUBDIRS =
LIBRARY = System.Drawing.dll
+LIB_REFS = System
LIB_MCS_FLAGS = /unsafe /r:$(corlib) /r:System.dll \
-resource:Assembly/Mono.ico,Mono.ico -resource:Assembly/Information.ico,Information.ico \
-resource:Assembly/Error.ico,Error.ico -resource:Assembly/Warning.ico,Warning.ico \
diff --git a/mcs/class/System.Dynamic/Makefile b/mcs/class/System.Dynamic/Makefile
index 38490f85cfd..19de3569d00 100644
--- a/mcs/class/System.Dynamic/Makefile
+++ b/mcs/class/System.Dynamic/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = System.Dynamic.dll
+LIB_REFS = System.Core System
LIB_MCS_FLAGS = -unsafe -d:CODEPLEX_40 -r:System.Core.dll -r:System.dll -nowarn:414,169
# This is a .NET 4.0+ only assembly
diff --git a/mcs/class/System.EnterpriseServices/Makefile b/mcs/class/System.EnterpriseServices/Makefile
index 3f701837a1f..9a9115f2cd7 100644
--- a/mcs/class/System.EnterpriseServices/Makefile
+++ b/mcs/class/System.EnterpriseServices/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.EnterpriseServices.dll
+LIB_REFS = System.Transactions
LIB_MCS_FLAGS = /nowarn:0168 /nowarn:0162 /r:$(corlib) /r:System.Transactions.dll
NO_TEST = yes
diff --git a/mcs/class/System.IO.Compression.FileSystem/Makefile b/mcs/class/System.IO.Compression.FileSystem/Makefile
index 764cf083f8b..375429dcd54 100644
--- a/mcs/class/System.IO.Compression.FileSystem/Makefile
+++ b/mcs/class/System.IO.Compression.FileSystem/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.IO.Compression.FileSystem.dll
+LIB_REFS = System System.IO.Compression
LIB_MCS_FLAGS = /r:System /r:System.IO.Compression.dll
TEST_MCS_FLAGS = /r:System /r:System.Core /r:System.IO.Compression.dll
diff --git a/mcs/class/System.IO.Compression/Makefile b/mcs/class/System.IO.Compression/Makefile
index 40c9fe089db..0116c7fc36b 100644
--- a/mcs/class/System.IO.Compression/Makefile
+++ b/mcs/class/System.IO.Compression/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.IO.Compression.dll
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = /r:System /r:System.Core /unsafe
TEST_MCS_FLAGS = /r:System /r:System.Core
diff --git a/mcs/class/System.IdentityModel.Selectors/Makefile b/mcs/class/System.IdentityModel.Selectors/Makefile
index d3b8f149f4d..e2e719e3c49 100755..100644
--- a/mcs/class/System.IdentityModel.Selectors/Makefile
+++ b/mcs/class/System.IdentityModel.Selectors/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.IdentityModel.Selectors.dll
+LIB_REFS = System System.Xml System.Security System.Runtime.Serialization System.IdentityModel
LIB_MCS_FLAGS = \
/d:NET_3_0 \
/r:System.dll \
diff --git a/mcs/class/System.IdentityModel/Makefile b/mcs/class/System.IdentityModel/Makefile
index 4889b6c6b87..68b5400a66b 100644
--- a/mcs/class/System.IdentityModel/Makefile
+++ b/mcs/class/System.IdentityModel/Makefile
@@ -7,6 +7,7 @@ OTHER_LIB_MCS_FLAGS = -r:System.Web.ApplicationServices.dll
endif
LIBRARY = System.IdentityModel.dll
+LIB_REFS = System System.Xml System.Security System.Web System.Configuration Mono.Security System.Runtime.Serialization
LIB_MCS_FLAGS = \
/d:NET_3_0 \
/r:System.dll \
diff --git a/mcs/class/System.Interactive.Async/Makefile b/mcs/class/System.Interactive.Async/Makefile
index b2ba1ba50ef..bdc32f84dc2 100644
--- a/mcs/class/System.Interactive.Async/Makefile
+++ b/mcs/class/System.Interactive.Async/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Interactive.Async.dll
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Interactive.Providers/Makefile b/mcs/class/System.Interactive.Providers/Makefile
index 0326b0f05bf..f5ebc8fa456 100644
--- a/mcs/class/System.Interactive.Providers/Makefile
+++ b/mcs/class/System.Interactive.Providers/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Interactive.Providers.dll
+LIB_REFS = System System.Core System.Interactive
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Interactive/Makefile b/mcs/class/System.Interactive/Makefile
index 93261853ac7..ef90933b548 100644
--- a/mcs/class/System.Interactive/Makefile
+++ b/mcs/class/System.Interactive/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Interactive.dll
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Json.Microsoft/Makefile b/mcs/class/System.Json.Microsoft/Makefile
index eb4b37f3497..beb147c9913 100644
--- a/mcs/class/System.Json.Microsoft/Makefile
+++ b/mcs/class/System.Json.Microsoft/Makefile
@@ -6,6 +6,7 @@ System.Json.Properties.Resources.resources: System.Json/Properties/Resources.res
$(RESGEN) "$<" "$@"
LIBRARY = System.Json.Microsoft.dll
+LIB_REFS = System System.Xml System.Core System.Runtime.Serialization
LIB_MCS_FLAGS = /d:ASPNETMVC -keyfile:../winfx.pub -delaysign \
/r:System.dll \
/r:System.Xml.dll \
@@ -16,6 +17,7 @@ LIB_MCS_FLAGS = /d:ASPNETMVC -keyfile:../winfx.pub -delaysign \
EXTRA_DISTFILES = System.Json/Properties/Resources.resx
ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
+LIB_REFS += Microsoft.CSharp
LIB_MCS_FLAGS += /r:Microsoft.CSharp.dll -d:FEATURE_DYNAMIC
endif
diff --git a/mcs/class/System.Json/Makefile b/mcs/class/System.Json/Makefile
index 8ef352d0aff..b48c8c8af6e 100644
--- a/mcs/class/System.Json/Makefile
+++ b/mcs/class/System.Json/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Json.dll
+LIB_REFS = System System.Xml System.Core
LIB_MCS_FLAGS = \
/r:System.dll \
/r:System.Xml.dll \
diff --git a/mcs/class/System.Management/Makefile b/mcs/class/System.Management/Makefile
index 2936ad37008..9b36bfce61c 100644
--- a/mcs/class/System.Management/Makefile
+++ b/mcs/class/System.Management/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Management.dll
+LIB_REFS = System System.Configuration.Install
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Configuration.Install.dll
NO_TEST = yes
diff --git a/mcs/class/System.Messaging/Makefile b/mcs/class/System.Messaging/Makefile
index 681b8835095..9be6d608101 100644
--- a/mcs/class/System.Messaging/Makefile
+++ b/mcs/class/System.Messaging/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Messaging.dll
+LIB_REFS = System System.Configuration.Install System.Drawing System.Windows.Forms System.Xml Mono.Messaging
LIB_MCS_FLAGS = /resource:System.Messaging/MessageQueue.resx \
/r:System.dll \
/r:System.Configuration.Install.dll \
diff --git a/mcs/class/System.Net.Http.Formatting/Makefile b/mcs/class/System.Net.Http.Formatting/Makefile
index 41fbdab6575..1bf221cb5d5 100644
--- a/mcs/class/System.Net.Http.Formatting/Makefile
+++ b/mcs/class/System.Net.Http.Formatting/Makefile
@@ -11,6 +11,7 @@ System.Net.Http.Properties.CommonWebApiResources.resources: ../../../external/as
System.Net.Http.Properties.Resources.resources: ../../../external/aspnetwebstack/src/System.Net.Http.Formatting/Properties/Resources.resx
$(RESGEN) "$<" "$@"
+LIB_REFS = System.Core System System.Net.Http System.Xml System.Runtime.Serialization System.Xml.Linq System.Data System.Configuration
LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll -r:System.Net.Http.dll -r:System.Xml.dll -r:System.Runtime.Serialization.dll -r:System.Xml.Linq.dll -r:System.Data.dll -r:System.Configuration.dll \
-d:ASPNETMVC -keyfile:../winfx.pub -delaysign \
-resource:System.Net.Http.Properties.CommonWebApiResources.resources \
@@ -19,4 +20,4 @@ LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll -r:System.Net.Http.dll -r:Syste
include ../../build/library.make
$(the_lib): System.Net.Http.Properties.CommonWebApiResources.resources \
- System.Net.Http.Properties.Resources.resources \ No newline at end of file
+ System.Net.Http.Properties.Resources.resources
diff --git a/mcs/class/System.Net.Http.WebRequest/Makefile b/mcs/class/System.Net.Http.WebRequest/Makefile
index 2af118aaa15..5bf50782752 100644
--- a/mcs/class/System.Net.Http.WebRequest/Makefile
+++ b/mcs/class/System.Net.Http.WebRequest/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = System.Net.Http.WebRequest.dll
+LIB_REFS = System.Net.Http System
LIB_MCS_FLAGS = -r:System.Net.Http.dll -r:System.dll
TEST_MCS_FLAGS = -r:System.Net.Http.dll
diff --git a/mcs/class/System.Net.Http/Makefile b/mcs/class/System.Net.Http/Makefile
index ce2e097fee8..910b45e42fa 100644
--- a/mcs/class/System.Net.Http/Makefile
+++ b/mcs/class/System.Net.Http/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = System.Net.Http.dll
+LIB_REFS = System.Core System
LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll $(EXTRA_LIB_MCS_FLAGS)
TEST_MCS_FLAGS = -r:System.dll -r:System.Core.dll
diff --git a/mcs/class/System.Net/Makefile b/mcs/class/System.Net/Makefile
index b4282b3a4b2..a8bc4601e0c 100644
--- a/mcs/class/System.Net/Makefile
+++ b/mcs/class/System.Net/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Net.dll
+LIB_REFS = System System.Core System.Xml
LIB_MCS_FLAGS = -unsafe -r:System.dll -r:System.Core.dll -r:System.Xml.dll
ifneq (2.1, $(FRAMEWORK_VERSION))
diff --git a/mcs/class/System.Numerics/Makefile b/mcs/class/System.Numerics/Makefile
index 543eb96d222..e456d5fb35d 100644
--- a/mcs/class/System.Numerics/Makefile
+++ b/mcs/class/System.Numerics/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Numerics.dll
+LIB_REFS = System
LIB_MCS_FLAGS = -r:System.dll /unsafe -d:MONO
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
diff --git a/mcs/class/System.Reactive.Core/Makefile b/mcs/class/System.Reactive.Core/Makefile
index c01012146c4..b4704229632 100644
--- a/mcs/class/System.Reactive.Core/Makefile
+++ b/mcs/class/System.Reactive.Core/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Core.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.Debugger/Makefile b/mcs/class/System.Reactive.Debugger/Makefile
index 5c6bfce0e53..b129ec2dc7b 100644
--- a/mcs/class/System.Reactive.Debugger/Makefile
+++ b/mcs/class/System.Reactive.Debugger/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Debugger.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.Experimental/Makefile b/mcs/class/System.Reactive.Experimental/Makefile
index ae09c0250c1..45e2623ffe7 100644
--- a/mcs/class/System.Reactive.Experimental/Makefile
+++ b/mcs/class/System.Reactive.Experimental/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Experimental.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.Interfaces/Makefile b/mcs/class/System.Reactive.Interfaces/Makefile
index 24134ebfae3..826d14359e1 100644
--- a/mcs/class/System.Reactive.Interfaces/Makefile
+++ b/mcs/class/System.Reactive.Interfaces/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Interfaces.dll
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.Linq/Makefile b/mcs/class/System.Reactive.Linq/Makefile
index 14f963dce29..d1725666f80 100644
--- a/mcs/class/System.Reactive.Linq/Makefile
+++ b/mcs/class/System.Reactive.Linq/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Linq.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.Observable.Aliases/Makefile b/mcs/class/System.Reactive.Observable.Aliases/Makefile
index 94257aee3c6..8d3eec4c1df 100644
--- a/mcs/class/System.Reactive.Observable.Aliases/Makefile
+++ b/mcs/class/System.Reactive.Observable.Aliases/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Observable.Aliases.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq System.Reactive.Providers
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.PlatformServices/Makefile b/mcs/class/System.Reactive.PlatformServices/Makefile
index 46317bdfd8c..2e382ff7b17 100644
--- a/mcs/class/System.Reactive.PlatformServices/Makefile
+++ b/mcs/class/System.Reactive.PlatformServices/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.PlatformServices.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.Providers/Makefile b/mcs/class/System.Reactive.Providers/Makefile
index a79e1e191bf..f8fd62bf4d6 100644
--- a/mcs/class/System.Reactive.Providers/Makefile
+++ b/mcs/class/System.Reactive.Providers/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Providers.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.Runtime.Remoting/Makefile b/mcs/class/System.Reactive.Runtime.Remoting/Makefile
index 8cce93de016..fa919505a9c 100644
--- a/mcs/class/System.Reactive.Runtime.Remoting/Makefile
+++ b/mcs/class/System.Reactive.Runtime.Remoting/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Runtime.Remoting.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.Windows.Forms/Makefile b/mcs/class/System.Reactive.Windows.Forms/Makefile
index 2cd018ccec3..88e64f4f948 100644
--- a/mcs/class/System.Reactive.Windows.Forms/Makefile
+++ b/mcs/class/System.Reactive.Windows.Forms/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Windows.Forms.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq System.Windows.Forms
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Reactive.Windows.Threading/Makefile b/mcs/class/System.Reactive.Windows.Threading/Makefile
index 31b469e77ad..446dcc0cacf 100644
--- a/mcs/class/System.Reactive.Windows.Threading/Makefile
+++ b/mcs/class/System.Reactive.Windows.Threading/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Reactive.Windows.Threading.dll
+LIB_REFS = System System.Core System.Reactive.Interfaces System.Reactive.Core System.Reactive.Linq WindowsBase
LIB_MCS_FLAGS = \
@more_build_args \
-r:System.dll \
diff --git a/mcs/class/System.Runtime.Caching/Makefile b/mcs/class/System.Runtime.Caching/Makefile
index 4d2b3037d69..5e761daab00 100644
--- a/mcs/class/System.Runtime.Caching/Makefile
+++ b/mcs/class/System.Runtime.Caching/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Runtime.Caching.dll
+LIB_REFS = System System.Data System.Configuration System.Core
LIB_MCS_FLAGS = -r:System.dll \
-r:System.Data.dll \
-r:System.Configuration.dll \
diff --git a/mcs/class/System.Runtime.DurableInstancing/Makefile b/mcs/class/System.Runtime.DurableInstancing/Makefile
index 4a4934ccdd9..371f0abb5cb 100644
--- a/mcs/class/System.Runtime.DurableInstancing/Makefile
+++ b/mcs/class/System.Runtime.DurableInstancing/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Runtime.DurableInstancing.dll
+LIB_REFS = System System.Xml System.Runtime.Serialization System.Core System.Xml.Linq
LIB_MCS_FLAGS = -r:System.dll -r:System.Xml.dll -r:System.Runtime.Serialization.dll -r:System.Core.dll -r:System.Xml.Linq.dll
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
diff --git a/mcs/class/System.Runtime.Remoting/Makefile b/mcs/class/System.Runtime.Remoting/Makefile
index df85e04c17c..c09e2596f74 100644
--- a/mcs/class/System.Runtime.Remoting/Makefile
+++ b/mcs/class/System.Runtime.Remoting/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = System.Runtime.Remoting.dll
+LIB_REFS = System System.Web System.Xml System.Runtime.Serialization.Formatters.Soap
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Web.dll \
/r:System.Xml.dll /r:System.Runtime.Serialization.Formatters.Soap.dll
diff --git a/mcs/class/System.Runtime.Serialization.Formatters.Soap/Makefile b/mcs/class/System.Runtime.Serialization.Formatters.Soap/Makefile
index 135d3e8221c..fdc8a6f5a6a 100644
--- a/mcs/class/System.Runtime.Serialization.Formatters.Soap/Makefile
+++ b/mcs/class/System.Runtime.Serialization.Formatters.Soap/Makefile
@@ -5,6 +5,7 @@ include ../../build/rules.make
# bet you can't say this ten times fast
LIBRARY = System.Runtime.Serialization.Formatters.Soap.dll
+LIB_REFS = System.Xml
LIB_MCS_FLAGS = /r:$(corlib) /r:System.Xml.dll
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) -nowarn:0618 -nowarn:219 -nowarn:169
diff --git a/mcs/class/System.Runtime.Serialization.Json/Makefile b/mcs/class/System.Runtime.Serialization.Json/Makefile
index 03808bf4c03..baaffb6cb74 100644
--- a/mcs/class/System.Runtime.Serialization.Json/Makefile
+++ b/mcs/class/System.Runtime.Serialization.Json/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Runtime.Serialization.Json.dll
+LIB_REFS = System System.Xml System.Runtime.Serialization System.Core
LIB_MCS_FLAGS = -r:System.dll -r:System.Xml.dll -r:System.Runtime.Serialization.dll -r:System.Core.dll
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
diff --git a/mcs/class/System.Runtime.Serialization/Makefile b/mcs/class/System.Runtime.Serialization/Makefile
index a11b3e30994..a075cad7553 100644
--- a/mcs/class/System.Runtime.Serialization/Makefile
+++ b/mcs/class/System.Runtime.Serialization/Makefile
@@ -6,6 +6,7 @@ RESOURCE_FILES = \
resources/mstypes.schema
LIBRARY = System.Runtime.Serialization.dll
+LIB_REFS = System System.Xml System.Core
LIB_MCS_FLAGS = \
-unsafe \
/nowarn:168,169,219,414 \
@@ -17,6 +18,7 @@ LIB_MCS_FLAGS = \
RESOURCE_STRINGS = ../../../external/referencesource/System.Runtime.Serialization/System.Runtime.Serialization.txt
ifneq (2.1, $(FRAMEWORK_VERSION))
+LIB_REFS += System.Data System.Configuration
LIB_MCS_FLAGS += /d:NET_3_0 /r:System.Data.dll /r:System.Configuration.dll
endif
diff --git a/mcs/class/System.Security/Makefile b/mcs/class/System.Security/Makefile
index 13da5a067e3..2bb303a8b01 100644
--- a/mcs/class/System.Security/Makefile
+++ b/mcs/class/System.Security/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Security.dll
+LIB_REFS = System System.Xml Mono.Security
LIB_MCS_FLAGS = -nowarn:618 \
-d:SECURITY_DEP \
-r:$(corlib) -r:System.dll -r:System.Xml.dll \
diff --git a/mcs/class/System.ServiceModel.Activation/Makefile b/mcs/class/System.ServiceModel.Activation/Makefile
index 0b0f338f412..f897fc7cbf5 100644
--- a/mcs/class/System.ServiceModel.Activation/Makefile
+++ b/mcs/class/System.ServiceModel.Activation/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = System.ServiceModel.Activation.dll
+LIB_REFS = System.Core System System.ServiceModel
LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll -r:System.ServiceModel.dll
TEST_MCS_FLAGS = -r:System.dll -r:System.Core.dll
@@ -19,4 +20,4 @@ $(the_libdir_base)$(LIBRARY): $(servicemodel)
$(servicemodel):
(cd ../System.ServiceModel; $(MAKE) $@)
-.NOTPARALLEL: $(servicemodel) \ No newline at end of file
+.NOTPARALLEL: $(servicemodel)
diff --git a/mcs/class/System.ServiceModel.Discovery/Makefile b/mcs/class/System.ServiceModel.Discovery/Makefile
index 8b6932e7084..cf399e2e0d0 100644
--- a/mcs/class/System.ServiceModel.Discovery/Makefile
+++ b/mcs/class/System.ServiceModel.Discovery/Makefile
@@ -3,9 +3,11 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.ServiceModel.Discovery.dll
+LIB_REFS = System System.Xml System.Runtime.Serialization System.ServiceModel System.Core System.Xml.Linq
LIB_MCS_FLAGS = -r:System.dll -r:System.Xml.dll -r:System.Runtime.Serialization.dll -r:System.ServiceModel.dll -r:System.Core.dll -r:System.Xml.Linq.dll
ifneq (2.1, $(FRAMEWORK_VERSION))
+LIB_REFS += System.Configuration
LIB_MCS_FLAGS += -d:NET_3_5 -d:NET_3_0 \
-r:System.Configuration.dll
endif
diff --git a/mcs/class/System.ServiceModel.Routing/Makefile b/mcs/class/System.ServiceModel.Routing/Makefile
index 5e0856dc290..4e59b84e12a 100644
--- a/mcs/class/System.ServiceModel.Routing/Makefile
+++ b/mcs/class/System.ServiceModel.Routing/Makefile
@@ -3,9 +3,11 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.ServiceModel.Routing.dll
+LIB_REFS = System System.Xml System.Runtime.Serialization System.ServiceModel System.Core
LIB_MCS_FLAGS = -r:System.dll -r:System.Xml.dll -r:System.Runtime.Serialization.dll -r:System.ServiceModel.dll -r:System.Core.dll
ifneq (2.1, $(FRAMEWORK_VERSION))
+LIB_REFS += System.Configuration
LIB_MCS_FLAGS += -d:NET_3_5 -d:NET_3_0 \
-r:System.Configuration.dll
endif
diff --git a/mcs/class/System.ServiceModel.Syndication/Makefile b/mcs/class/System.ServiceModel.Syndication/Makefile
index 4f7ec0b2e13..7555bc9dc4e 100644
--- a/mcs/class/System.ServiceModel.Syndication/Makefile
+++ b/mcs/class/System.ServiceModel.Syndication/Makefile
@@ -3,13 +3,16 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.ServiceModel.Syndication.dll
+LIB_REFS = System System.Xml System.Runtime.Serialization System.ServiceModel System.Core
LIB_MCS_FLAGS = -r:System.dll -r:System.Xml.dll -r:System.Runtime.Serialization.dll -r:System.ServiceModel.dll -r:System.Core.dll
ifeq (moonlight_raw, $(PROFILE))
+LIB_REFS += System.Xml.Serialization
LIB_MCS_FLAGS += /r:System.Xml.Serialization.dll
endif
ifneq (2.1, $(FRAMEWORK_VERSION))
+LIB_REFS += System.Configuration
LIB_MCS_FLAGS += /r:System.Configuration.dll
endif
diff --git a/mcs/class/System.ServiceModel.Web.Extensions/Makefile b/mcs/class/System.ServiceModel.Web.Extensions/Makefile
index a1772733a6e..944702af77d 100644
--- a/mcs/class/System.ServiceModel.Web.Extensions/Makefile
+++ b/mcs/class/System.ServiceModel.Web.Extensions/Makefile
@@ -3,13 +3,16 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.ServiceModel.Web.Extensions.dll
+LIB_REFS = System System.Xml System.Runtime.Serialization System.ServiceModel System.Core System.ServiceModel.Web
LIB_MCS_FLAGS = -r:System.dll -r:System.Xml.dll -r:System.Runtime.Serialization.dll -r:System.ServiceModel.dll -r:System.Core.dll -r:System.ServiceModel.Web.dll
ifeq (2.1, $(FRAMEWORK_VERSION))
+LIB_REFS += System.Xml.Serialization System.Net
LIB_MCS_FLAGS += /r:System.Xml.Serialization.dll /r:System.Net.dll
endif
ifneq (2.1, $(FRAMEWORK_VERSION))
+LIB_REFS += System.Configuration
LIB_MCS_FLAGS += /r:System.Configuration.dll
endif
diff --git a/mcs/class/System.ServiceModel.Web/Makefile b/mcs/class/System.ServiceModel.Web/Makefile
index 4db6ae805b3..73cd92cc589 100644
--- a/mcs/class/System.ServiceModel.Web/Makefile
+++ b/mcs/class/System.ServiceModel.Web/Makefile
@@ -3,15 +3,18 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.ServiceModel.Web.dll
+LIB_REFS = System System.Xml System.Runtime.Serialization System.ServiceModel System.Core
LIB_MCS_FLAGS = -r:System.dll -r:System.Xml.dll -r:System.Runtime.Serialization.dll -r:System.ServiceModel.dll -r:System.Core.dll
ifneq (2.1, $(FRAMEWORK_VERSION))
+LIB_REFS += System.Configuration System.Web.Extensions
LIB_MCS_FLAGS += -d:NET_3_5 -d:NET_3_0 \
-r:System.Configuration.dll \
-r:System.Web.Extensions.dll
endif
ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
+LIB_REFS += System.ServiceModel.Activation
LIB_MCS_FLAGS += -r:System.ServiceModel.Activation.dll
endif
diff --git a/mcs/class/System.ServiceModel/Makefile b/mcs/class/System.ServiceModel/Makefile
index fe7f16e54eb..0ef8e6e2811 100755..100644
--- a/mcs/class/System.ServiceModel/Makefile
+++ b/mcs/class/System.ServiceModel/Makefile
@@ -8,6 +8,7 @@ RESOURCE_FILES = \
LIBRARY = System.ServiceModel.dll
+LIB_REFS = System System.Xml System.Core System.Runtime.Serialization
LIB_MCS_FLAGS = \
/nowarn:414,169,67,3005,436,219,618 \
/unsafe \
@@ -19,6 +20,7 @@ LIB_MCS_FLAGS = \
$(RESOURCE_FILES:%=/resource:%)
ifneq (2.1, $(FRAMEWORK_VERSION))
+LIB_REFS += System.Configuration System.Data System.Security System.IdentityModel System.IdentityModel.Selectors System.Transactions System.Messaging System.Web System.Web.Services Mono.Security
LIB_MCS_FLAGS += /d:NET_3_0 \
/r:System.Configuration.dll \
/r:System.Data.dll \
@@ -33,12 +35,15 @@ LIB_MCS_FLAGS += /d:NET_3_0 \
endif
ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
+LIB_REFS += System.Web.ApplicationServices
LIB_MCS_FLAGS += /r:System.Web.ApplicationServices.dll
activation = $(the_libdir_base)System.ServiceModel.Activation.dll
servicemodel_deps = $(activation)
ifneq (plainservice/,$(intermediate))
+LIB_REFS += System.ServiceModel.Activation
LIB_MCS_FLAGS += -define:HAS_ACTIVATION -r:System.ServiceModel.Activation.dll
+LIB_REFS += System.Web.ApplicationServices
LIB_MCS_FLAGS += -r:System.Web.ApplicationServices.dll
endif
endif
@@ -87,4 +92,4 @@ CLEAN_FILES = $(the_libdir_base)plainservice/System.ServiceModel.dll
ifndef intermediate
csproj-local:
$(MAKE) csproj-local intermediate=plainservice/
-endif \ No newline at end of file
+endif
diff --git a/mcs/class/System.ServiceProcess/Makefile b/mcs/class/System.ServiceProcess/Makefile
index e837292dff6..8cdb3847012 100644
--- a/mcs/class/System.ServiceProcess/Makefile
+++ b/mcs/class/System.ServiceProcess/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.ServiceProcess.dll
+LIB_REFS = System System.Configuration.Install System.Windows.Forms
LIB_MCS_FLAGS = /r:System.dll /r:System.Configuration.Install.dll \
/r:System.Windows.Forms.dll /nowarn:0618
TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
diff --git a/mcs/class/System.Threading.Tasks.Dataflow/Makefile b/mcs/class/System.Threading.Tasks.Dataflow/Makefile
index 48532e8870a..195796c2592 100644
--- a/mcs/class/System.Threading.Tasks.Dataflow/Makefile
+++ b/mcs/class/System.Threading.Tasks.Dataflow/Makefile
@@ -6,6 +6,7 @@ LIBRARY = System.Threading.Tasks.Dataflow.dll
include ../../build/library.make
+LIB_REFS += System.Core System
LIB_MCS_FLAGS += -r:$(corlib) -r:System.Core.dll -r:System.dll
TEST_MCS_FLAGS = -r:System.Core.dll -r:System.dll
diff --git a/mcs/class/System.Transactions/Makefile b/mcs/class/System.Transactions/Makefile
index 11d78be67c4..66837a21808 100644
--- a/mcs/class/System.Transactions/Makefile
+++ b/mcs/class/System.Transactions/Makefile
@@ -6,8 +6,10 @@ MOBILE_PROFILE := $(filter monotouch monodroid xammac mobile mobile_static, $(PR
LIBRARY = System.Transactions.dll
ifdef MOBILE_PROFILE
+LIB_REFS = System
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /define:MOBILE
else
+LIB_REFS = System System.Configuration
LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Configuration.dll
endif
diff --git a/mcs/class/System.Web.Abstractions/Makefile b/mcs/class/System.Web.Abstractions/Makefile
index 42b8119fa44..7facb022d00 100644
--- a/mcs/class/System.Web.Abstractions/Makefile
+++ b/mcs/class/System.Web.Abstractions/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Web.Abstractions.dll
+LIB_REFS = System System.Core System.Web
LIB_MCS_FLAGS = \
/r:System.dll \
/r:System.Core.dll \
diff --git a/mcs/class/System.Web.ApplicationServices/Makefile b/mcs/class/System.Web.ApplicationServices/Makefile
index 8601fc475e3..70f852841e4 100644
--- a/mcs/class/System.Web.ApplicationServices/Makefile
+++ b/mcs/class/System.Web.ApplicationServices/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Web.ApplicationServices.dll
+LIB_REFS = System System.Configuration
LIB_MCS_FLAGS = -r:System.dll \
-r:System.Configuration.dll \
-d:SYSTEM_WEB_APPLICATIONSERVICES
diff --git a/mcs/class/System.Web.DynamicData/Makefile b/mcs/class/System.Web.DynamicData/Makefile
index 2797e796bba..ef7981ebde6 100644
--- a/mcs/class/System.Web.DynamicData/Makefile
+++ b/mcs/class/System.Web.DynamicData/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Web.DynamicData.dll
+LIB_REFS = System System.Core System.ComponentModel.DataAnnotations System.Data System.Data.Linq System.Drawing System.Web System.Web.Extensions System.Web.Abstractions System.Web.Routing
LIB_MCS_FLAGS = \
/r:System.dll \
/r:System.Core.dll \
@@ -16,6 +17,7 @@ LIB_MCS_FLAGS = \
/r:System.Web.Routing.dll
ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
+LIB_REFS += System.Web.ApplicationServices
LIB_MCS_FLAGS += -r:System.Web.ApplicationServices.dll
endif
diff --git a/mcs/class/System.Web.Extensions.Design/Makefile b/mcs/class/System.Web.Extensions.Design/Makefile
index b0d4288e45a..090a6fae248 100644
--- a/mcs/class/System.Web.Extensions.Design/Makefile
+++ b/mcs/class/System.Web.Extensions.Design/Makefile
@@ -4,6 +4,7 @@ include ../../build/rules.make
LIBRARY = System.Web.Extensions.Design.dll
+LIB_REFS = System System.Design System.Drawing System.Windows.Forms
LIB_MCS_FLAGS = \
-define:NET_3_5 \
-r:System.dll -r:System.Design.dll -r:System.Drawing.dll -r:System.Windows.Forms.dll
diff --git a/mcs/class/System.Web.Extensions/Makefile b/mcs/class/System.Web.Extensions/Makefile
index 4ba4161cd11..51280b82526 100644
--- a/mcs/class/System.Web.Extensions/Makefile
+++ b/mcs/class/System.Web.Extensions/Makefile
@@ -55,6 +55,7 @@ ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
OTHER_LIB_MCS_FLAGS += -r:System.Web.ApplicationServices.dll
endif
+LIB_REFS = System System.Core System.Drawing System.Data System.Data.Linq System.Xml System.Web System.Web.Services System.Configuration System.EnterpriseServices System.ServiceModel
LIB_MCS_FLAGS = \
-unsafe \
-define:NET_3_5 \
diff --git a/mcs/class/System.Web.Http.SelfHost/Makefile b/mcs/class/System.Web.Http.SelfHost/Makefile
index a435b0a4eb2..4aa07ed9109 100644
--- a/mcs/class/System.Web.Http.SelfHost/Makefile
+++ b/mcs/class/System.Web.Http.SelfHost/Makefile
@@ -11,6 +11,7 @@ System.Web.Http.SelfHost.Properties.SRResources.resources: ../../../external/asp
$(RESGEN) "$<" "$@"
+LIB_REFS = System.Core System System.Xml System.Configuration System.Net.Http System.Runtime.Serialization System.ServiceModel System.IdentityModel System.Web.Http System.Net.Http.Formatting
LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll -r:System.Xml.dll -r:System.Configuration.dll -r:System.Net.Http.dll \
-r:System.Runtime.Serialization.dll -r:System.ServiceModel.dll -r:System.IdentityModel.dll \
-r:System.Web.Http.dll -r:System.Net.Http.Formatting.dll \
@@ -19,4 +20,4 @@ LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll -r:System.Xml.dll -r:System.Con
include ../../build/library.make
$(the_lib): System.Web.Http.SelfHost.Properties.CommonWebApiResources.resources \
- System.Web.Http.SelfHost.Properties.SRResources.resources \ No newline at end of file
+ System.Web.Http.SelfHost.Properties.SRResources.resources
diff --git a/mcs/class/System.Web.Http.WebHost/Makefile b/mcs/class/System.Web.Http.WebHost/Makefile
index 3a8b6337118..651d19695d4 100644
--- a/mcs/class/System.Web.Http.WebHost/Makefile
+++ b/mcs/class/System.Web.Http.WebHost/Makefile
@@ -11,6 +11,7 @@ System.Web.Http.WebHost.Properties.SRResources.resources: ../../../external/aspn
$(RESGEN) "$<" "$@"
+LIB_REFS = System.Core System System.Xml System.Configuration System.Net.Http System.Runtime.Serialization System.ServiceModel System.IdentityModel System.Web.Http System.Net.Http.Formatting System.Web.Routing System.Web Microsoft.Web.Infrastructure
LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll -r:System.Xml.dll -r:System.Configuration.dll -r:System.Net.Http.dll \
-r:System.Runtime.Serialization.dll -r:System.ServiceModel.dll -r:System.IdentityModel.dll \
-r:System.Web.Http.dll -r:System.Net.Http.Formatting.dll -r:System.Web.Routing.dll -r:System.Web.dll \
diff --git a/mcs/class/System.Web.Http/Makefile b/mcs/class/System.Web.Http/Makefile
index d7f1a32a42b..246d49feff8 100644
--- a/mcs/class/System.Web.Http/Makefile
+++ b/mcs/class/System.Web.Http/Makefile
@@ -11,6 +11,7 @@ System.Web.Http.Properties.SRResources.resources: ../../../external/aspnetwebsta
$(RESGEN) "$<" "$@"
+LIB_REFS = System.Core System System.Xml System.Net.Http System.ComponentModel.DataAnnotations System.Net.Http.Formatting System.Runtime.Caching System.Runtime.Serialization System.Data.Linq
LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll -r:System.Xml.dll -r:System.Net.Http.dll -r:System.ComponentModel.DataAnnotations.dll \
-r:System.Net.Http.Formatting.dll -r:System.Runtime.Caching.dll -r:System.Runtime.Serialization.dll -r:System.Data.Linq.dll \
-d:ASPNETMVC -keyfile:../winfx.pub -delaysign \
@@ -20,4 +21,4 @@ LIB_MCS_FLAGS = -r:System.Core.dll -r:System.dll -r:System.Xml.dll -r:System.Net
include ../../build/library.make
$(the_lib): System.Web.Http.Properties.CommonWebApiResources.resources \
- System.Web.Http.Properties.SRResources.resources \ No newline at end of file
+ System.Web.Http.Properties.SRResources.resources
diff --git a/mcs/class/System.Web.Mvc3/Makefile b/mcs/class/System.Web.Mvc3/Makefile
index 05e234d38a2..16c5f64e3b3 100644
--- a/mcs/class/System.Web.Mvc3/Makefile
+++ b/mcs/class/System.Web.Mvc3/Makefile
@@ -7,6 +7,7 @@ LIBRARY_NAME = System.Web.Mvc.dll
RESX_DIST = Mvc/Resources/MvcResources.resx
+LIB_REFS = Microsoft.Web.Infrastructure System System.Core System.Configuration System.Data System.Xml System.Web System.Web.Abstractions System.Web.Routing System.Web.Extensions System.ComponentModel.DataAnnotations System.Data.Linq System.Runtime.Caching System.Web.Razor System.Web.WebPages.Razor System.Web.WebPages
LIB_MCS_FLAGS = \
/warn:1 \
/keyfile:../winfx.pub \
diff --git a/mcs/class/System.Web.Razor/Makefile b/mcs/class/System.Web.Razor/Makefile
index 959732213ee..cd1cf47ea9a 100644
--- a/mcs/class/System.Web.Razor/Makefile
+++ b/mcs/class/System.Web.Razor/Makefile
@@ -11,6 +11,7 @@ System.Web.Razor.Common.CommonResources.resources: ../../../external/aspnetwebst
System.Web.Razor.Resources.RazorResources.resources: ../../../external/aspnetwebstack/src/System.Web.Razor/Resources/RazorResources.resx
$(RESGEN) "$<" "$@"
+LIB_REFS = System System.Core
LIB_MCS_FLAGS = \
/warn:1 \
/keyfile:../winfx.pub -delaysign \
diff --git a/mcs/class/System.Web.Routing/Makefile b/mcs/class/System.Web.Routing/Makefile
index 500b32910f3..453a8eb052c 100644
--- a/mcs/class/System.Web.Routing/Makefile
+++ b/mcs/class/System.Web.Routing/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Web.Routing.dll
+LIB_REFS = System System.Core System.Web System.Web.Abstractions
LIB_MCS_FLAGS = \
/r:System.dll \
/r:System.Core.dll \
diff --git a/mcs/class/System.Web.Services/Makefile b/mcs/class/System.Web.Services/Makefile
index 388e13216c8..406b427ad0c 100644
--- a/mcs/class/System.Web.Services/Makefile
+++ b/mcs/class/System.Web.Services/Makefile
@@ -5,6 +5,7 @@ include ../../build/rules.make
LIBRARY = System.Web.Services.dll
MOBILE := $(filter monotouch monodroid xammac mobile mobile_static, $(PROFILE))
ifdef MOBILE
+LIB_REFS = System System.Xml
LIB_MCS_FLAGS = \
-nowarn:649 -nowarn:169 \
-r:$(corlib) \
@@ -14,6 +15,7 @@ LIB_MCS_FLAGS = \
-resource:System.Web.Services.Description/wsdl-1.1-soap.xsd,wsdl-1.1-soap.xsd \
-resource:System.Web.Services.Description/web-reference.xsd,web-reference.xsd
else
+LIB_REFS = System System.EnterpriseServices System.Xml System.Web
LIB_MCS_FLAGS = \
-nowarn:649 -nowarn:169 \
-r:$(corlib) \
@@ -28,6 +30,7 @@ LOCAL_MCS_FLAGS = -lib:$(plainweb_dir)
plainweb = $(plainweb_dir)/System.Web.dll
system_web_services_deps = $(plainweb)
+LIB_REFS += System.Configuration
LIB_MCS_FLAGS += \
-r:System.Configuration.dll \
-resource:System.Web.Services.Description/wsdl-1.1.xsd,wsdl-1.1.xsd \
diff --git a/mcs/class/System.Web.WebPages.Deployment/Makefile b/mcs/class/System.Web.WebPages.Deployment/Makefile
index cb466167f7e..4dc001ae3b9 100644
--- a/mcs/class/System.Web.WebPages.Deployment/Makefile
+++ b/mcs/class/System.Web.WebPages.Deployment/Makefile
@@ -11,6 +11,7 @@ System.Web.WebPages.Deployment.Common.CommonResources.resources: ../../../extern
System.Web.WebPages.Deployment.Resources.ConfigurationResources.resources: ../../../external/aspnetwebstack/src/System.Web.WebPages.Deployment/Resources/ConfigurationResources.resx
$(RESGEN) "$<" "$@"
+LIB_REFS = System System.Core System.Configuration System.Web Microsoft.Web.Infrastructure
LIB_MCS_FLAGS = \
/warn:1 \
/keyfile:../winfx.pub -delaysign \
diff --git a/mcs/class/System.Web.WebPages.Razor/Makefile b/mcs/class/System.Web.WebPages.Razor/Makefile
index f94ee8aa01b..9546cc4363a 100644
--- a/mcs/class/System.Web.WebPages.Razor/Makefile
+++ b/mcs/class/System.Web.WebPages.Razor/Makefile
@@ -11,6 +11,7 @@ System.Web.WebPages.Razor.Common.CommonResources.resources: ../../../external/as
System.Web.WebPages.Razor.Resources.RazorWebResources.resources: ../../../external/aspnetwebstack/src/System.Web.WebPages.Razor/Resources/RazorWebResources.resx
$(RESGEN) "$<" "$@"
+LIB_REFS = System System.Core System.Configuration System.Web System.Web.WebPages System.Web.Razor
LIB_MCS_FLAGS = \
/warn:1 \
/keyfile:../winfx.pub \
diff --git a/mcs/class/System.Web.WebPages/Makefile b/mcs/class/System.Web.WebPages/Makefile
index a3eb5d1f8f1..86c363d4e2b 100644
--- a/mcs/class/System.Web.WebPages/Makefile
+++ b/mcs/class/System.Web.WebPages/Makefile
@@ -11,6 +11,7 @@ System.Web.WebPages.Common.CommonResources.resources: ../../../external/aspnetwe
System.Web.WebPages.Resources.WebPageResources.resources: ../../../external/aspnetwebstack/src/System.Web.WebPages/Resources/WebPageResources.resx
$(RESGEN) "$<" "$@"
+LIB_REFS = Microsoft.CSharp Microsoft.Web.Infrastructure System System.ComponentModel.DataAnnotations System.Configuration System.Core System.Data.Linq System.Web System.Web.WebPages.Deployment System.Web.Razor System.Xml System.Xml.Linq
LIB_MCS_FLAGS = \
/warn:1 \
/keyfile:../winfx.pub \
diff --git a/mcs/class/System.Web/Makefile b/mcs/class/System.Web/Makefile
index 76108716e36..2d5ad39a152 100644
--- a/mcs/class/System.Web/Makefile
+++ b/mcs/class/System.Web/Makefile
@@ -240,6 +240,7 @@ OTHER_LIB_MCS_FLAGS += -r:System.Web.ApplicationServices.dll
OTHER_RES += $(RESOURCE_FILES_4)
endif
+LIB_REFS = System System.Core System.Drawing System.Data System.Xml System.EnterpriseServices System.Runtime.Serialization.Formatters.Soap System.ComponentModel.DataAnnotations
LIB_MCS_FLAGS = \
-unsafe \
-nowarn:612,618 \
@@ -257,6 +258,7 @@ LIB_MCS_FLAGS = \
$(OTHER_RES:%=/resource:%)
ifneq (plainweb/,$(intermediate))
+LIB_REFS += System.Web.Services
LIB_MCS_FLAGS += -define:WEBSERVICES_DEP -r:System.Web.Services.dll
all-local: System.Web/UplevelHelper.cs resources/TranslationResources.resources
diff --git a/mcs/class/System.Windows.Forms.DataVisualization/Makefile b/mcs/class/System.Windows.Forms.DataVisualization/Makefile
index b871fd3acf4..c19e041c5b8 100644
--- a/mcs/class/System.Windows.Forms.DataVisualization/Makefile
+++ b/mcs/class/System.Windows.Forms.DataVisualization/Makefile
@@ -1,20 +1,21 @@
-thisdir = class/System.Windows.Forms.DataVisualization
-SUBDIRS =
-include ../../build/rules.make
-
-LIBRARY = System.Windows.Forms.DataVisualization.dll
-LIB_MCS_FLAGS = -r:System -r:System.Drawing -r:System.Windows.Forms -r:System.Core -r:System.Data -r:System.Xml
-TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
-
-EXTRA_DISTFILES =
-
-VALID_PROFILE := $(filter 4, $(FRAMEWORK_VERSION_MAJOR))
-
-ifndef VALID_PROFILE
-LIBRARY_NAME = dummy-System.Windows.Forms.DataVisualization.dll
-NO_INSTALL = yes
-NO_SIGN_ASSEMBLY = yes
-NO_TEST = yes
-endif
-
-include ../../build/library.make
+thisdir = class/System.Windows.Forms.DataVisualization
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Windows.Forms.DataVisualization.dll
+LIB_REFS = System System.Drawing System.Windows.Forms System.Core System.Data System.Xml
+LIB_MCS_FLAGS = -r:System -r:System.Drawing -r:System.Windows.Forms -r:System.Core -r:System.Data -r:System.Xml
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
+
+EXTRA_DISTFILES =
+
+VALID_PROFILE := $(filter 4, $(FRAMEWORK_VERSION_MAJOR))
+
+ifndef VALID_PROFILE
+LIBRARY_NAME = dummy-System.Windows.Forms.DataVisualization.dll
+NO_INSTALL = yes
+NO_SIGN_ASSEMBLY = yes
+NO_TEST = yes
+endif
+
+include ../../build/library.make
diff --git a/mcs/class/System.Windows/Makefile b/mcs/class/System.Windows/Makefile
index ebbccadf212..67755fba9ca 100644
--- a/mcs/class/System.Windows/Makefile
+++ b/mcs/class/System.Windows/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Windows.dll
+LIB_REFS = System
LIB_MCS_FLAGS = /r:System
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/System.XML/Makefile b/mcs/class/System.XML/Makefile
index 6b103bd7c99..9ac47d7380b 100644
--- a/mcs/class/System.XML/Makefile
+++ b/mcs/class/System.XML/Makefile
@@ -15,6 +15,7 @@ endif
PROFILE_ANY_MOBILE := $(filter monotouch monotouch_runtime monodroid xammac mobile mobile_static, $(PROFILE))
+LIB_REFS = System
LIB_MCS_FLAGS = -r:$(corlib) -r:System.dll -nowarn:0618,0612,0642
ifeq (2.1, $(FRAMEWORK_VERSION))
LIB_MCS_FLAGS += -unsafe -d:AGCLR -d:NET_2_1_HACK
diff --git a/mcs/class/System.Xaml/Makefile b/mcs/class/System.Xaml/Makefile
index 5104e87b042..c62739fc540 100644
--- a/mcs/class/System.Xaml/Makefile
+++ b/mcs/class/System.Xaml/Makefile
@@ -5,6 +5,7 @@ include ../../build/rules.make
RESOURCE_FILES =
LIBRARY = System.Xaml.dll
+LIB_REFS = System System.Xml System.Core
LIB_MCS_FLAGS = \
/r:System.dll \
/r:System.Xml.dll \
diff --git a/mcs/class/System.Xml.Linq/Makefile b/mcs/class/System.Xml.Linq/Makefile
index 65bdd81ee2f..8cefa8025f5 100644
--- a/mcs/class/System.Xml.Linq/Makefile
+++ b/mcs/class/System.Xml.Linq/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Xml.Linq.dll
+LIB_REFS = System System.Core System.Xml
LIB_MCS_FLAGS = \
-r:System.dll \
-r:System.Core.dll \
diff --git a/mcs/class/System.Xml.Serialization/Makefile b/mcs/class/System.Xml.Serialization/Makefile
index ff0d35d4a3d..16adad2a2c5 100644
--- a/mcs/class/System.Xml.Serialization/Makefile
+++ b/mcs/class/System.Xml.Serialization/Makefile
@@ -3,6 +3,7 @@ SUBDIRS =
include ../../build/rules.make
LIBRARY = System.Xml.Serialization.dll
+LIB_REFS = System.Xml System.ServiceModel
LIB_MCS_FLAGS = /r:System.Xml /r:System.ServiceModel
PLATFORM_DEBUG_FLAGS =
diff --git a/mcs/class/System/Makefile b/mcs/class/System/Makefile
index 85236a2dc27..50158f62f58 100644
--- a/mcs/class/System/Makefile
+++ b/mcs/class/System/Makefile
@@ -47,6 +47,7 @@ endif
#
ifeq (secxml/, $(intermediate))
LOCAL_MCS_FLAGS = -lib:$(bare_libdir)
+LIB_REFS += System.Xml MonoSecurity=Mono.Security
LIB_MCS_FLAGS += -d:SECURITY_DEP -d:XML_DEP -r:PrebuiltSystem=$(bare_libdir)/System.dll -r:System.Xml.dll -r:MonoSecurity=Mono.Security.dll
endif
@@ -54,6 +55,7 @@ endif
# Flags used to build the final version of System (when intermediate is not defined)
#
ifndef intermediate
+LIB_REFS += System.Xml MonoSecurity=Mono.Security
LIB_MCS_FLAGS += -d:SECURITY_DEP -d:XML_DEP -r:PrebuiltSystem=$(secxml_libdir)/System.dll -r:System.Xml.dll -r:MonoSecurity=Mono.Security.dll $(FINAL_MCS_FLAGS)
endif
diff --git a/mcs/class/SystemWebTestShim/Makefile b/mcs/class/SystemWebTestShim/Makefile
index 6b604f7fd11..b21207b0075 100644
--- a/mcs/class/SystemWebTestShim/Makefile
+++ b/mcs/class/SystemWebTestShim/Makefile
@@ -3,6 +3,7 @@ include ../../build/rules.make
LIBRARY = SystemWebTestShim.dll
+LIB_REFS = System.Web System
LIB_MCS_FLAGS = -r:System.Web.dll -r:System.dll
NO_INSTALL = yes
diff --git a/mcs/class/WebMatrix.Data/Makefile b/mcs/class/WebMatrix.Data/Makefile
index 30411d736ae..388fe213386 100644
--- a/mcs/class/WebMatrix.Data/Makefile
+++ b/mcs/class/WebMatrix.Data/Makefile
@@ -6,5 +6,6 @@ LIBRARY = WebMatrix.Data.dll
include ../../build/library.make
+LIB_REFS = System System.Data System.Core System.Configuration
LIB_MCS_FLAGS = -r:$(corlib) -r:System.dll -r:System.Data.dll -r:System.Core.dll -r:System.Configuration.dll
TEST_MCS_FLAGS = -r:System.dll -r:System.Core.dll -r:System.Data.dll -r:Mono.Data.Sqlite.dll -r:Microsoft.CSharp.dll
diff --git a/mcs/class/WindowsBase/Makefile b/mcs/class/WindowsBase/Makefile
index a358cdd078b..228d5f73828 100644
--- a/mcs/class/WindowsBase/Makefile
+++ b/mcs/class/WindowsBase/Makefile
@@ -3,6 +3,7 @@ include ../../build/rules.make
LIBRARY = WindowsBase.dll
+LIB_REFS = System System.Xml
LIB_MCS_FLAGS = -unsafe -r:System.dll -r:System.Xml.dll
TEST_MCS_FLAGS = -unsafe -r:WindowsBase.dll -r:System.dll -r:System.Xml.dll -r:System.Core.dll
@@ -10,6 +11,7 @@ ifeq (2.0, $(FRAMEWORK_VERSION))
LIB_MCS_FLAGS += -d:NET_3_0
endif
ifeq (4, $(FRAMEWORK_VERSION_MAJOR))
+LIB_REFS += System.Xaml
LIB_MCS_FLAGS += -r:System.Xaml.dll
TEST_MCS_FLAGS += -r:System.Xaml.dll
endif
diff --git a/mcs/class/monodoc/Makefile b/mcs/class/monodoc/Makefile
index 6d4baf6ca46..599fe0f695f 100644
--- a/mcs/class/monodoc/Makefile
+++ b/mcs/class/monodoc/Makefile
@@ -87,6 +87,7 @@ EXTRA_DISTFILES = \
Test/monodoc_test/trees/tree-from-3-0-old.tree \
Test/monodoc_test/trees/tree-from-3-0.tree
+LIB_REFS = ICSharpCode.SharpZipLib System System.Core System.Xml System.Xml.Linq System.Configuration
LIB_MCS_FLAGS = \
/unsafe \
/codepage:utf8 \