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
diff options
context:
space:
mode:
authorGonzalo Paniagua Javier <gonzalo.mono@gmail.com>2003-07-14 15:38:40 +0400
committerGonzalo Paniagua Javier <gonzalo.mono@gmail.com>2003-07-14 15:38:40 +0400
commit3f761fefe47213af1301315e2aca06a792d706cc (patch)
tree64e4512476c90c3fc6207a30cfb9f883a6c72ca1
parentf6574c38ac9619e9a69b60ce39288c38ff1aa5e7 (diff)
New build system from Peter Williams (peter@newton.cx)
svn path=/trunk/mcs/; revision=16195
-rw-r--r--mcs/Makefile105
-rw-r--r--mcs/class/Accessibility/Accessibility.build38
-rw-r--r--mcs/class/Accessibility/Makefile9
-rw-r--r--mcs/class/Accessibility/makefile.gnu16
-rwxr-xr-xmcs/class/ByteFX.Data/ByteFX.Data.build44
-rw-r--r--mcs/class/ByteFX.Data/Makefile11
-rwxr-xr-xmcs/class/ByteFX.Data/makefile.gnu14
-rw-r--r--mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.build45
-rw-r--r--mcs/class/Commons.Xml.Relaxng/Makefile19
-rw-r--r--mcs/class/Commons.Xml.Relaxng/Test/Commons.Xml.Relaxng_test.build55
-rw-r--r--mcs/class/Commons.Xml.Relaxng/Test/makefile.gnu29
-rw-r--r--mcs/class/Commons.Xml.Relaxng/makefile.gnu16
-rw-r--r--mcs/class/Cscompmgd/Cscompmgd.build26
-rw-r--r--mcs/class/Cscompmgd/Makefile9
-rw-r--r--mcs/class/Cscompmgd/makefile.gnu15
-rw-r--r--mcs/class/Custommarshalers/Makefile9
-rw-r--r--mcs/class/Custommarshalers/makefile.gnu13
-rw-r--r--mcs/class/I18N/CJK/Makefile11
-rwxr-xr-xmcs/class/I18N/CJK/makefile.gnu13
-rw-r--r--mcs/class/I18N/Common/Makefile9
-rwxr-xr-xmcs/class/I18N/Common/makefile.gnu13
-rw-r--r--mcs/class/I18N/I18N.build111
-rw-r--r--mcs/class/I18N/Makefile15
-rw-r--r--mcs/class/I18N/MidEast/Makefile11
-rwxr-xr-xmcs/class/I18N/MidEast/makefile.gnu13
-rw-r--r--mcs/class/I18N/Other/Makefile11
-rwxr-xr-xmcs/class/I18N/Other/makefile.gnu13
-rw-r--r--mcs/class/I18N/Rare/Makefile11
-rwxr-xr-xmcs/class/I18N/Rare/makefile.gnu13
-rw-r--r--mcs/class/I18N/West/Makefile11
-rwxr-xr-xmcs/class/I18N/West/makefile.gnu13
-rwxr-xr-xmcs/class/I18N/makefile.gnu14
-rw-r--r--mcs/class/ICSharpCode.SharpZipLib/Makefile10
-rw-r--r--mcs/class/ICSharpCode.SharpZipLib/SharpZipLib.build38
-rw-r--r--mcs/class/ICSharpCode.SharpZipLib/makefile.gnu14
-rw-r--r--mcs/class/Makefile79
-rw-r--r--mcs/class/Microsoft.JScript/Makefile10
-rw-r--r--mcs/class/Microsoft.JScript/makefile.gnu10
-rw-r--r--mcs/class/Microsoft.VisualBasic/Makefile8
-rw-r--r--mcs/class/Microsoft.VisualBasic/Microsoft.VisualBasic.build40
-rw-r--r--mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic_test.build58
-rw-r--r--mcs/class/Microsoft.VisualBasic/Test/makefile.gnu28
-rw-r--r--mcs/class/Microsoft.VisualBasic/makefile.gnu14
-rw-r--r--mcs/class/Microsoft.VisualC/Makefile9
-rw-r--r--mcs/class/Microsoft.VisualC/Microsoft.VisualC.build40
-rw-r--r--mcs/class/Microsoft.VisualC/makefile.gnu13
-rw-r--r--mcs/class/Microsoft.Vsa/Makefile9
-rw-r--r--mcs/class/Microsoft.Vsa/makefile.gnu10
-rw-r--r--mcs/class/Mono.CSharp.Debugger/Makefile9
-rw-r--r--mcs/class/Mono.CSharp.Debugger/Mono.CSharp.Debugger.build22
-rw-r--r--mcs/class/Mono.CSharp.Debugger/makefile.gnu13
-rw-r--r--mcs/class/Mono.Data.DB2Client/Makefile17
-rwxr-xr-xmcs/class/Mono.Data.DB2Client/Mono.Data.DB2Client.build44
-rw-r--r--mcs/class/Mono.Data.DB2Client/makefile.gnu12
-rw-r--r--mcs/class/Mono.Data.MySql/Makefile17
-rw-r--r--mcs/class/Mono.Data.MySql/Mono.Data.MySql.build53
-rw-r--r--mcs/class/Mono.Data.MySql/makefile.gnu14
-rw-r--r--mcs/class/Mono.Data.PostgreSqlClient/Makefile9
-rw-r--r--mcs/class/Mono.Data.PostgreSqlClient/Mono.Data.PostgreSqlClient.build46
-rw-r--r--mcs/class/Mono.Data.PostgreSqlClient/makefile.gnu12
-rw-r--r--mcs/class/Mono.Data.SqliteClient/Makefile11
-rw-r--r--mcs/class/Mono.Data.SqliteClient/Mono.Data.SqliteClient.build47
-rw-r--r--mcs/class/Mono.Data.SqliteClient/makefile.gnu12
-rw-r--r--mcs/class/Mono.Data.SybaseClient/Makefile11
-rw-r--r--mcs/class/Mono.Data.SybaseClient/Mono.Data.SybaseClient.build44
-rw-r--r--mcs/class/Mono.Data.SybaseClient/makefile.gnu16
-rw-r--r--mcs/class/Mono.Data.Tds/Makefile9
-rwxr-xr-xmcs/class/Mono.Data.Tds/Mono.Data.Tds.build39
-rw-r--r--mcs/class/Mono.Data.Tds/makefile.gnu14
-rw-r--r--mcs/class/Mono.Data.TdsClient/Makefile11
-rw-r--r--mcs/class/Mono.Data.TdsClient/Mono.Data.TdsClient.build45
-rw-r--r--mcs/class/Mono.Data.TdsClient/makefile.gnu15
-rw-r--r--mcs/class/Mono.Data/Mono.Data.build35
-rwxr-xr-xmcs/class/Mono.Data/makefile.gnu14
-rw-r--r--mcs/class/Mono.Data/test/test.build36
-rw-r--r--mcs/class/Mono.Directory.LDAP/Makefile8
-rw-r--r--mcs/class/Mono.Directory.LDAP/Mono.Directory.LDAP.build32
-rw-r--r--mcs/class/Mono.Directory.LDAP/Test/makefile.gnu28
-rw-r--r--mcs/class/Mono.Directory.LDAP/makefile.gnu14
-rw-r--r--mcs/class/Mono.GetOptions/Makefile14
-rwxr-xr-xmcs/class/Mono.GetOptions/Mono.GetOptions.build39
-rw-r--r--mcs/class/Mono.GetOptions/makefile.gnu13
-rw-r--r--mcs/class/Mono.Globalization/Makefile37
-rw-r--r--mcs/class/Mono.Globalization/makefile13
-rw-r--r--mcs/class/Mono.PEToolkit/Makefile15
-rwxr-xr-xmcs/class/Mono.PEToolkit/PEToolkit.build24
-rw-r--r--mcs/class/Mono.PEToolkit/build/Makefile23
-rw-r--r--mcs/class/Mono.PEToolkit/build/pet.build33
-rw-r--r--mcs/class/Mono.PEToolkit/makefile.gnu68
-rw-r--r--mcs/class/Mono.Posix/Makefile9
-rw-r--r--mcs/class/Mono.Posix/Mono.Posix.build24
-rw-r--r--mcs/class/Mono.Posix/makefile.gnu13
-rw-r--r--mcs/class/Mono.Security.Win32/Makefile9
-rw-r--r--mcs/class/Mono.Security.Win32/Mono.Security.Win32.build34
-rw-r--r--mcs/class/Mono.Security.Win32/Test/Mono.Security.Win32_test.build40
-rw-r--r--mcs/class/Mono.Security/Makefile9
-rw-r--r--mcs/class/Mono.Security/Mono.Security.build34
-rw-r--r--mcs/class/Mono.Security/Test/Mono.Security_test.build40
-rw-r--r--mcs/class/Mono.Security/Test/makefile.gnu28
-rw-r--r--mcs/class/Mono.Security/makefile.gnu16
-rwxr-xr-xmcs/class/Npgsql/Makefile54
-rwxr-xr-xmcs/class/Npgsql/Npgsql.build47
-rwxr-xr-xmcs/class/Npgsql/makefile.gnu14
-rw-r--r--mcs/class/PEAPI/Makefile11
-rwxr-xr-xmcs/class/PEAPI/PEAPI.build37
-rw-r--r--mcs/class/PEAPI/makefile.gnu14
-rw-r--r--mcs/class/System.Configuration.Install/Makefile11
-rw-r--r--mcs/class/System.Configuration.Install/System.Configuration.Install.build34
-rw-r--r--mcs/class/System.Configuration.Install/Test/System.Configuration.Install_test.build33
-rw-r--r--mcs/class/System.Configuration.Install/Test/makefile.gnu27
-rw-r--r--mcs/class/System.Configuration.Install/makefile.gnu14
-rw-r--r--mcs/class/System.Data.OracleClient/Makefile11
-rwxr-xr-xmcs/class/System.Data.OracleClient/System.Data.OracleClient.build44
-rwxr-xr-xmcs/class/System.Data.OracleClient/makefile.gnu15
-rw-r--r--mcs/class/System.Data/Makefile35
-rw-r--r--mcs/class/System.Data/System.Data.build48
-rw-r--r--mcs/class/System.Data/Test/System.Data_test.build74
-rw-r--r--mcs/class/System.Data/Test/makefile.gnu29
-rw-r--r--mcs/class/System.Data/makefile.gnu17
-rw-r--r--mcs/class/System.Design/Makefile10
-rwxr-xr-xmcs/class/System.Design/System.Design.build39
-rw-r--r--mcs/class/System.Design/makefile.gnu16
-rw-r--r--mcs/class/System.DirectoryServices/Makefile9
-rw-r--r--mcs/class/System.DirectoryServices/System.DirectoryServices.build27
-rw-r--r--mcs/class/System.DirectoryServices/makefile.gnu15
-rw-r--r--mcs/class/System.Drawing.Design/Makefile9
-rw-r--r--mcs/class/System.Drawing.Design/makefile.gnu13
-rw-r--r--mcs/class/System.Drawing/Makefile13
-rw-r--r--mcs/class/System.Drawing/System.Drawing.build26
-rw-r--r--mcs/class/System.Drawing/makefile.gnu16
-rw-r--r--mcs/class/System.EnterpriseServices/Makefile11
-rw-r--r--mcs/class/System.EnterpriseServices/System.EnterpriseServices.build30
-rw-r--r--mcs/class/System.EnterpriseServices/makefile.gnu13
-rw-r--r--mcs/class/System.Management/Makefile9
-rw-r--r--mcs/class/System.Management/System.Management.build31
-rw-r--r--mcs/class/System.Management/makefile.gnu13
-rw-r--r--mcs/class/System.Messaging/makefile.gnu15
-rw-r--r--mcs/class/System.Runtime.Remoting/Makefile11
-rw-r--r--mcs/class/System.Runtime.Remoting/System.Runtime.Remoting.build27
-rw-r--r--mcs/class/System.Runtime.Remoting/makefile.gnu14
-rw-r--r--mcs/class/System.Runtime.Serialization.Formatters.Soap/Makefile18
-rwxr-xr-xmcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap.build47
-rw-r--r--mcs/class/System.Runtime.Serialization.Formatters.Soap/Test/System.Runtime.Serialization.Formatters.Soap_test.build37
-rw-r--r--mcs/class/System.Runtime.Serialization.Formatters.Soap/Test/makefile.gnu27
-rw-r--r--mcs/class/System.Runtime.Serialization.Formatters.Soap/makefile.gnu15
-rw-r--r--mcs/class/System.Security/Makefile8
-rw-r--r--mcs/class/System.Security/System.Security.build46
-rw-r--r--mcs/class/System.Security/Test/System.Security_test.build41
-rw-r--r--mcs/class/System.Security/Test/makefile.gnu28
-rw-r--r--mcs/class/System.Security/makefile.gnu16
-rw-r--r--mcs/class/System.ServiceProcess/System.ServiceProcess.build39
-rw-r--r--mcs/class/System.ServiceProcess/makefile.gnu15
-rw-r--r--mcs/class/System.Web.Mobile/System.Web.Mobile.build37
-rw-r--r--mcs/class/System.Web.Services/Makefile15
-rw-r--r--mcs/class/System.Web.Services/System.Web.Services.build38
-rw-r--r--mcs/class/System.Web.Services/Test/System.Web.Services_test.build35
-rwxr-xr-xmcs/class/System.Web.Services/Test/makefile.gnu29
-rw-r--r--mcs/class/System.Web.Services/makefile.gnu13
-rw-r--r--mcs/class/System.Web/System.Web.build58
-rw-r--r--mcs/class/System.Web/Test/Makefile9
-rw-r--r--mcs/class/System.Web/Test/TestMonoWeb/Makefile38
-rw-r--r--mcs/class/System.Web/Test/TestMonoWeb/TestMonoWeb.build26
-rw-r--r--mcs/class/System.Web/makefile.gnu13
-rw-r--r--mcs/class/System.Windows.Forms/Gtk/Makefile (renamed from mcs/class/System.Windows.Forms/Gtk/makefile)54
-rw-r--r--mcs/class/System.Windows.Forms/Makefile19
-rw-r--r--mcs/class/System.Windows.Forms/SWFTest/Makefile24
-rw-r--r--mcs/class/System.Windows.Forms/SWFTest/makefile2
-rw-r--r--mcs/class/System.Windows.Forms/System.Windows.Forms.build49
-rw-r--r--mcs/class/System.Windows.Forms/System.Windows.Forms/makefile81
-rw-r--r--mcs/class/System.Windows.Forms/WINELib/makefile156
-rw-r--r--mcs/class/System.Windows.Forms/makefile.gnu16
-rw-r--r--mcs/class/System.XML/Makefile31
-rw-r--r--mcs/class/System.XML/System.XML.build40
-rw-r--r--mcs/class/System.XML/Test/System.XML_test.build38
-rw-r--r--mcs/class/System.XML/Test/makefile.gnu28
-rw-r--r--mcs/class/System.XML/makefile.gnu16
-rw-r--r--mcs/class/System/Makefile30
-rw-r--r--mcs/class/System/System.build38
-rw-r--r--mcs/class/System/Test/System_test.build46
-rw-r--r--mcs/class/System/Test/makefile.gnu30
-rw-r--r--mcs/class/System/makefile.gnu22
-rw-r--r--mcs/class/corlib/Makefile166
-rw-r--r--mcs/class/corlib/Test/corlib_test.build52
-rw-r--r--mcs/class/corlib/Test/makefile.gnu28
-rw-r--r--mcs/class/corlib/corlib.build159
-rwxr-xr-xmcs/class/corlib/corlib.dll.sources891
-rw-r--r--mcs/class/corlib/corlib.dll.win32-excludes1
-rw-r--r--mcs/class/corlib/corlib_cmp.dll.excludes8
-rwxr-xr-xmcs/class/corlib/corlib_test.dll.sources165
-rw-r--r--mcs/class/corlib/makefile.gnu18
-rw-r--r--mcs/class/executable.make30
-rw-r--r--mcs/class/library.build120
-rw-r--r--mcs/class/library.make63
-rw-r--r--mcs/class/makefile19
-rw-r--r--mcs/class/makefile.gnu63
-rw-r--r--mcs/docs/Makefile9
-rw-r--r--mcs/errors/Makefile52
-rwxr-xr-xmcs/errors/makefile48
-rw-r--r--mcs/ilasm/Makefile21
-rw-r--r--mcs/ilasm/makefile92
-rw-r--r--mcs/ilasm/makefile.gnu93
-rwxr-xr-xmcs/ilasm/tests/makefile35
-rw-r--r--mcs/jay/Makefile38
-rw-r--r--mcs/jay/makefile19
-rw-r--r--mcs/jay/makefile.gnu23
-rwxr-xr-xmcs/makefile136
-rw-r--r--mcs/makefile.gnu62
-rw-r--r--mcs/mbas/Makefile28
-rw-r--r--mcs/mbas/makefile58
-rw-r--r--mcs/mbas/makefile.gnu68
-rw-r--r--mcs/mcs/Makefile77
-rwxr-xr-xmcs/mcs/makefile117
-rw-r--r--mcs/mcs/makefile.gnu65
-rw-r--r--mcs/monoresgen/Makefile7
-rwxr-xr-xmcs/monoresgen/makefile26
-rwxr-xr-xmcs/monoresgen/makefile.gnu21
-rwxr-xr-xmcs/nant/makefile15
-rwxr-xr-xmcs/nant/makefile.gnu19
-rw-r--r--mcs/nunit20/Makefile10
-rw-r--r--mcs/nunit20/framework/Makefile19
-rwxr-xr-xmcs/nunit20/framework/makefile.gnu22
-rwxr-xr-xmcs/nunit20/makefile14
-rwxr-xr-xmcs/nunit20/makefile.gnu13
-rw-r--r--mcs/nunit20/nunit-console/Makefile9
-rwxr-xr-xmcs/nunit20/nunit-console/makefile.gnu19
-rwxr-xr-xmcs/nunit20/nunit.build47
-rw-r--r--mcs/nunit20/util/Makefile10
-rwxr-xr-xmcs/nunit20/util/makefile.gnu20
-rw-r--r--mcs/tests/Makefile127
-rwxr-xr-xmcs/tests/makefile205
-rw-r--r--mcs/tools/Makefile53
-rw-r--r--mcs/tools/SqlSharp/Makefile53
-rw-r--r--mcs/tools/SqlSharp/SqlSharpCli.build20
-rwxr-xr-xmcs/tools/SqlSharp/gui/gtk-sharp/makefile.gnu26
-rw-r--r--mcs/tools/cilc/Makefile34
-rw-r--r--mcs/tools/corcompare/Makefile17
-rw-r--r--mcs/tools/corcompare/corcompare.build12
-rw-r--r--mcs/tools/ictool/Makefile14
-rw-r--r--mcs/tools/makefile56
-rw-r--r--mcs/tools/makefile.gnu81
-rw-r--r--mcs/tools/mono-xsd/Makefile8
-rw-r--r--mcs/tools/mono-xsd/makefile7
-rw-r--r--mcs/tools/security/Makefile36
-rw-r--r--mcs/tools/security/certview/Makefile51
-rw-r--r--mcs/tools/security/certview/makefile29
-rw-r--r--mcs/tools/security/makefile31
-rw-r--r--mcs/tools/security/sectools.build78
247 files changed, 2794 insertions, 5932 deletions
diff --git a/mcs/Makefile b/mcs/Makefile
new file mode 100644
index 00000000000..fe4c5f7ceab
--- /dev/null
+++ b/mcs/Makefile
@@ -0,0 +1,105 @@
+thisdir := .
+SUBDIRS := build jay mcs class mbas nunit20 monoresgen ilasm tools tests errors docs
+include build/rules.make
+
+all-local: platform-check
+
+install-local: platform-check
+
+test-local: platform-check
+
+clean-local:
+
+dist-local:
+
+# fun specialty targets
+
+testcorlib:
+ @cd class/corlib && $(MAKE) test run-test
+
+bootstrap:
+ $(MAKE) all MCS='$$(INTERNAL_MCS)'
+
+unbootstrap:
+ $(MAKE) all MCS='$$(BOOTSTRAP_MCS)'
+
+# Disting. We need to override $(distdir) here.
+
+package := mcs-$(VERSION)
+top_distdir = $(dots)/$(package)
+distdir = $(top_distdir)
+export package
+
+DISTFILES = \
+ AUTHORS \
+ ChangeLog \
+ COPYING \
+ COPYING.LIB \
+ INSTALL.txt \
+ LICENSE \
+ LICENSE.GPL \
+ LICENSE.LGPL \
+ Makefile \
+ mkinstalldirs \
+ MIT.X11 \
+ MonoIcon.png \
+ README \
+ README.building \
+ ScalableMonoIcon.svg \
+ winexe.in
+
+dist-pre:
+ rm -rf $(package)
+
+dist-post:
+ tar cvzf $(package).tar.gz $(package)
+
+dist-tarball: dist-pre dist-default dist-recursive dist-post
+
+dist: dist-tarball
+ rm -rf $(package)
+
+# the egrep -v is kind of a hack (to get rid of the makefrags)
+# but otherwise we have to make dist then make clean which
+# is sort of not kosher. And it breaks with DIST_ONLY_SUBDIRS.
+
+distcheck:
+ rm -rf InstallTest Distcheck-MCS ; \
+ mkdir InstallTest ; \
+ destdir=`cd InstallTest && pwd` ; \
+ $(MAKE) dist-tarball || exit 1 ; \
+ mv $(package) Distcheck-MCS ; \
+ (cd Distcheck-MCS && \
+ make && make test && make install DESTDIR="$$destdir" && \
+ make clean && make dist || exit 1) || exit 1 ; \
+ mv Distcheck-MCS $(package) ; \
+ tar tzf $(package)/$(package).tar.gz |sed -e 's,/$$,,' |sort >distdist.list ; \
+ rm $(package)/$(package).tar.gz ; \
+ tar tzf $(package).tar.gz |sed -e 's,/$$,,' |sort >before.list ; \
+ find $(package) |egrep -v '(makefrag|response)' |sed -e 's,/$$,,' |sort >after.list ; \
+ cmp before.list after.list || exit 1 ; \
+ cmp before.list distdist.list || exit 1 ; \
+ rm -f before.list after.list distdist.list ; \
+ rm -rf $(package) InstallTest
+
+monocharge:
+ chargedir=monocharge-`date -u +%Y%m%d` ; \
+ mkdir "$$chargedir" ; \
+ DESTDIR=`cd "$$chargedir" && pwd` ; \
+ $(MAKE) install DESTDIR="$$DESTDIR" || exit 1 ; \
+ tar cvzf "$$chargedir".tgz "$$chargedir" ; \
+ rm -rf "$$chargedir"
+
+# A bare-bones monocharge.
+
+monocharge-lite:
+ chargedir=monocharge-lite-`date -u +%Y%m%d` ; \
+ mkdir "$$chargedir" ; \
+ DESTDIR=`cd "$$chargedir" && pwd` ; \
+ $(MAKE) -C mcs install DESTDIR="$$DESTDIR" || exit 1; \
+ $(MAKE) -C class/corlib install DESTDIR="$$DESTDIR" || exit 1; \
+ $(MAKE) -C class/System install DESTDIR="$$DESTDIR" || exit 1; \
+ $(MAKE) -C class/System.XML install DESTDIR="$$DESTDIR" || exit 1; \
+ $(MAKE) -C class/Mono.CSharp.Debugger install DESTDIR="$$DESTDIR" || exit 1; \
+ tar cvzf "$$chargedir".tgz "$$chargedir" ; \
+ rm -rf "$$chargedir"
diff --git a/mcs/class/Accessibility/Accessibility.build b/mcs/class/Accessibility/Accessibility.build
deleted file mode 100644
index 4feba5e7a9d..00000000000
--- a/mcs/class/Accessibility/Accessibility.build
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Accessibility.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/Accessibility.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <arg value="/lib:../lib/"/>
-
- <!-- cor compare dies with these currently -->
- <!--arg value="/nostdlib"/--> <!-- don't reference mscorlib -->
- <!--arg value="/r:corlib.dll"/-->
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- <copy file="../lib/Accessibility.dll" tofile="Test/Accessibility.dll"/>
-<!-- TODO: missing tests & buildfile
- <nant basedir="Test" target="build"/>
--->
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/Accessibility.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Accessibility/Makefile b/mcs/class/Accessibility/Makefile
new file mode 100644
index 00000000000..907ce82bb5b
--- /dev/null
+++ b/mcs/class/Accessibility/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Accessibility
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Accessibility.dll
+LIB_MCS_FLAGS = /r:$(corlib)
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Accessibility/makefile.gnu b/mcs/class/Accessibility/makefile.gnu
deleted file mode 100644
index 5c854c37523..00000000000
--- a/mcs/class/Accessibility/makefile.gnu
+++ /dev/null
@@ -1,16 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/Accessibility.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/ByteFX.Data/ByteFX.Data.build b/mcs/class/ByteFX.Data/ByteFX.Data.build
deleted file mode 100755
index 0b5788c9761..00000000000
--- a/mcs/class/ByteFX.Data/ByteFX.Data.build
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for ByteFX.Data.dll -->
-
-<project name="ByteFX.Data" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/ByteFX.Data.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:../lib/System.dll"/>
- <arg value="/r:../lib/System.Xml.dll"/>
- <arg value="/r:../lib/System.Data.dll"/>
- <arg value="/r:../lib/ICSharpCode.SharpZipLib.dll"/>
-
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- <includes name="../lib/ICSharpCode.SharpZipLib.dll"/>
-
- </references>
- </csc>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/ByteFX.Data.dll" failonerror="false"/>
-
- </target>
-</project>
diff --git a/mcs/class/ByteFX.Data/Makefile b/mcs/class/ByteFX.Data/Makefile
new file mode 100644
index 00000000000..81123e76ded
--- /dev/null
+++ b/mcs/class/ByteFX.Data/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/ByteFX.Data
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = ByteFX.Data.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll \
+ /r:System.Data.dll /r:ICSharpCode.SharpZipLib.dll
+NO_TEST = yes
+EXTRA_DISTFILES = ChangeLog.txt lgpl.txt readme.txt
+
+include ../../build/library.make
diff --git a/mcs/class/ByteFX.Data/makefile.gnu b/mcs/class/ByteFX.Data/makefile.gnu
deleted file mode 100755
index 7bff96cc1ad..00000000000
--- a/mcs/class/ByteFX.Data/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/ByteFX.Data.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml -r System.Data -r ICSharpCode.SharpZipLib
-
-SOURCES_INCLUDE=./*.cs ./Common/*.cs ./mysqlclient/*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.build b/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.build
deleted file mode 100644
index d5811e794d5..00000000000
--- a/mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng.build
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Commons.Xml.Relaxng.dll -->
-
-<project name="Commons.Xml.Relaxng" default="build">
- <property name="debug" value="true"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/Commons.Xml.Relaxng.dll" debug="${debug}">
- <!-- 'foo' is defined in multiple places; using definition from 'bar' -->
- <arg value="/nowarn:1595"/>
- <!-- Other languages may permit the internal virtual member 'foo' to be overridden -->
- <arg value="/nowarn:0679"/>
- <arg value="/nowarn:0649"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
-<!--
- <arg value="/nostdlib" />
- <references basedir="..\lib">
- <includes name="corlib.dll"/>
- <includes name="System.dll"/>
- <includes name="System.Xml.dll"/>
- </references>
- <arg value="/r:..\lib\System.dll" />
- <arg value="/r:..\lib\System.Xml.dll" />
--->
- </csc>
- <nant basedir="Test" target="build"/>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/Commons.Xml.Relaxng.dll" failonerror="false"/>
- <delete file="Test/Commons.Xml.Relaxng.dll" failonerror="false"/>
- <delete file="Test/System.Xml.dll" failonerror="false"/>
- <delete file="../lib/Commons.Xml.Relaxng.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Commons.Xml.Relaxng/Makefile b/mcs/class/Commons.Xml.Relaxng/Makefile
new file mode 100644
index 00000000000..b8d013c94d6
--- /dev/null
+++ b/mcs/class/Commons.Xml.Relaxng/Makefile
@@ -0,0 +1,19 @@
+thisdir = class/Commons.Xml.Relaxng
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Commons.Xml.Relaxng.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
+EXTRA_DISTFILES = \
+ Test/ChangeLog \
+ Test/XmlFiles/ChangeLog \
+ Test/XmlFiles/SimpleElementPattern1.xml \
+ Test/XmlFiles/SimpleElementPattern1.rng \
+ Test/XmlFiles/SimpleElementPattern2.xml \
+ Test/XmlFiles/SimpleElementPattern2.rng \
+ Test/XmlFiles/team.xml \
+ Test/XmlFiles/team.rng
+
+
+include ../../build/library.make
diff --git a/mcs/class/Commons.Xml.Relaxng/Test/Commons.Xml.Relaxng_test.build b/mcs/class/Commons.Xml.Relaxng/Test/Commons.Xml.Relaxng_test.build
deleted file mode 100644
index d79a325bf44..00000000000
--- a/mcs/class/Commons.Xml.Relaxng/Test/Commons.Xml.Relaxng_test.build
+++ /dev/null
@@ -1,55 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Commons.Xml.Relaxng_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="Commons.Xml.Relaxng_test" default="build">
- <property name="debug" value="false"/>
- <property name="nunit_home" value="..\..\..\nunit"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <copy file="../../lib/Commons.Xml.Relaxng.dll" tofile="Commons.Xml.Relaxng.dll"/>
- <csc target="library" output="Commons.Xml.Relaxng_test.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <sources>
- <includes name="**/*.cs"/>
- </sources>
- <references basedir="..\..\..\nunit20">
- <includes name="NUnit.Framework.dll"/>
- </references>
-<!--
- <arg value="/nostdlib" />
- <references basedir="..\..\lib">
- <includes name="corlib.dll"/>
- <includes name="System.dll"/>
- <includes name="System.Xml.dll"/>
- <includes name="Commons.Xml.Relaxng.dll"/>
- </references>
- <arg value="/r:..\..\lib\corlib.dll" />
- <arg value="/r:..\..\lib\System.dll" />
- <arg value="/r:..\..\lib\System.Xml.dll" />
--->
- <references basedir="..\..\lib">
- <includes name="Commons.Xml.Relaxng.dll"/>
- </references>
- <arg value="/r:Commons.Xml.Relaxng.dll" />
- </csc>
-<!--
- <copy file="../../lib/corlib.dll" tofile="corlib.dll"/>
- <copy file="../../lib/System.dll" tofile="System.dll"/>
- <copy file="../../lib/System.Xml.dll" tofile="System.XML.dll"/>
--->
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="Commons.Xml.Relaxng_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="Commons.Xml.Relaxng_test.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Commons.Xml.Relaxng/Test/makefile.gnu b/mcs/class/Commons.Xml.Relaxng/Test/makefile.gnu
deleted file mode 100644
index e1c0e7de7d9..00000000000
--- a/mcs/class/Commons.Xml.Relaxng/Test/makefile.gnu
+++ /dev/null
@@ -1,29 +0,0 @@
-topdir = ../../..
-
-LIBRARY = Commons.Xml.Relaxng_test.dll
-
-LIB_LIST = Commons.Xml.Relaxng_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/class/lib/System.Xml.dll \
- -r $(topdir)/class/lib/Commons.Xml.Relaxng.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:$(topdir)/class/lib:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/Commons.Xml.Relaxng/makefile.gnu b/mcs/class/Commons.Xml.Relaxng/makefile.gnu
deleted file mode 100644
index c214fac453e..00000000000
--- a/mcs/class/Commons.Xml.Relaxng/makefile.gnu
+++ /dev/null
@@ -1,16 +0,0 @@
-topdir = ../..
-
-TEST_DIR = Test
-LIBRARY = $(topdir)/class/lib/Commons.Xml.Relaxng.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r:corlib -r:System -r:System.Xml
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
- ./System.Xml/Driver.cs
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Cscompmgd/Cscompmgd.build b/mcs/class/Cscompmgd/Cscompmgd.build
deleted file mode 100644
index 4212e5494a0..00000000000
--- a/mcs/class/Cscompmgd/Cscompmgd.build
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Cscompmgd.dll -->
-
-<project name="Cscompmgd" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Cscompmgd.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
-
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- </references>
-
- </csc>
- </target>
- <target name="clean">
- <delete file="../lib/Cscompmgd.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Cscompmgd/Makefile b/mcs/class/Cscompmgd/Makefile
new file mode 100644
index 00000000000..74b47323760
--- /dev/null
+++ b/mcs/class/Cscompmgd/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Cscompmgd
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Cscompmgd.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Cscompmgd/makefile.gnu b/mcs/class/Cscompmgd/makefile.gnu
deleted file mode 100644
index ba44c9593ce..00000000000
--- a/mcs/class/Cscompmgd/makefile.gnu
+++ /dev/null
@@ -1,15 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/Cscompmgd.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Custommarshalers/Makefile b/mcs/class/Custommarshalers/Makefile
new file mode 100644
index 00000000000..e0a487ec7c7
--- /dev/null
+++ b/mcs/class/Custommarshalers/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Custommarshalers
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Runtime.InteropServices.CustomMarshalers.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Custommarshalers/makefile.gnu b/mcs/class/Custommarshalers/makefile.gnu
deleted file mode 100644
index df93befc412..00000000000
--- a/mcs/class/Custommarshalers/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Custommarshalers.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/I18N/CJK/Makefile b/mcs/class/I18N/CJK/Makefile
new file mode 100644
index 00000000000..db09952eddd
--- /dev/null
+++ b/mcs/class/I18N/CJK/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/I18N/CJK
+SUBDIRS =
+include ../../../build/rules.make
+
+LIBRARY = I18N.CJK.dll
+LOCAL_MCS_FLAGS = /unsafe /resource:big5.table /resource:gb2312.table /resource:jis.table /r:$(corlib) /r:I18N.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = big5.table jis.table gb2312.table
+
+include ../../../build/library.make
diff --git a/mcs/class/I18N/CJK/makefile.gnu b/mcs/class/I18N/CJK/makefile.gnu
deleted file mode 100755
index 6ab89bb6be5..00000000000
--- a/mcs/class/I18N/CJK/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../../..
-
-LIBRARY = $(topdir)/class/lib/I18N.CJK.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = --unsafe --resource big5.table --resource gb2312.table --resource jis.table -r corlib -r mscorlib -r I18N
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/I18N/Common/Makefile b/mcs/class/I18N/Common/Makefile
new file mode 100644
index 00000000000..789a5358e60
--- /dev/null
+++ b/mcs/class/I18N/Common/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/I18N/Common
+SUBDIRS =
+include ../../../build/rules.make
+
+LIBRARY = I18N.dll
+LOCAL_MCS_FLAGS = /r:$(corlib)
+NO_TEST = yes
+
+include ../../../build/library.make
diff --git a/mcs/class/I18N/Common/makefile.gnu b/mcs/class/I18N/Common/makefile.gnu
deleted file mode 100755
index 7ad76a2ed74..00000000000
--- a/mcs/class/I18N/Common/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../../..
-
-LIBRARY = $(topdir)/class/lib/I18N.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r mscorlib
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/I18N/I18N.build b/mcs/class/I18N/I18N.build
deleted file mode 100644
index f0d43444005..00000000000
--- a/mcs/class/I18N/I18N.build
+++ /dev/null
@@ -1,111 +0,0 @@
-<?xml version="1.0"?>
-<project name="pnetlib I18N" default="build">
- <property name="debug" value="false"/>
- <target name="build">
-
- <!-- Build the primary I18N.dll library -->
- <csc output="../lib/I18N.dll" target="library" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <arg value="/lib:../lib/"/>
- <arg value="/r:corlib.dll"/>
-
- <sources>
- <includes name="Common/*.cs"/>
- </sources>
-
- <!--<resources>
- <file name="../resources/en_US/I18N/I18N.resources"/>
- </resources>-->
-
- </csc>
-
- <!-- Build the I18N.CJK.dll library -->
- <csc output="../lib/I18N.CJK.dll" target="library" debug="${debug}">
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/lib:../lib/"/>
- <arg value="/r:I18N.dll"/>
- <arg value="/resource:CJK/jis.table"/>
-
- <sources>
- <includes name="CJK/*.cs"/>
- </sources>
-
- </csc>
-
- <!-- Build the I18N.MidEast.dll library -->
- <csc output="../lib/I18N.MidEast.dll" target="library" debug="${debug}">
- <arg value="/unsafe"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <arg value="/lib:../lib/"/>
- <arg value="/r:I18N.dll"/>
-
- <sources>
- <includes name="MidEast/*.cs"/>
- </sources>
-
- </csc>
-
- <!-- Build the I18N.Other.dll library -->
- <csc output="../lib/I18N.Other.dll" target="library" debug="${debug}">
- <arg value="/unsafe"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <arg value="/lib:../lib/"/>
- <arg value="/r:I18N.dll"/>
-
- <sources>
- <includes name="Other/*.cs"/>
- </sources>
-
- </csc>
-
- <!-- Build the I18N.Rare.dll library -->
- <csc output="../lib/I18N.Rare.dll" target="library" debug="${debug}">
- <arg value="/unsafe"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <arg value="/lib:../lib/"/>
- <arg value="/r:I18N.dll"/>
-
- <sources>
- <includes name="Rare/*.cs"/>
- </sources>
-
- </csc>
-
- <!-- Build the I18N.West.dll library -->
- <csc output="../lib/I18N.West.dll" target="library" debug="${debug}">
- <arg value="/unsafe"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <arg value="/lib:../lib/"/>
- <arg value="/r:I18N.dll"/>
-
- <sources>
- <includes name="West/*.cs"/>
- </sources>
-
- </csc>
-
- </target>
- <target name="clean">
- <delete failonerror="false">
- <fileset basedir="../lib">
- <includes name="I18N.dll"/>
- <includes name="I18N.CJK.dll"/>
- <includes name="I18N.MidEast.dll"/>
- <includes name="I18N.Other.dll"/>
- <includes name="I18N.Rare.dll"/>
- <includes name="I18N.West.dll"/>
- </fileset>
- </delete>
- <!-- Uncomment this if build file added for those.
- <nant basedir="Common" target="clean"/>
- <nant basedir="CJK" target="clean"/>
- <nant basedir="MidEast" target="clean"/>
- <nant basedir="Other" target="clean"/>
- <nant basedir="Rare" target="clean"/>
- <nant basedir="West" target="clean"/>
- -->
- </target>
-</project>
diff --git a/mcs/class/I18N/Makefile b/mcs/class/I18N/Makefile
new file mode 100644
index 00000000000..37e55f8e122
--- /dev/null
+++ b/mcs/class/I18N/Makefile
@@ -0,0 +1,15 @@
+thisdir = class/I18N
+SUBDIRS = Common West MidEast Other Rare CJK
+include ../../build/rules.make
+
+DISTFILES = \
+ README \
+ README.mono \
+ mklist.sh \
+ tools/cvt.sh \
+ tools/ucm2cp.c \
+ tools/uni2tab.c
+
+all-local install-local clean-local test-local run-test-local:
+
+dist-local: dist-default
diff --git a/mcs/class/I18N/MidEast/Makefile b/mcs/class/I18N/MidEast/Makefile
new file mode 100644
index 00000000000..52901e15cbf
--- /dev/null
+++ b/mcs/class/I18N/MidEast/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/I18N/MidEast
+SUBDIRS =
+include ../../../build/rules.make
+
+LIBRARY = I18N.MidEast.dll
+LOCAL_MCS_FLAGS = /r:$(corlib) /r:I18N.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = $(wildcard *.ucm)
+
+include ../../../build/library.make
diff --git a/mcs/class/I18N/MidEast/makefile.gnu b/mcs/class/I18N/MidEast/makefile.gnu
deleted file mode 100755
index 534ab9ab2f4..00000000000
--- a/mcs/class/I18N/MidEast/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../../..
-
-LIBRARY = $(topdir)/class/lib/I18N.MidEast.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r mscorlib -r I18N
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/I18N/Other/Makefile b/mcs/class/I18N/Other/Makefile
new file mode 100644
index 00000000000..bf269fbdeeb
--- /dev/null
+++ b/mcs/class/I18N/Other/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/I18N/Other
+SUBDIRS =
+include ../../../build/rules.make
+
+LIBRARY = I18N.Other.dll
+LOCAL_MCS_FLAGS = /r:$(corlib) /r:I18N.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = $(wildcard *.ucm)
+
+include ../../../build/library.make
diff --git a/mcs/class/I18N/Other/makefile.gnu b/mcs/class/I18N/Other/makefile.gnu
deleted file mode 100755
index c13fbb95068..00000000000
--- a/mcs/class/I18N/Other/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../../..
-
-LIBRARY = $(topdir)/class/lib/I18N.Other.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r mscorlib -r I18N
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/I18N/Rare/Makefile b/mcs/class/I18N/Rare/Makefile
new file mode 100644
index 00000000000..21d651aa28e
--- /dev/null
+++ b/mcs/class/I18N/Rare/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/I18N/Rare
+SUBDIRS =
+include ../../../build/rules.make
+
+LIBRARY = I18N.Rare.dll
+LOCAL_MCS_FLAGS = /r:$(corlib) /r:I18N.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = $(wildcard *.ucm)
+
+include ../../../build/library.make
diff --git a/mcs/class/I18N/Rare/makefile.gnu b/mcs/class/I18N/Rare/makefile.gnu
deleted file mode 100755
index 15aa6124dd3..00000000000
--- a/mcs/class/I18N/Rare/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../../..
-
-LIBRARY = $(topdir)/class/lib/I18N.Rare.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r mscorlib -r I18N
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/I18N/West/Makefile b/mcs/class/I18N/West/Makefile
new file mode 100644
index 00000000000..67530d2d097
--- /dev/null
+++ b/mcs/class/I18N/West/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/I18N/West
+SUBDIRS =
+include ../../../build/rules.make
+
+LIBRARY = I18N.West.dll
+LOCAL_MCS_FLAGS = /r:$(corlib) /r:I18N.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = $(wildcard *.ucm)
+
+include ../../../build/library.make
diff --git a/mcs/class/I18N/West/makefile.gnu b/mcs/class/I18N/West/makefile.gnu
deleted file mode 100755
index d4d99fc6f9c..00000000000
--- a/mcs/class/I18N/West/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../../..
-
-LIBRARY = $(topdir)/class/lib/I18N.West.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r mscorlib -r I18N
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/I18N/makefile.gnu b/mcs/class/I18N/makefile.gnu
deleted file mode 100755
index d1634e1748d..00000000000
--- a/mcs/class/I18N/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-INSTALL = /usr/bin/install
-prefix = /usr
-
-DIRS = Common West MidEast Other Rare CJK
-
-default: all
-
-all clean test:
- @for i in $(DIRS) ; do \
- if [ -d "$$i" ] && [ -f "$$i/makefile.gnu" ] ; then \
- (cd $$i && $(MAKE) -f makefile.gnu $@) || exit 1; \
- fi \
- done
-
diff --git a/mcs/class/ICSharpCode.SharpZipLib/Makefile b/mcs/class/ICSharpCode.SharpZipLib/Makefile
new file mode 100644
index 00000000000..18fce508d8a
--- /dev/null
+++ b/mcs/class/ICSharpCode.SharpZipLib/Makefile
@@ -0,0 +1,10 @@
+thisdir = class/ICSharpCode.SharpZipLib
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = ICSharpCode.SharpZipLib.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll
+NO_TEST = yes
+EXTRA_DISTFILES = SharpZipLib.key
+
+include ../../build/library.make
diff --git a/mcs/class/ICSharpCode.SharpZipLib/SharpZipLib.build b/mcs/class/ICSharpCode.SharpZipLib/SharpZipLib.build
deleted file mode 100644
index fed0f5d3264..00000000000
--- a/mcs/class/ICSharpCode.SharpZipLib/SharpZipLib.build
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Data.dll -->
-
-<project name="System.Data" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/ICSharpCode.SharpZipLib.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0679"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <includes name="**/**/*.cs"/>
- <includes name="**/**/**/*.cs"/>
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- </references>
- </csc>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/ICSharpCode.SharpZipLib.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/ICSharpCode.SharpZipLib/makefile.gnu b/mcs/class/ICSharpCode.SharpZipLib/makefile.gnu
deleted file mode 100644
index 2d5715bf58e..00000000000
--- a/mcs/class/ICSharpCode.SharpZipLib/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-TEST_DIR=
-LIBRARY = $(topdir)/class/lib/ICSharpCode.SharpZipLib.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Makefile b/mcs/class/Makefile
new file mode 100644
index 00000000000..209547f786e
--- /dev/null
+++ b/mcs/class/Makefile
@@ -0,0 +1,79 @@
+thisdir = class
+SUBDIRS = \
+ corlib \
+ I18N \
+ System \
+ System.XML \
+ System.Drawing \
+ System.EnterpriseServices \
+ Mono.Data.Tds \
+ System.Security \
+ System.Data \
+ Mono.GetOptions \
+ System.Web \
+ System.Web.Services \
+ System.Runtime.Serialization.Formatters.Soap \
+ System.Runtime.Remoting \
+ System.Configuration.Install \
+ System.Management \
+ Mono.CSharp.Debugger \
+ Mono.Data.DB2Client \
+ Mono.Data.MySql \
+ Mono.Data.PostgreSqlClient \
+ Mono.Data.SqliteClient \
+ Mono.Data.SybaseClient \
+ Mono.Data.TdsClient \
+ System.Data.OracleClient \
+ Mono.PEToolkit \
+ Mono.Posix \
+ Accessibility \
+ Microsoft.VisualBasic \
+ Microsoft.VisualC \
+ Cscompmgd \
+ System.Windows.Forms \
+ System.Design \
+ PEAPI \
+ Mono.Security \
+ Npgsql \
+ ICSharpCode.SharpZipLib \
+ ByteFX.Data \
+ Commons.Xml.Relaxng \
+ Mono.Directory.LDAP \
+ Mono.Security.Win32 \
+ System.DirectoryServices \
+# Microsoft.Vsa \
+# Microsoft.JScript \
+
+# Starting with Microsoft.Vsa, the libraries above weren't in the
+# Linux makefile.gnu before, but they build fine, so might as well
+# include them ...
+#
+# Need a way to only build/test Mono.Security.Win32 on Windows.
+# It builds on linux, but make run-test will barf because a
+# DLL doesn't exist.
+
+# These libraries below are either unimplemented or don't compile, but
+# I wrote makefiles for them.
+
+DIST_ONLY_SUBDIRS = \
+ System.Drawing.Design \
+ Custommarshalers \
+ Mono.Globalization
+
+# No new makefiles for: System.Messaging, System.Web.Mobile,
+# System.ServiceProcess
+
+include ../build/rules.make
+
+DISTFILES = \
+ LICENSE \
+ README \
+ doc/API-notes \
+ doc/NUnitGuidelines \
+ doc/notes \
+ notes/BitVecto32.txt
+
+all-local install-local test-local run-test-local clean-local:
+
+dist-local: dist-default
+ -mkdir $(distdir)/lib
diff --git a/mcs/class/Microsoft.JScript/Makefile b/mcs/class/Microsoft.JScript/Makefile
new file mode 100644
index 00000000000..f9d07072f60
--- /dev/null
+++ b/mcs/class/Microsoft.JScript/Makefile
@@ -0,0 +1,10 @@
+thisdir = class/Microsoft.JScript
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Microsoft.JScript.dll
+LIB_MCS_FLAGS = /r:System.dll /r:System.Drawing.dll \
+ /r:System.Windows.Forms.dll /r:Microsoft.Vsa.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Microsoft.JScript/makefile.gnu b/mcs/class/Microsoft.JScript/makefile.gnu
deleted file mode 100644
index de7d92cd500..00000000000
--- a/mcs/class/Microsoft.JScript/makefile.gnu
+++ /dev/null
@@ -1,10 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Microsoft.JScript.dll
-
-LIB_LIST = unix.args
-LIB_FLAGS = /r:System.Drawing.dll /r:System.Windows.Forms.dll /r:Microsoft.Vsa.dll /r:System.dll
-
-SOURCES_INCLUDE = *.cs
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Microsoft.VisualBasic/Makefile b/mcs/class/Microsoft.VisualBasic/Makefile
new file mode 100644
index 00000000000..f39306650b0
--- /dev/null
+++ b/mcs/class/Microsoft.VisualBasic/Makefile
@@ -0,0 +1,8 @@
+thisdir = class/Microsoft.VisualBasic
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Microsoft.VisualBasic.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
+
+include ../../build/library.make
diff --git a/mcs/class/Microsoft.VisualBasic/Microsoft.VisualBasic.build b/mcs/class/Microsoft.VisualBasic/Microsoft.VisualBasic.build
deleted file mode 100644
index bc0ddd3e961..00000000000
--- a/mcs/class/Microsoft.VisualBasic/Microsoft.VisualBasic.build
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/Microsoft.VisualBasic.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
-
- <!-- cor compare dies with these currently -->
- <!--<arg value="/nostdlib"/>--> <!-- don't reference mscorlib -->
- <!--<arg value="/lib:../lib/"/>-->
- <!--<arg value="/r:..\lib\corlib.dll"/>-->
- <!--<arg value="/r:..\lib\System.dll"/>-->
- <arg value="/r:System.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- <references>
- <!--<includes name="../lib/corlib.dll"/>-->
- <!--<includes name="../lib/System.dll"/>-->
- </references>
- </csc>
- <copy file="../lib/Microsoft.VisualBasic.dll" tofile="Test/Microsoft.VisualBasic.dll"/>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/Microsoft.VisualBasic.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic_test.build b/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic_test.build
deleted file mode 100644
index c0675299748..00000000000
--- a/mcs/class/Microsoft.VisualBasic/Test/Microsoft.VisualBasic_test.build
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Data_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="System.Data_test" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="Microsoft.VisualBasic_test.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="TheTests.cs"/>
- </sources>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <!--<arg value="/lib:../../lib/"/>-->
-
- <!-- cor compare dies with these currently -->
- <!--<arg value="/nostdlib"/>--> <!-- don't reference mscorlib -->
- <!--<arg value="/r:corlib.dll"/>-->
- <arg value="/r:System.dll"/>
- <arg value="/r:.\Microsoft.VisualBasic.dll"/>
- <arg value="/r:..\..\..\nunit20\NUnit.Framework.dll"/>
- </csc>
-
-<!--
- <csc target="exe" output="RunTests.Microsoft.VisualBasic.exe" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="AllTests.cs"/>
- </sources>
- <arg value="/nowarn:1595"/>
- <arg value="/noconfig"/>
- <arg value="/r:..\..\lib\corlib.dll"/>
- <arg value="/r:..\..\lib\System.dll"/>
- <arg value="/r:..\..\lib\Microsoft.VisualBasic.dll"/>
- <arg value="/r:..\..\..\nunit20\NUnit.Framework.dll"/>
- </csc>
-
--->
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="Microsoft.VisualBasic_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="Microsoft.VisualBasic.dll" failonerror="false"/>
- <delete file="Microsoft.VisualBasic_test.dll" failonerror="false"/>
- <delete file="corlib.dll" failonerror="false"/>
- <delete file="System.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Microsoft.VisualBasic/Test/makefile.gnu b/mcs/class/Microsoft.VisualBasic/Test/makefile.gnu
deleted file mode 100644
index 28e4ad4006d..00000000000
--- a/mcs/class/Microsoft.VisualBasic/Test/makefile.gnu
+++ /dev/null
@@ -1,28 +0,0 @@
-topdir = ../../..
-
-LIBRARY = microsoftvisualbasic_test.dll
-
-LIB_LIST = microsoftvisualbasic_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/class/lib/Microsoft.VisualBasic.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/Microsoft.VisualBasic/makefile.gnu b/mcs/class/Microsoft.VisualBasic/makefile.gnu
deleted file mode 100644
index a5f791d5d72..00000000000
--- a/mcs/class/Microsoft.VisualBasic/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/Microsoft.VisualBasic.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Microsoft.VisualC/Makefile b/mcs/class/Microsoft.VisualC/Makefile
new file mode 100644
index 00000000000..52e39501418
--- /dev/null
+++ b/mcs/class/Microsoft.VisualC/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Microsoft.VisualC
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Microsoft.VisualC.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Microsoft.VisualC/Microsoft.VisualC.build b/mcs/class/Microsoft.VisualC/Microsoft.VisualC.build
deleted file mode 100644
index 85e1b530953..00000000000
--- a/mcs/class/Microsoft.VisualC/Microsoft.VisualC.build
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Microsoft.VisualC.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/Microsoft.VisualC.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
-
- <!-- cor compare dies with these currently -->
- <!--<arg value="/nostdlib"/>--> <!-- don't reference mscorlib -->
- <!--<arg value="/lib:../lib/"/>-->
- <!--<arg value="/r:..\lib\corlib.dll"/>-->
- <!--<arg value="/r:..\lib\System.dll"/>-->
- <arg value="/r:System.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- <references>
- <!--<includes name="../lib/corlib.dll"/>-->
- <!--<includes name="../lib/System.dll"/>-->
- </references>
- </csc>
- <copy file="../lib/Microsoft.VisualC.dll" tofile="Test/Microsoft.VisualC.dll"/>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <delete file="../lib/Microsoft.VisualC.dll" failonerror="false"/>
- <delete file="Test/Microsoft.VisualC.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Microsoft.VisualC/makefile.gnu b/mcs/class/Microsoft.VisualC/makefile.gnu
deleted file mode 100644
index fb7328330fa..00000000000
--- a/mcs/class/Microsoft.VisualC/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Microsoft.VisualC.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Microsoft.Vsa/Makefile b/mcs/class/Microsoft.Vsa/Makefile
new file mode 100644
index 00000000000..efe7375d27c
--- /dev/null
+++ b/mcs/class/Microsoft.Vsa/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Microsoft.Vsa
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Microsoft.Vsa.dll
+LIB_MCS_FLAGS = /r:System.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Microsoft.Vsa/makefile.gnu b/mcs/class/Microsoft.Vsa/makefile.gnu
deleted file mode 100644
index c230b4eb62c..00000000000
--- a/mcs/class/Microsoft.Vsa/makefile.gnu
+++ /dev/null
@@ -1,10 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Microsoft.Vsa.dll
-
-LIB_LIST = unix.args
-LIB_FLAGS = /r:System.dll
-
-SOURCES_INCLUDE = *.cs
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.CSharp.Debugger/Makefile b/mcs/class/Mono.CSharp.Debugger/Makefile
new file mode 100644
index 00000000000..57b7210b329
--- /dev/null
+++ b/mcs/class/Mono.CSharp.Debugger/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Mono.CSharp.Debugger
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.CSharp.Debugger.dll
+LIB_MCS_FLAGS = /r:$(corlib)
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.CSharp.Debugger/Mono.CSharp.Debugger.build b/mcs/class/Mono.CSharp.Debugger/Mono.CSharp.Debugger.build
deleted file mode 100644
index 4e087603d46..00000000000
--- a/mcs/class/Mono.CSharp.Debugger/Mono.CSharp.Debugger.build
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.CSharp.Debugger.dll -->
-
-<project name="Mono.CSharp.Debugger" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.CSharp.Debugger.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/unsafe"/>
- <arg value="/r:../lib/corlib.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="clean">
- <delete file="../lib/Mono.CSharp.Debugger.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.CSharp.Debugger/makefile.gnu b/mcs/class/Mono.CSharp.Debugger/makefile.gnu
deleted file mode 100644
index 092d442937c..00000000000
--- a/mcs/class/Mono.CSharp.Debugger/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.CSharp.Debugger.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib
-
-SOURCES_INCLUDE=*.cs
-
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Data.DB2Client/Makefile b/mcs/class/Mono.Data.DB2Client/Makefile
new file mode 100644
index 00000000000..dec895f9d4e
--- /dev/null
+++ b/mcs/class/Mono.Data.DB2Client/Makefile
@@ -0,0 +1,17 @@
+thisdir = class/Mono.Data.DB2Client
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Data.DB2Client.dll
+LIB_MCS_FLAGS = /unsafe /r:$(corlib) /r:System.dll \
+ /r:System.Xml.dll /r:System.Data.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = \
+ Test/TestDB2Conn/App.ico \
+ Test/TestDB2Conn/AssemblyInfo.cs \
+ Test/TestDB2Conn/ChangeLog \
+ Test/TestDB2Conn/TestDB2Conn.cs
+
+include ../../build/library.make
+
diff --git a/mcs/class/Mono.Data.DB2Client/Mono.Data.DB2Client.build b/mcs/class/Mono.Data.DB2Client/Mono.Data.DB2Client.build
deleted file mode 100755
index 9d8794bd161..00000000000
--- a/mcs/class/Mono.Data.DB2Client/Mono.Data.DB2Client.build
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Data.DB2Client.dll -->
-
-<project name="Mono.Data.DB2Client" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Data.DB2Client.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- </references>
- </csc>
- <copy file="../lib/System.Data.dll" tofile="Test/System.Data.dll"/>
- <copy file="../lib/Mono.Data.DB2Client.dll" tofile="Test/Mono.Data.DB2Client.dll"/>
- <copy file="../lib/Mono.Data.DB2Client.dll" tofile="Mono.Data.DB2Client/Mono.Data.DB2Client.dll"/>
- <copy file="../lib/Mono.Data.DB2Client.dll" tofile="../System.Data/Test/Mono.Data.DB2Client.dll"/>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="Test/System.Data.dll" failonerror="false"/>
- <delete file="../lib/Mono.Data.DB2Client.dll" failonerror="false"/>
- <delete file="Test/Mono.Data.DB2Client.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Data.DB2Client/makefile.gnu b/mcs/class/Mono.Data.DB2Client/makefile.gnu
deleted file mode 100644
index 68dbbb684f2..00000000000
--- a/mcs/class/Mono.Data.DB2Client/makefile.gnu
+++ /dev/null
@@ -1,12 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.Data.DB2Client.dll
-
-LIB_LIST = list
-LIB_FLAGS = --unsafe -r corlib -r System -r System.Xml -r System.Data
-
-SOURCES_INCLUDE=*.cs
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Data.MySql/Makefile b/mcs/class/Mono.Data.MySql/Makefile
new file mode 100644
index 00000000000..f26fcdb2a34
--- /dev/null
+++ b/mcs/class/Mono.Data.MySql/Makefile
@@ -0,0 +1,17 @@
+thisdir = class/Mono.Data.MySql
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Data.MySql.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll /r:System.Data.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = \
+ Test/MySqlTest.cs \
+ Test/TestDataAdapter.cs \
+ Test/TestMySqlExecuteReader.cs \
+ Test/TestMySqlExecuteScalar.cs \
+ Test/TestMySqlInsert.cs \
+ Test/TestParameters.cs
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Data.MySql/Mono.Data.MySql.build b/mcs/class/Mono.Data.MySql/Mono.Data.MySql.build
deleted file mode 100644
index fc5a98bad96..00000000000
--- a/mcs/class/Mono.Data.MySql/Mono.Data.MySql.build
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Data.MySql.dll -->
-
-<project name="Mono.Data.MySql" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Data.MySql.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- <excludes name="Mono.Data.MySql/Test.cs"/>
- <excludes name="Mono.Data.MySql/MySqlClientPermission.cs"/>
- <excludes name="Mono.Data.MySql/MySqlClientPermissionAttribute.cs"/>
- <excludes name="Mono.Data.MySql/MySqlCommandBuilder.cs"/>
- <excludes name="Mono.Data.MySql/MySqlInfoMessageEventArgs.cs"/>
- <excludes name="Mono.Data.MySql/MySqlInfoMessageEventHandler.cs"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- </references>
- </csc>
- <copy file="../lib/System.Data.dll" tofile="Test/System.Data.dll"/>
- <copy file="../lib/Mono.Data.MySql.dll" tofile="Test/Mono.Data.MySql.dll"/>
- <copy file="../lib/Mono.Data.MySql.dll" tofile="Mono.Data.MySql/Mono.Data.MySql.dll"/>
- <copy file="../lib/Mono.Data.MySql.dll" tofile="../System.Data/Test/Mono.Data.MySql.dll"/>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/System.Data.dll" failonerror="false"/>
- <delete file="Test/System.Data.dll" failonerror="false"/>
- <delete file="../lib/Mono.Data.MySql.dll" failonerror="false"/>
- <delete file="Test/Mono.Data.MySql.dll" failonerror="false"/>
-
- </target>
-</project>
diff --git a/mcs/class/Mono.Data.MySql/makefile.gnu b/mcs/class/Mono.Data.MySql/makefile.gnu
deleted file mode 100644
index 9ab36d3e64f..00000000000
--- a/mcs/class/Mono.Data.MySql/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.Data.MySql.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml -r System.Data
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Data.PostgreSqlClient/Makefile b/mcs/class/Mono.Data.PostgreSqlClient/Makefile
new file mode 100644
index 00000000000..6b575334e5f
--- /dev/null
+++ b/mcs/class/Mono.Data.PostgreSqlClient/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Mono.Data.PostgreSqlClient
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Data.PostgreSqlClient.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll /r:System.Data.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Data.PostgreSqlClient/Mono.Data.PostgreSqlClient.build b/mcs/class/Mono.Data.PostgreSqlClient/Mono.Data.PostgreSqlClient.build
deleted file mode 100644
index 727df3b0492..00000000000
--- a/mcs/class/Mono.Data.PostgreSqlClient/Mono.Data.PostgreSqlClient.build
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Data.PostgreSqlClient.dll -->
-
-<project name="Mono.Data.PostgreSqlClient" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Data.PostgreSqlClient.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- </references>
- </csc>
- <copy file="../lib/System.Data.dll" tofile="Test/System.Data.dll"/>
- <copy file="../lib/Mono.Data.PostgreSqlClient.dll" tofile="Test/Mono.Data.PostgreSqlClient.dll"/>
- <copy file="../lib/Mono.Data.PostgreSqlClient.dll" tofile="Mono.Data.PostgreSqlClient.dll"/>
- <copy file="../lib/Mono.Data.PostgreSqlClient.dll" tofile="../System.Data/Test/Mono.Data.PostgreSqlClient.dll"/>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="Test/System.Data.dll" failonerror="false"/>
- <delete file="../lib/Mono.Data.PostgreSqlClient.dll" failonerror="false"/>
- <delete file="Test/Mono.Data.PostgreSqlClient.dll" failonerror="false"/>
-
- </target>
-</project>
diff --git a/mcs/class/Mono.Data.PostgreSqlClient/makefile.gnu b/mcs/class/Mono.Data.PostgreSqlClient/makefile.gnu
deleted file mode 100644
index 8970d51ec33..00000000000
--- a/mcs/class/Mono.Data.PostgreSqlClient/makefile.gnu
+++ /dev/null
@@ -1,12 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.Data.PostgreSqlClient.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml -r System.Data
-
-SOURCES_INCLUDE=*.cs
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Data.SqliteClient/Makefile b/mcs/class/Mono.Data.SqliteClient/Makefile
new file mode 100644
index 00000000000..9275e6adc7e
--- /dev/null
+++ b/mcs/class/Mono.Data.SqliteClient/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/Mono.Data.SqliteClient
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Data.SqliteClient.dll
+LIB_MCS_FLAGS = /unsafe /r:System.Data.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = Test/SqliteTest.cs
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Data.SqliteClient/Mono.Data.SqliteClient.build b/mcs/class/Mono.Data.SqliteClient/Mono.Data.SqliteClient.build
deleted file mode 100644
index 276a8c3dd08..00000000000
--- a/mcs/class/Mono.Data.SqliteClient/Mono.Data.SqliteClient.build
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Data.SqliteClient.dll -->
-
-<project name="Mono.Data.SqliteClient" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Data.SqliteClient.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- </references>
- </csc>
- <copy file="../lib/System.Data.dll" tofile="Test/System.Data.dll"/>
- <copy file="../lib/Mono.Data.SqliteClient.dll" tofile="Test/Mono.Data.SqliteClient.dll"/>
- <copy file="../lib/Mono.Data.SqliteClient.dll" tofile="Mono.Data.SqliteClient/Mono.Data.SqliteClient.dll"/>
- <copy file="../lib/Mono.Data.SqliteClient.dll" tofile="../System.Data/Test/Mono.Data.SqliteClient.dll"/>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/System.Data.dll" failonerror="false"/>
- <delete file="Test/System.Data.dll" failonerror="false"/>
- <delete file="../lib/Mono.Data.SqliteClient.dll" failonerror="false"/>
- <delete file="Test/Mono.Data.SqliteClient.dll" failonerror="false"/>
-
- </target>
-</project>
diff --git a/mcs/class/Mono.Data.SqliteClient/makefile.gnu b/mcs/class/Mono.Data.SqliteClient/makefile.gnu
deleted file mode 100644
index 5dac40ba2e2..00000000000
--- a/mcs/class/Mono.Data.SqliteClient/makefile.gnu
+++ /dev/null
@@ -1,12 +0,0 @@
-topdir = ../..
-
-#TEST_DIR = Test
-LIBRARY = $(topdir)/class/lib/Mono.Data.SqliteClient.dll
-
-LIB_LIST = sources.list
-LIB_FLAGS = --unsafe -r System.Data
-
-SOURCES_INCLUDE=*.cs
-
-export MONO_PATH_PREFIX=$(topdir)/class/lib:
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Data.SybaseClient/Makefile b/mcs/class/Mono.Data.SybaseClient/Makefile
new file mode 100644
index 00000000000..6c448a50695
--- /dev/null
+++ b/mcs/class/Mono.Data.SybaseClient/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/Mono.Data.SybaseClient
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Data.SybaseClient.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll \
+ /r:System.EnterpriseServices.dll /r:System.Data.dll \
+ /r:Mono.Data.Tds.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Data.SybaseClient/Mono.Data.SybaseClient.build b/mcs/class/Mono.Data.SybaseClient/Mono.Data.SybaseClient.build
deleted file mode 100644
index 56b8311df16..00000000000
--- a/mcs/class/Mono.Data.SybaseClient/Mono.Data.SybaseClient.build
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Data.SybaseClient.dll -->
-
-<project name="Mono.Data.SybaseClient" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Data.SybaseClient.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0679"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Data.dll"/>
- <arg value="/r:System.EnterpriseServices.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:../lib/Mono.Data.Tds.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Data.dll"/>
- <includes name="../lib/System.EnterpriseServices.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/Mono.Data.Tds.dll"/>
- </references>
- </csc>
- <copy file="../lib/Mono.Data.SybaseClient.dll" tofile="Test/Mono.Data.SybaseClient.dll"/>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/Mono.Data.SybaseClient.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Data.SybaseClient/makefile.gnu b/mcs/class/Mono.Data.SybaseClient/makefile.gnu
deleted file mode 100644
index 97d87331e04..00000000000
--- a/mcs/class/Mono.Data.SybaseClient/makefile.gnu
+++ /dev/null
@@ -1,16 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.Data.SybaseClient.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml -r System.EnterpriseServices -r System.Data -r Mono.Data.Tds
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
- *TestGDA.cs \
- ./System.Xml*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Data.Tds/Makefile b/mcs/class/Mono.Data.Tds/Makefile
new file mode 100644
index 00000000000..4d1846f5ebb
--- /dev/null
+++ b/mcs/class/Mono.Data.Tds/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Mono.Data.Tds
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Data.Tds.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Data.Tds/Mono.Data.Tds.build b/mcs/class/Mono.Data.Tds/Mono.Data.Tds.build
deleted file mode 100755
index 57e88122c30..00000000000
--- a/mcs/class/Mono.Data.Tds/Mono.Data.Tds.build
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Data.Tds.dll -->
-
-<project name="Mono.Data.Tds" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Data.Tds.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
-
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- </references>
- </csc>
- <copy file="../lib/Mono.Data.Tds.dll" tofile="../System.Data/Test/Mono.Data.Tds.dll"/>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../System.Data/Test/Mono.Data.Tds.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Data.Tds/makefile.gnu b/mcs/class/Mono.Data.Tds/makefile.gnu
deleted file mode 100644
index b6d71f4b473..00000000000
--- a/mcs/class/Mono.Data.Tds/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.Data.Tds.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Data.TdsClient/Makefile b/mcs/class/Mono.Data.TdsClient/Makefile
new file mode 100644
index 00000000000..d41717bedec
--- /dev/null
+++ b/mcs/class/Mono.Data.TdsClient/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/Mono.Data.TdsClient
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Data.TdsClient.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll \
+ /r:System.EnterpriseServices.dll /r:System.Data.dll \
+ /r:Mono.Data.Tds.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Data.TdsClient/Mono.Data.TdsClient.build b/mcs/class/Mono.Data.TdsClient/Mono.Data.TdsClient.build
deleted file mode 100644
index deec8da52f6..00000000000
--- a/mcs/class/Mono.Data.TdsClient/Mono.Data.TdsClient.build
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Data.TdsClient.dll -->
-
-<project name="Mono.Data.TdsClient" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Data.TdsClient.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.EnterpriseServices.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <arg value="/r:../lib/Mono.Data.Tds.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- <excludes name="Mono.Data.TdsClient.Internal/**"/>
- <excludes name="Mono.Data.TdsClient/Test.cs"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.EnterpriseServices.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- <includes name="../lib/Mono.Data.Tds.dll"/>
- </references>
- </csc>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/Mono.Data.TdsClient.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Data.TdsClient/makefile.gnu b/mcs/class/Mono.Data.TdsClient/makefile.gnu
deleted file mode 100644
index 60c8e05726b..00000000000
--- a/mcs/class/Mono.Data.TdsClient/makefile.gnu
+++ /dev/null
@@ -1,15 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.Data.TdsClient.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml -r System.Data -r Mono.Data.Tds -r System.EnterpriseServices
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
- ./System.Xml*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Data/Mono.Data.build b/mcs/class/Mono.Data/Mono.Data.build
deleted file mode 100644
index 5e901a954c7..00000000000
--- a/mcs/class/Mono.Data/Mono.Data.build
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Data.dll -->
-
-<project name="Mono.Data" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Data.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="test/**"/>
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- </references>
- </csc>
- </target>
- <target name="clean">
- <delete file="../lib/Mono.Data.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Data/makefile.gnu b/mcs/class/Mono.Data/makefile.gnu
deleted file mode 100755
index 03ded5b915b..00000000000
--- a/mcs/class/Mono.Data/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.Data.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml -r System.Data
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Data/test/test.build b/mcs/class/Mono.Data/test/test.build
deleted file mode 100644
index 2fb4e15ce95..00000000000
--- a/mcs/class/Mono.Data/test/test.build
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Data.dll -->
-
-<project name="Mono.Data" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="exe" output="test.exe" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <arg value="/r:../../lib/Mono.Data.dll" />
- <sources>
- <includes name="**/*.cs"/>
- </sources>
- <references>
- <includes name="../../lib/corlib.dll"/>
- <includes name="../../lib/System.dll"/>
- <includes name="../../lib/System.Xml.dll"/>
- <includes name="../../lib/System.Data.dll"/>
- <includes name="../../lib/Mono.Data.dll" />
- </references>
- </csc>
- </target>
- <target name="clean">
- <delete file="test.exe" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Directory.LDAP/Makefile b/mcs/class/Mono.Directory.LDAP/Makefile
new file mode 100644
index 00000000000..985bbb7cf55
--- /dev/null
+++ b/mcs/class/Mono.Directory.LDAP/Makefile
@@ -0,0 +1,8 @@
+thisdir = class/Mono.Directory.LDAP
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Directory.LDAP.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Data.dll
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Directory.LDAP/Mono.Directory.LDAP.build b/mcs/class/Mono.Directory.LDAP/Mono.Directory.LDAP.build
deleted file mode 100644
index 38ea0f2e9fc..00000000000
--- a/mcs/class/Mono.Directory.LDAP/Mono.Directory.LDAP.build
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Directory.LDAP.dll -->
-
-<project name="Mono.Directory.LDAP" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Directory.LDAP.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/lib:../lib/"/>
- <arg value="/r:corlib.dll"/>
-
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/Mono.Directory.LDAP.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Directory.LDAP/Test/makefile.gnu b/mcs/class/Mono.Directory.LDAP/Test/makefile.gnu
deleted file mode 100644
index 78b48947d07..00000000000
--- a/mcs/class/Mono.Directory.LDAP/Test/makefile.gnu
+++ /dev/null
@@ -1,28 +0,0 @@
-topdir = ../../..
-
-LIBRARY = dslib_linux_test.dll
-
-LIB_LIST = dslib_linux_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/class/lib/Mono.Directory.LDAP.dll \
- -r $(topdir)/nunit20/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/Mono.Directory.LDAP/makefile.gnu b/mcs/class/Mono.Directory.LDAP/makefile.gnu
deleted file mode 100644
index 31c2b7535ae..00000000000
--- a/mcs/class/Mono.Directory.LDAP/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/Mono.Directory.LDAP.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Data -r mscorlib
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.GetOptions/Makefile b/mcs/class/Mono.GetOptions/Makefile
new file mode 100644
index 00000000000..09fd68b1319
--- /dev/null
+++ b/mcs/class/Mono.GetOptions/Makefile
@@ -0,0 +1,14 @@
+thisdir = class/Mono.GetOptions
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.GetOptions.dll
+LIB_MCS_FLAGS =
+NO_TEST = yes
+
+EXTRA_DISTFILES = \
+ Mono.GetOptions.csproj \
+ GetOptTest/AssemblyInfo.cs \
+ GetOptTest/GetOptTester.cs
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.GetOptions/Mono.GetOptions.build b/mcs/class/Mono.GetOptions/Mono.GetOptions.build
deleted file mode 100755
index 9d51e531834..00000000000
--- a/mcs/class/Mono.GetOptions/Mono.GetOptions.build
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.GetOptions.dll -->
-
-<project name="Mono.GetOptions" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.GetOptions.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="GetOptTest/**"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- </references>
- </csc>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/Mono.GetOptions.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.GetOptions/makefile.gnu b/mcs/class/Mono.GetOptions/makefile.gnu
deleted file mode 100644
index 73ad0fd4b04..00000000000
--- a/mcs/class/Mono.GetOptions/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.GetOptions.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS =
-
-SOURCES_INCLUDE=*.cs
-
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Globalization/Makefile b/mcs/class/Mono.Globalization/Makefile
new file mode 100644
index 00000000000..5880fadf073
--- /dev/null
+++ b/mcs/class/Mono.Globalization/Makefile
@@ -0,0 +1,37 @@
+thisdir = class/Mono.Globalization
+SUBDIRS =
+include ../../build/rules.make
+
+LOCAL_MCS_FLAGS = /r:$(corlib) /r:System.dll
+thelib = $(topdir)/class/lib/Mono.Globalization.dll
+
+all-local: $(thelib)
+
+install-local:
+ $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/lib
+ $(INSTALL_LIB) $(thelib) $(DESTDIR)$(prefix)/lib
+
+clean-local:
+ rm -rf $(thelib) MonoCultures.cs write-source.exe
+
+DISTFILES = \
+ README \
+ TODO \
+ write-source.cs \
+ $(wildcard Data/*.xml) \
+ Data/CultureInfo.xsd
+
+dist-local: dist-default
+
+test-local run-test-local:
+
+$(thelib): MonoCultures.cs
+ $(CSCOMPILE) /target:library /out:$@ $^
+
+RUNTIME_FLAGS = --debug
+
+MonoCultures.cs: write-source.exe $(wildcard Data/*.xml)
+ $(RUNTIME) $<
+
+write-source.exe: write-source.cs
+ $(CSCOMPILE) /target:exe /out:$@ $^
diff --git a/mcs/class/Mono.Globalization/makefile b/mcs/class/Mono.Globalization/makefile
deleted file mode 100644
index a077a68be96..00000000000
--- a/mcs/class/Mono.Globalization/makefile
+++ /dev/null
@@ -1,13 +0,0 @@
-CSC=mcs
-MONO=mono
-
-all: Mono.Globalization.dll
-
-Mono.Globalization.dll: write-source.exe
- $(CSC) /t:library MonoCultures.cs /out:Mono.Globalization.dll
-
-write-source.exe: write-source
- $(MONO) --debug write-source.exe
-
-write-source: write-source.cs
- $(CSC) /debug write-source.cs
diff --git a/mcs/class/Mono.PEToolkit/Makefile b/mcs/class/Mono.PEToolkit/Makefile
new file mode 100644
index 00000000000..824d6d8c2ba
--- /dev/null
+++ b/mcs/class/Mono.PEToolkit/Makefile
@@ -0,0 +1,15 @@
+thisdir = class/Mono.PEToolkit
+SUBDIRS = build
+include ../../build/rules.make
+
+LIBRARY = Mono.PEToolkit.dll
+LIB_MCS_FLAGS = /unsafe /r:$(corlib) /r:System.Xml.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = README
+
+mddump.exe:
+ @echo $@ now lives in build/. Email 'peter@newton.cx'
+ @echo if this change is a problem.
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.PEToolkit/PEToolkit.build b/mcs/class/Mono.PEToolkit/PEToolkit.build
deleted file mode 100755
index 31ed9e1ce9f..00000000000
--- a/mcs/class/Mono.PEToolkit/PEToolkit.build
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.PEToolkit.dll -->
-
-<project name="Mono.PEToolkit" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/Mono.PEToolkit.dll" debug="${debug}">
- <arg value="/unsafe"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <arg value="/lib:../lib/"/>
-
- <sources>
- <includes name="**/*.cs"/>
- </sources>
- </csc>
- </target>
-
- <target name="clean">
- <delete file="../lib/Mono.PEToolkit.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.PEToolkit/build/Makefile b/mcs/class/Mono.PEToolkit/build/Makefile
new file mode 100644
index 00000000000..ac5a0529565
--- /dev/null
+++ b/mcs/class/Mono.PEToolkit/build/Makefile
@@ -0,0 +1,23 @@
+thisdir = class/Mono.PEToolkit/build
+SUBDIRS =
+include ../../../build/rules.make
+
+# ok this duplication of the source lists is just wrong. But we can't
+# include both library and build/executable.make in one makefile at the
+# moment, so...
+#
+# someday there will be a better way.
+
+PROGRAM = mddump.exe
+LOCAL_MCS_FLAGS = /unsafe
+
+EXTRA_DISTFILES = \
+ ChangeLog \
+ srcgen/a.bat \
+ srcgen/bitconv-types.xml \
+ srcgen/xslt.wsf \
+ $(wildcard srcgen/*.xsl) \
+ srcgen/data/ilasm.xml \
+ srcgen/data/md-schema.xml
+
+include ../../../build/executable.make
diff --git a/mcs/class/Mono.PEToolkit/build/pet.build b/mcs/class/Mono.PEToolkit/build/pet.build
deleted file mode 100644
index d1ad0cdadec..00000000000
--- a/mcs/class/Mono.PEToolkit/build/pet.build
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="PET" default="all" basedir=".">
-
- <target name="init">
- <tstamp/>
- <echo message="Init..."/>
- <property name="debug" value="false"/>
- <property name="src.dir" value="..\src"/>
- <property name="bin.dir" value="..\bin"/>
- </target>
-
-
- <target name="compile" depends="init">
- <csc target="library" output="${bin.dir}/pet.dll" debug="${debug}">
- <arg value="/unsafe"/>
- <sources basedir="..\src\PEToolkit">
- <includes name="**/*.cs"/>
- </sources>
- </csc>
- <csc target="exe" output="${bin.dir}/mddump.exe" debug="${debug}">
- <sources>
- <includes name="mddump.cs"/>
- </sources>
- <arg value="/reference:..\bin\pet.dll"/>
- </csc>
- </target>
-
-
- <target name="all" depends="init,compile">
- </target>
-
-</project> \ No newline at end of file
diff --git a/mcs/class/Mono.PEToolkit/makefile.gnu b/mcs/class/Mono.PEToolkit/makefile.gnu
deleted file mode 100644
index 0989f4a1a6c..00000000000
--- a/mcs/class/Mono.PEToolkit/makefile.gnu
+++ /dev/null
@@ -1,68 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.PEToolkit.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = --unsafe -r corlib -r System.Xml -r mscorlib
-
-SOURCES_INCLUDE= \
- build/mddump.cs \
- BadImageException.cs \
- COFFHeader.cs \
- Characteristics.cs \
- CheckSum.cs \
- CorHeader.cs \
- DOSHeader.cs \
- DataDir.cs \
- ExeSignature.cs \
- Image.cs \
- LEBitConverter.cs \
- MachineId.cs \
- PEHeader.cs \
- PEUtils.cs \
- RVA.cs \
- Section.cs \
- SectionCharacteristics.cs \
- Subsystem.cs \
- metadata/AssemblyFlags.cs \
- metadata/BadMetaDataException.cs \
- metadata/CodedTokenId.cs \
- metadata/ElementType.cs \
- metadata/GUIDHeap.cs \
- metadata/MDHeap.cs \
- metadata/MDStream.cs \
- metadata/MDTable.cs \
- metadata/MDToken.cs \
- metadata/MDUtils.cs \
- metadata/ManifestResourceAttributes.cs \
- metadata/MetaDataRoot.cs \
- metadata/MethodIL.cs \
- metadata/MethodSemanticsAttributes.cs \
- metadata/PInvokeAttributes.cs \
- metadata/Row.cs \
- metadata/Rows.cs \
- metadata/StringsHeap.cs \
- metadata/TableId.cs \
- metadata/Tables.cs \
- metadata/TablesHeap.cs \
- metadata/TablesHeapBase.cs \
- metadata/TabsDecoder.cs \
- metadata/TokenType.cs \
-
-
-SOURCES_EXCLUDE=
-
-#export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-#include $(topdir)/class/library.make
-
-default: all mddump.exe
-
-mddump.exe: $(SOURCES_INCLUDE)
- mcs /out:mddump.exe /unsafe $(SOURCES_INCLUDE)
-
-full-clean: clean
- rm -f mddump.exe
-
-include $(topdir)/class/library.make
-
diff --git a/mcs/class/Mono.Posix/Makefile b/mcs/class/Mono.Posix/Makefile
new file mode 100644
index 00000000000..4022cec5e82
--- /dev/null
+++ b/mcs/class/Mono.Posix/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Mono.Posix
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Posix.dll
+LIB_MCS_FLAGS = /unsafe /r:$(corlib) /r:System.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Posix/Mono.Posix.build b/mcs/class/Mono.Posix/Mono.Posix.build
deleted file mode 100644
index f36a2ebb223..00000000000
--- a/mcs/class/Mono.Posix/Mono.Posix.build
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Posix.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/Mono.Posix.dll" debug="${debug}">
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="clean">
- <delete file="../lib/Mono.Posix.dll" failonerror="false"/>
- <delete file="../lib/Mono.Posix.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Posix/makefile.gnu b/mcs/class/Mono.Posix/makefile.gnu
deleted file mode 100644
index eb95c38e2e5..00000000000
--- a/mcs/class/Mono.Posix/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Mono.Posix.dll
-
-LIB_LIST = list
-LIB_FLAGS = --unsafe -r corlib -r System
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Mono.Security.Win32/Makefile b/mcs/class/Mono.Security.Win32/Makefile
new file mode 100644
index 00000000000..771bbfb45dc
--- /dev/null
+++ b/mcs/class/Mono.Security.Win32/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Mono.Security.Win32
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Security.Win32.dll
+LIB_MCS_FLAGS = /unsafe
+EXTRA_DISTFILES = README Test/ChangeLog
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Security.Win32/Mono.Security.Win32.build b/mcs/class/Mono.Security.Win32/Mono.Security.Win32.build
deleted file mode 100644
index 986e456df85..00000000000
--- a/mcs/class/Mono.Security.Win32/Mono.Security.Win32.build
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Security.Win32.dll -->
-
-<project name="Mono.Security.Win32" default="build">
- <property name="debug" value="true"/>
- <property name="verbose" value="true"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Security.Win32.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0649"/> <!-- field never assigned to -->
- <arg value="/nowarn:0169"/> <!-- field never used -->
- <arg value="/nowarn:0679"/> <!-- internal may be overriden -->
- <arg value="/unsafe"/>
-
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <delete file="../lib/Mono.Security.Win32.dll" failonerror="false"/>
- <delete file="../lib/Mono.Security.Win32.pdb" failonerror="false"/>
- <delete file="Test/Mono.Security.Win32.dll" failonerror="false"/>
- <nant basedir="Test" target="clean"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Security.Win32/Test/Mono.Security.Win32_test.build b/mcs/class/Mono.Security.Win32/Test/Mono.Security.Win32_test.build
deleted file mode 100644
index 0bac7545c92..00000000000
--- a/mcs/class/Mono.Security.Win32/Test/Mono.Security.Win32_test.build
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Security.Win32_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="Mono.Security.Win32_test" default="build">
- <property name="debug" value="true"/>
- <property name="nunit_home" value="..\..\..\nunit20"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="Mono.Security.Win32_test.dll" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- </sources>
- <references basedir="..\..\..\nunit20">
- <includes name="NUnit.Framework.dll"/>
- </references>
- <arg value="/r:..\..\lib\Mono.Security.Win32.dll"/>
- <arg value="/nowarn:618"/>
- <arg value="/nowarn:672"/>
- <arg value="/nowarn:1595"/>
- </csc>
- <copy file="../../lib/Mono.Security.Win32.dll" tofile="Mono.Security.Win32.dll"/>
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="Mono.Security.Win32_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="Mono.Security.Win32_test.dll" failonerror="false"/>
- <delete file="Mono.Security.Win32_test.pdb" failonerror="false"/>
- <delete file="Mono.Security.Win32.dll" failonerror="false"/>
- <delete file="Mono.Security.Win32.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Security/Makefile b/mcs/class/Mono.Security/Makefile
new file mode 100644
index 00000000000..606851bb599
--- /dev/null
+++ b/mcs/class/Mono.Security/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/Mono.Security
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = Mono.Security.dll
+LIB_MCS_FLAGS = /r:System.dll
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS) /nowarn:0618 /nowarn:0672
+
+include ../../build/library.make
diff --git a/mcs/class/Mono.Security/Mono.Security.build b/mcs/class/Mono.Security/Mono.Security.build
deleted file mode 100644
index 90bfab2ce4e..00000000000
--- a/mcs/class/Mono.Security/Mono.Security.build
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Security.dll -->
-
-<project name="Mono.Security" default="build">
- <property name="debug" value="true"/>
- <property name="verbose" value="true"/>
-
- <target name="build">
- <csc target="library" output="../lib/Mono.Security.dll" debug="${debug}">
- <!-- arg value="/nowarn:1595"/ -->
- <!-- arg value="/nowarn:0649"/ --> <!-- field never assigned to -->
- <!-- arg value="/nowarn:0169"/ --> <!-- field never used -->
- <!-- arg value="/nowarn:0679"/ --> <!-- internal may be overriden -->
-
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- <excludes name="**/*Test.cs"/>
- </sources>
- </csc>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <delete file="../lib/Mono.Security.dll" failonerror="false"/>
- <delete file="../lib/Mono.Security.pdb" failonerror="false"/>
- <delete file="Test/Mono.Security.dll" failonerror="false"/>
- <nant basedir="Test" target="clean"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Security/Test/Mono.Security_test.build b/mcs/class/Mono.Security/Test/Mono.Security_test.build
deleted file mode 100644
index 1e6268632fe..00000000000
--- a/mcs/class/Mono.Security/Test/Mono.Security_test.build
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Mono.Security_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="Mono.Security_test" default="build">
- <property name="debug" value="true"/>
- <property name="nunit_home" value="..\..\..\nunit20"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="Mono.Security_test.dll" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- </sources>
- <references basedir="..\..\..\nunit20">
- <includes name="NUnit.Framework.dll"/>
- </references>
- <arg value="/r:..\..\lib\Mono.Security.dll"/>
- <!-- arg value="/nowarn:618"/>
- <arg value="/nowarn:672"/>
- <arg value="/nowarn:1595"/ -->
- </csc>
- <copy file="../../lib/Mono.Security.dll" tofile="Mono.Security.dll"/>
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="Mono.Security_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="Mono.Security_test.dll" failonerror="false"/>
- <delete file="Mono.Security_test.pdb" failonerror="false"/>
- <delete file="Mono.Security.dll" failonerror="false"/>
- <delete file="Mono.Security.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/Mono.Security/Test/makefile.gnu b/mcs/class/Mono.Security/Test/makefile.gnu
deleted file mode 100644
index 5a2fe39ee77..00000000000
--- a/mcs/class/Mono.Security/Test/makefile.gnu
+++ /dev/null
@@ -1,28 +0,0 @@
-topdir = ../../..
-
-LIBRARY = Mono.Security_test.dll
-
-LIB_LIST = Mono.Security_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/class/lib/Mono.Security.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/Mono.Security/makefile.gnu b/mcs/class/Mono.Security/makefile.gnu
deleted file mode 100644
index 8badc403855..00000000000
--- a/mcs/class/Mono.Security/makefile.gnu
+++ /dev/null
@@ -1,16 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/Mono.Security.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = /r:System.dll
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/Npgsql/Makefile b/mcs/class/Npgsql/Makefile
index 1a49f9cb75b..abd9b942e05 100755
--- a/mcs/class/Npgsql/Makefile
+++ b/mcs/class/Npgsql/Makefile
@@ -1,41 +1,21 @@
-# Makefile
-#
-# Copyright (C) 2002 The Npgsql Development Team
-# npgsql-general@gborg.postgresql.org
-# http://gborg.postgresql.org/project/npgsql/projdisplay.php
-#
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License, or (at your option) any later version.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+thisdir = class/Npgsql
+SUBDIRS =
+include ../../build/rules.make
-NPGSQL_LIB=Npgsql.dll
-# Allow compiling under Cygwin
-ifeq ($(OS),"Windows_NT")
- CC=csc.exe
- LDFLAGS=/r:System.Data.dll /target:library /out:$(NPGSQL_LIB)
-else
- CC=mcs
- LDFLAGS=-r /usr/lib/System.Data.dll --target library -o $(NPGSQL_LIB)
-endif
-CVS2CL=cvs2cl.pl
-OBJECTS:=$(shell ls *.cs)
+LIBRARY = Npgsql.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll /r:System.Data.dll
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
-all: $(OBJECTS)
- $(CC) $(LDFLAGS) $(OBJECTS)
+# TODO: We need System.Web.UI.WebControls to build DataAdapterTests.cs
+# and DataReaderTests.cs
-clean:
- rm -rf $(NPGSQL_LIB) *~
+EXTRA_DISTFILES = \
+ LICENSE.txt \
+ README.txt \
+ RELEASENOTES.txt \
+ STATUS.txt \
+ TODO.txt \
+ Npgsql/Npgsql.snk \
+ Npgsql/Npgsql.xml
-changelog:
- $(CVS2CL)
+include ../../build/library.make
diff --git a/mcs/class/Npgsql/Npgsql.build b/mcs/class/Npgsql/Npgsql.build
deleted file mode 100755
index 410696bf962..00000000000
--- a/mcs/class/Npgsql/Npgsql.build
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Npgsql.dll -->
-
-<project name="Npgsql" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <copy file="Npgsql/Npgsql.snk" tofile="../lib/Npgsql.snk"/>
- <csc target="library" output="../lib/Npgsql.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- </references>
- </csc>
- <copy file="../lib/System.Data.dll" tofile="Test/System.Data.dll"/>
- <copy file="../lib/Npgsql.dll" tofile="Test/Npgsql.dll"/>
- <copy file="../lib/Npgsql.dll" tofile="Npgsql.dll"/>
- <copy file="../lib/Npgsql.dll" tofile="../System.Data/Test/Npgsql.dll"/>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="Test/System.Data.dll" failonerror="false"/>
- <delete file="../lib/Npgsql.dll" failonerror="false"/>
- <delete file="Test/Npgsql.dll" failonerror="false"/>
-
- </target>
-</project>
diff --git a/mcs/class/Npgsql/makefile.gnu b/mcs/class/Npgsql/makefile.gnu
deleted file mode 100755
index d7e967be727..00000000000
--- a/mcs/class/Npgsql/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/Npgsql.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml -r System.Data
-
-SOURCES_INCLUDE=*.cs ./NpgsqlTypes/*.cs ./Npgsql/*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/PEAPI/Makefile b/mcs/class/PEAPI/Makefile
new file mode 100644
index 00000000000..8b62d923806
--- /dev/null
+++ b/mcs/class/PEAPI/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/PEAPI
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = PEAPI.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
+NO_TEST = yes
+
+EXTRA_DISTFILES = README.txt
+
+include ../../build/library.make
diff --git a/mcs/class/PEAPI/PEAPI.build b/mcs/class/PEAPI/PEAPI.build
deleted file mode 100755
index 5a085232d1f..00000000000
--- a/mcs/class/PEAPI/PEAPI.build
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for PEAPI.dll -->
-
-<project name="PEAPI" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/PEAPI.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
-
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- </references>
- </csc>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/PEAPI.dll" failonerror="false"/>
-
- </target>
-</project>
diff --git a/mcs/class/PEAPI/makefile.gnu b/mcs/class/PEAPI/makefile.gnu
deleted file mode 100644
index 1d489eeb14e..00000000000
--- a/mcs/class/PEAPI/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/PEAPI.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System
-
-SOURCES_INCLUDE=PEAPI.cs
-SOURCES_EXCLUDE=
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Configuration.Install/Makefile b/mcs/class/System.Configuration.Install/Makefile
new file mode 100644
index 00000000000..d5415952acf
--- /dev/null
+++ b/mcs/class/System.Configuration.Install/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/System.Configuration.Install
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Configuration.Install.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
+
+EXTRA_DISTFILES = Test/ChangeLog
+
+include ../../build/library.make
diff --git a/mcs/class/System.Configuration.Install/System.Configuration.Install.build b/mcs/class/System.Configuration.Install/System.Configuration.Install.build
deleted file mode 100644
index 2369da3e3af..00000000000
--- a/mcs/class/System.Configuration.Install/System.Configuration.Install.build
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Configuration.Install.dll -->
-
-<project name="System.Configuration.install" default="build">
- <property name="debug" value="true"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Configuration.Install.dll" debug="${debug}">
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
-
- <!-- cor compare dies with these currently -->
- <!--arg value="/nostdlib"/--> <!-- don't reference mscorlib -->
- <arg value="/r:mscorlib.dll"/>
- <arg value="/r:System.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- <copy file="../lib/System.Configuration.Install.dll" tofile="Test/System.Configuration.Install.dll"/>
- <nant basedir="Test" target="build"/>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/System.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Configuration.Install/Test/System.Configuration.Install_test.build b/mcs/class/System.Configuration.Install/Test/System.Configuration.Install_test.build
deleted file mode 100644
index 960594ca0a9..00000000000
--- a/mcs/class/System.Configuration.Install/Test/System.Configuration.Install_test.build
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Configuration.Install_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="System_test" default="build">
- <property name="debug" value="true"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="System.Configuration.Install_test.dll" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- </sources>
-
- <arg value="/noconfig"/>
- <arg value="/r:..\..\..\nunit20\NUnit.Framework.dll"/>
- </csc>
-
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="System.Configuration.Install_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="System.Configuration.Install_test.dll" failonerror="false"/>
- <delete file="System.Configuration.Install_test.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Configuration.Install/Test/makefile.gnu b/mcs/class/System.Configuration.Install/Test/makefile.gnu
deleted file mode 100644
index fb4566ef72a..00000000000
--- a/mcs/class/System.Configuration.Install/Test/makefile.gnu
+++ /dev/null
@@ -1,27 +0,0 @@
-topdir = ../../..
-
-LIBRARY = system_configuration_install_linux_test.dll
-
-LIB_LIST = system_configuration_install_linux_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/nunit20/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/System.Configuration.Install/makefile.gnu b/mcs/class/System.Configuration.Install/makefile.gnu
deleted file mode 100644
index 1cd8d871d21..00000000000
--- a/mcs/class/System.Configuration.Install/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/System.Configuration.Install.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Data.OracleClient/Makefile b/mcs/class/System.Data.OracleClient/Makefile
new file mode 100644
index 00000000000..9fd31abd74b
--- /dev/null
+++ b/mcs/class/System.Data.OracleClient/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/System.Data.OracleClient
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Data.OracleClient.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll \
+ /r:System.Xml.dll /r:System.Data.dll
+NO_TEST = yes
+EXTRA_DISTFILES = Test/TestOracleClient.cs
+
+include ../../build/library.make
diff --git a/mcs/class/System.Data.OracleClient/System.Data.OracleClient.build b/mcs/class/System.Data.OracleClient/System.Data.OracleClient.build
deleted file mode 100755
index b138d336b15..00000000000
--- a/mcs/class/System.Data.OracleClient/System.Data.OracleClient.build
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Data.OracleClient.dll -->
-
-<project name="System.Data.OracleClient" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/System.Data.OracleClient.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Data.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
-
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/System.Data.dll"/>
- </references>
- </csc>
- <copy file="../lib/System.Data.dll" tofile="Test/System.Data.dll"/>
- <copy file="../lib/System.Data.OracleClient.dll" tofile="Test/System.Data.OracleClient.dll"/>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/System.Data.OracleClient.dll" failonerror="false"/>
- <delete file="Test/System.Data.OracleClient.dll" failonerror="false"/>
- <delete file="Test/System.Data.dll" failonerror="false"/>
-
- </target>
-</project>
diff --git a/mcs/class/System.Data.OracleClient/makefile.gnu b/mcs/class/System.Data.OracleClient/makefile.gnu
deleted file mode 100755
index 948bbab9f98..00000000000
--- a/mcs/class/System.Data.OracleClient/makefile.gnu
+++ /dev/null
@@ -1,15 +0,0 @@
-topdir = ../..
-
-#TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/System.Data.OracleClient.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml -r System.Data
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Data/Makefile b/mcs/class/System.Data/Makefile
new file mode 100644
index 00000000000..96b3e564d01
--- /dev/null
+++ b/mcs/class/System.Data/Makefile
@@ -0,0 +1,35 @@
+thisdir = class/System.Data
+SUBDIRS =
+include ../../build/rules.make
+
+# I have *no idea* why I need to do this.
+
+ifeq ($(PROFILE),bootstrap)
+system = $(topdir)/class/lib/System.dll
+else
+system = System.dll
+endif
+
+LIBRARY = System.Data.dll
+LIB_MCS_FLAGS = \
+ /nowarn:0219 /nowarn:0168 \
+ /r:$(corlib) \
+ /r:$(system) \
+ /r:System.Xml.dll \
+ /r:System.EnterpriseServices.dll \
+ /r:Mono.Data.Tds.dll
+
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
+
+EXTRA_DISTFILES = \
+ TODO \
+ Test/System.Data/region.xml \
+ Test/System.Data/store.xsd \
+ Test/System.Data/own_schema.xsd \
+ Test/System.Xml/2books.xml \
+ Test/System.Xml/region.xml \
+ Test/System.Xml/region.xsd \
+ Test/System.Xml/store.xsd \
+ Test/NUnit.Prefs
+
+include ../../build/library.make
diff --git a/mcs/class/System.Data/System.Data.build b/mcs/class/System.Data/System.Data.build
deleted file mode 100644
index 2723f8909cc..00000000000
--- a/mcs/class/System.Data/System.Data.build
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Data.dll -->
-
-<project name="System.Data" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/System.Data.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0679"/>
- <arg value="/nowarn:0649"/>
- <arg value="/nowarn:0219"/>
- <arg value="/nowarn:0168"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.EnterpriseServices.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:../lib/Mono.Data.Tds.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- <excludes name="System.Data.OleDb/TestGDA.cs"/>
- <excludes name="System.Data.OleDb/TestOleDb.cs"/>
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- <includes name="../lib/System.EnterpriseServices.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- <includes name="../lib/Mono.Data.Tds.dll"/>
- </references>
- </csc>
- <copy file="../lib/System.Data.dll" tofile="Test/System.Data.dll"/>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/System.Data.dll" failonerror="false"/>
- <delete file="Test/System.Data.dll" failonerror="false"/>
-
- </target>
-</project>
diff --git a/mcs/class/System.Data/Test/System.Data_test.build b/mcs/class/System.Data/Test/System.Data_test.build
deleted file mode 100644
index 4429405fb57..00000000000
--- a/mcs/class/System.Data/Test/System.Data_test.build
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Data_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="System.Data_test" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="System.Data_test.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="TheTests.cs"/>
- <excludes name="ReadPostgresData.cs"/>
- <excludes name="TestExecuteScalar.cs"/>
- <excludes name="TestSqlDataReader.cs"/>
- <excludes name="TestSqlException.cs"/>
- <excludes name="TestSqlInsert.cs"/>
- <excludes name="TestSqlIsolationLevel.cs"/>
- <excludes name="TestSqlDataAdapter.cs"/>
- <excludes name="PostgresTest.cs"/>
- <excludes name="TestSqlParameters.cs"/>
- <excludes name="SqlSharpCli.cs"/>
- <excludes name="OdbcTest.cs"/>
- <excludes name="TestSqlConnection.cs"/>
-
- </sources>
- <arg value="/r:..\..\lib\System.Data.dll"/>
- <arg value="/r:..\..\..\nunit20\NUnit.Framework.dll"/>
- </csc>
- </target>
-
- <target name="RunTests">
- <csc target="exe" output="RunTests.System.Data.exe" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="**/AllTests.cs"/>
- <excludes name="**/MartinTests.cs"/>
- <excludes name="ReadPostgresData.cs"/>
- <excludes name="SqlTest.cs"/>
- <excludes name="TestExecuteScalar.cs"/>
- <excludes name="TestSqlDataReader.cs"/>
- <excludes name="TestSqlException.cs"/>
- <excludes name="TestSqlInsert.cs"/>
- <excludes name="TestSqlIsolationLevel.cs"/>
- <excludes name="PostgresTest.cs"/>
- <excludes name="TestSqlDataAdapter.cs"/>
- <excludes name="TestSqlParameters.cs"/>
- <excludes name="OdbcTest.cs"/>
- <excludes name="TestSqlConnection.cs"/>
-
- </sources>
- <arg value="/r:..\..\..\nunit20\NUnit.Framework.dll"/>
- <arg value="/nowarn:1595"/>
- <arg value="/noconfig"/>
- <arg value="/r:..\..\lib\System.Data.dll"/>
- </csc>
-
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="System.Data_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="System.Data.dll" failonerror="false"/>
- <delete file="System.Data_test.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Data/Test/makefile.gnu b/mcs/class/System.Data/Test/makefile.gnu
deleted file mode 100644
index f4facc23e06..00000000000
--- a/mcs/class/System.Data/Test/makefile.gnu
+++ /dev/null
@@ -1,29 +0,0 @@
-topdir = ../../..
-
-LIBRARY = data_linux_test.dll
-
-LIB_LIST = data_linux_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.Data.dll \
- -r $(topdir)/class/lib/System.Xml.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/System.Data/makefile.gnu b/mcs/class/System.Data/makefile.gnu
deleted file mode 100644
index 2f22bfe39c9..00000000000
--- a/mcs/class/System.Data/makefile.gnu
+++ /dev/null
@@ -1,17 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/System.Data.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Xml -r System.EnterpriseServices -r Mono.Data.Tds
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
- *TestGDA.cs \
- ./System.Xml*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Design/Makefile b/mcs/class/System.Design/Makefile
new file mode 100644
index 00000000000..34080690d28
--- /dev/null
+++ b/mcs/class/System.Design/Makefile
@@ -0,0 +1,10 @@
+thisdir = class/System.Design
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Design.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Web.dll \
+ /r:System.Windows.Forms.dll /r:System.Drawing.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/System.Design/System.Design.build b/mcs/class/System.Design/System.Design.build
deleted file mode 100755
index 9f6472887c2..00000000000
--- a/mcs/class/System.Design/System.Design.build
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Design.dll -->
-
-<project name="System.Design" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Design.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/> <!-- always default value -->
- <arg value="/nowarn:0067"/> <!-- event never used -->
- <arg value="/nowarn:0679"/> <!-- internal virual -->
- <arg value="/nowarn:0168"/> <!-- never used variable -->
- <arg value="/nowarn:0162"/> <!-- unreachable code -->
- <arg value="/noconfig"/>
- <arg value="/debug"/>
- <arg value="/r:System.Drawing.dll"/>
- <arg value="/r:System.Web.dll"/>
- <arg value="/r:System.Windows.Forms.dll"/>
- <arg value="/r:System.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- <excludes name="System.Web.UI.Design.WebControls/**"/>
- </sources>
- </csc>
- </target>
-
- <target name="clean">
- <delete failonerror="false">
- <fileset basedir="../lib">
- <includes name="System.Design.dll"/>
- </fileset>
- </delete>
- </target>
-</project>
diff --git a/mcs/class/System.Design/makefile.gnu b/mcs/class/System.Design/makefile.gnu
deleted file mode 100644
index 379ae3ece46..00000000000
--- a/mcs/class/System.Design/makefile.gnu
+++ /dev/null
@@ -1,16 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/System.Design.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = \
- -r corlib -r System -r System.Web \
- -r System.Windows.Forms -r System.Drawing
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.DirectoryServices/Makefile b/mcs/class/System.DirectoryServices/Makefile
new file mode 100644
index 00000000000..c67728eac14
--- /dev/null
+++ b/mcs/class/System.DirectoryServices/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/System.DirectoryServices
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.DirectoryServices.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/System.DirectoryServices/System.DirectoryServices.build b/mcs/class/System.DirectoryServices/System.DirectoryServices.build
deleted file mode 100644
index 22ec2fd689c..00000000000
--- a/mcs/class/System.DirectoryServices/System.DirectoryServices.build
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.DirectoryServices.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.DirectoryServices.dll" debug="${debug}">
- <arg value="/debug"/>
- <arg value="/noconfig"/>
- <arg value="/r:System.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/System.DirectoryServices.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.DirectoryServices/makefile.gnu b/mcs/class/System.DirectoryServices/makefile.gnu
deleted file mode 100644
index 2df24986d38..00000000000
--- a/mcs/class/System.DirectoryServices/makefile.gnu
+++ /dev/null
@@ -1,15 +0,0 @@
-topdir = ../..
-
-TEST_DIR = Test
-LIBRARY = $(topdir)/class/lib/System.DirectoryServices.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Drawing.Design/Makefile b/mcs/class/System.Drawing.Design/Makefile
new file mode 100644
index 00000000000..35f70a1098e
--- /dev/null
+++ b/mcs/class/System.Drawing.Design/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/System.Drawing.Design
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Drawing.Design.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Drawing.dll /r:System.Windows.Forms.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/System.Drawing.Design/makefile.gnu b/mcs/class/System.Drawing.Design/makefile.gnu
deleted file mode 100644
index 081106ec871..00000000000
--- a/mcs/class/System.Drawing.Design/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/System.Drawing.Design.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System -r System.Drawing -r System.Windows.Forms
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Drawing/Makefile b/mcs/class/System.Drawing/Makefile
new file mode 100644
index 00000000000..c9c664fb4cb
--- /dev/null
+++ b/mcs/class/System.Drawing/Makefile
@@ -0,0 +1,13 @@
+thisdir = class/System.Drawing
+SUBDIRS =
+include ../../build/rules.make
+
+# to use JPEG decoder add -r ./cdeclRedirector/cdeclCallback.dll
+# and remove -define:DECLARE_CDECL_DELEGATES
+# cdeclCallback.dll should be manually copied to library folder
+
+LIBRARY = System.Drawing.dll
+LIB_MCS_FLAGS = /unsafe /define:DECLARE_CDECL_DELEGATES /r:$(corlib) /r:System.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/System.Drawing/System.Drawing.build b/mcs/class/System.Drawing/System.Drawing.build
deleted file mode 100644
index 5e96b180959..00000000000
--- a/mcs/class/System.Drawing/System.Drawing.build
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for SystemDrawing.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/System.Drawing.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/unsafe"/>
- <arg value="/define:DECLARE_CDECL_DELEGATES"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.dll"/>
- </references>
- </csc>
- </target>
- <target name="clean">
- <delete file="../lib/System.Drawing.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Drawing/makefile.gnu b/mcs/class/System.Drawing/makefile.gnu
deleted file mode 100644
index 8759cdb3836..00000000000
--- a/mcs/class/System.Drawing/makefile.gnu
+++ /dev/null
@@ -1,16 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/System.Drawing.dll
-
-LIB_LIST = list.unix
-# to use JPEG decoder add -r ./cdeclRedirector/cdeclCallback.dll
-# and remove -define:DECLARE_CDECL_DELEGATES
-# cdeclCallback.dll should be manually copied to library folder
-LIB_FLAGS = --unsafe -r corlib -r System -define:DECLARE_CDECL_DELEGATES
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.EnterpriseServices/Makefile b/mcs/class/System.EnterpriseServices/Makefile
new file mode 100644
index 00000000000..388859605eb
--- /dev/null
+++ b/mcs/class/System.EnterpriseServices/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/System.EnterpriseServices
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.EnterpriseServices.dll
+LIB_MCS_FLAGS = /nowarn:0168 /nowarn:0162 /r:$(corlib)
+NO_TEST = yes
+
+EXTRA_DISTFILES = System.EnterpriseServices.Internal/Changelog
+
+include ../../build/library.make
diff --git a/mcs/class/System.EnterpriseServices/System.EnterpriseServices.build b/mcs/class/System.EnterpriseServices/System.EnterpriseServices.build
deleted file mode 100644
index 5df7cc6aaa6..00000000000
--- a/mcs/class/System.EnterpriseServices/System.EnterpriseServices.build
+++ /dev/null
@@ -1,30 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.EnterpriseServices.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.EnterpriseServices.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/> <!-- always default value -->
- <arg value="/nowarn:0067"/> <!-- event never used -->
- <arg value="/nowarn:0679"/> <!-- internal virual -->
- <arg value="/nowarn:0168"/> <!-- never used variable -->
- <arg value="/nowarn:0162"/> <!-- unreachable code -->
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/debug"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="clean">
- <delete file="../lib/System.EnterpriseServices.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.EnterpriseServices/makefile.gnu b/mcs/class/System.EnterpriseServices/makefile.gnu
deleted file mode 100644
index 51518c5420f..00000000000
--- a/mcs/class/System.EnterpriseServices/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/System.EnterpriseServices.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Management/Makefile b/mcs/class/System.Management/Makefile
new file mode 100644
index 00000000000..2936ad37008
--- /dev/null
+++ b/mcs/class/System.Management/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/System.Management
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Management.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Configuration.Install.dll
+NO_TEST = yes
+
+include ../../build/library.make
diff --git a/mcs/class/System.Management/System.Management.build b/mcs/class/System.Management/System.Management.build
deleted file mode 100644
index 31428e6c635..00000000000
--- a/mcs/class/System.Management/System.Management.build
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Management.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Management.dll" debug="${debug}">
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/debug"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Configuration.Install.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="test" depends="build">
- <!--<nant basedir="Test" target="test"/>-->
- </target>
-
- <target name="clean">
- <delete file="../lib/System.Management.dll" failonerror="false"/>
- <delete file="../lib/System.Management.pdb" failonerror="false"/>
- </target>
-</project>
-
diff --git a/mcs/class/System.Management/makefile.gnu b/mcs/class/System.Management/makefile.gnu
deleted file mode 100644
index 31a9fcfb40e..00000000000
--- a/mcs/class/System.Management/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/System.Management.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Configuration.Install
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Messaging/makefile.gnu b/mcs/class/System.Messaging/makefile.gnu
deleted file mode 100644
index 9d22fa0d315..00000000000
--- a/mcs/class/System.Messaging/makefile.gnu
+++ /dev/null
@@ -1,15 +0,0 @@
-topdir = ../..
-
-TEST_DIR = Test
-LIBRARY = $(topdir)/class/lib/System.Messaging.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System -r System.Configuration.Install
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Runtime.Remoting/Makefile b/mcs/class/System.Runtime.Remoting/Makefile
new file mode 100644
index 00000000000..3767a4efb86
--- /dev/null
+++ b/mcs/class/System.Runtime.Remoting/Makefile
@@ -0,0 +1,11 @@
+thisdir = class/System.Runtime.Remoting
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Runtime.Remoting.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Web.dll \
+ /r:System.Runtime.Serialization.Formatters.Soap.dll
+NO_TEST = yes
+EXTRA_DISTFILES = Test/corba-example.cs Test/simple-example.cs
+
+include ../../build/library.make
diff --git a/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting.build b/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting.build
deleted file mode 100644
index 0e6d336645a..00000000000
--- a/mcs/class/System.Runtime.Remoting/System.Runtime.Remoting.build
+++ /dev/null
@@ -1,27 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Runtime.Remoting.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/System.Runtime.Remoting.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <arg value="/lib:../lib/"/>
- <arg value="/r:corlib.dll"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Web.dll"/>
- <arg value="/r:System.Runtime.Serialization.Formatters.Soap.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="clean">
- <delete file="../lib/System.Runtime.Remoting.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Runtime.Remoting/makefile.gnu b/mcs/class/System.Runtime.Remoting/makefile.gnu
deleted file mode 100644
index 0b898da2853..00000000000
--- a/mcs/class/System.Runtime.Remoting/makefile.gnu
+++ /dev/null
@@ -1,14 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/System.Runtime.Remoting.dll
-
-LIB_LIST = unix.args
-LIB_FLAGS = -r corlib -r System -r System.Web \
- -r System.Runtime.Serialization.Formatters.Soap
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Runtime.Serialization.Formatters.Soap/Makefile b/mcs/class/System.Runtime.Serialization.Formatters.Soap/Makefile
new file mode 100644
index 00000000000..627b844012e
--- /dev/null
+++ b/mcs/class/System.Runtime.Serialization.Formatters.Soap/Makefile
@@ -0,0 +1,18 @@
+thisdir = class/System.Runtime.Serialization.Formatters.Soap
+SUBDIRS =
+include ../../build/rules.make
+
+# bet you can't say this ten times fast
+
+LIBRARY = System.Runtime.Serialization.Formatters.Soap.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
+
+EXTRA_DISTFILES = \
+ README \
+ Sample.txt \
+ Soap.cmbx \
+ Test/Test.cmbx \
+ Test/Test.prjx
+
+include ../../build/library.make
diff --git a/mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap.build b/mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap.build
deleted file mode 100755
index b9116d7e302..00000000000
--- a/mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap.build
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Runtime.Serialization.Formatters.Soap.dll -->
-
-<project name="System.Runtime.Serialization.Formatters.Soap" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Runtime.Serialization.Formatters.Soap.dll" debug="${debug}">
- <!-- 'foo' is defined in multiple places; using definition from 'bar' -->
- <arg value="/nowarn:1595"/>
- <!--arg value="/noconfig"/-->
- <!-- Other languages may permit the internal virtual member 'foo' to be overridden -->
- <arg value="/nowarn:0679"/>
- <arg value="/nowarn:0649"/>
- <arg value="/lib:../lib"/>
- <arg value="/r:System.Xml.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="**/SoapServices.cs"/>
- <excludes name="**/ObjectManager.cs"/>
- <excludes name="**/ObjectSerializer.cs"/>
- <excludes name="**/ObjectDeserializer.cs"/>
- <excludes name="Test/**"/>
- <!--excludes name="System.Xml.Serialization/**"/-->
- </sources>
- </csc>
- <copy file="../lib/System.Runtime.Serialization.Formatters.Soap.dll" tofile="Test/System.Runtime.Serialization.Formatters.Soap.dll"/>
- <!--copy file="../lib/System.Xml.dll" tofile="Test/System.Xml.dll"/-->
- <!--nant basedir="Test" target="build"/-->
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/System.Runtime.Serialization.Formatters.Soap.dll" failonerror="false"/>
- <delete file="Test/System.Runtime.Serialization.Formatters.Soap.dll" failonerror="false"/>
- <delete file="Test/System.Xml.dll" failonerror="false"/>
- <delete file="../lib/System.Runtime.Serialization.Formatters.Soap.pdb" failonerror="false"/>
- </target>
-</project>
-
-
diff --git a/mcs/class/System.Runtime.Serialization.Formatters.Soap/Test/System.Runtime.Serialization.Formatters.Soap_test.build b/mcs/class/System.Runtime.Serialization.Formatters.Soap/Test/System.Runtime.Serialization.Formatters.Soap_test.build
deleted file mode 100644
index 6a9ae1ab673..00000000000
--- a/mcs/class/System.Runtime.Serialization.Formatters.Soap/Test/System.Runtime.Serialization.Formatters.Soap_test.build
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Runtime.Serialization.Formatters.Soap.dll -->
-<project name="System.Runtime.Serialization.Formatters.Soap_test" default="build">
- <property name="debug" value="false"/>
- <property name="nunit_home" value="..\..\..\nunit20"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="System.Runtime.Serialization.Formatters.Soap_test.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/noconfig"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="AllTests.cs"/>
- <excludes name="TheTests.cs"/>
- <excludes name="main.cs"/>
- </sources>
- <references basedir="..\..\..\nunit20">
- <includes name="NUnit.Framework.dll"/>
- </references>
- <arg value="/r:.\System.Runtime.Serialization.Formatters.Soap.dll"/>
- </csc>
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="System.Runtime.Serialization.Formatters.Soap_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="System.Runtime.Serialization.Formatters.Soap.dll" failonerror="false"/>
- <delete file="System.Runtime.Serialization.Formatters.Soap_test.dll" failonerror="false"/>
- <delete file="System.Runtime.Serialization.Formatters.Soap_test.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Runtime.Serialization.Formatters.Soap/Test/makefile.gnu b/mcs/class/System.Runtime.Serialization.Formatters.Soap/Test/makefile.gnu
deleted file mode 100644
index b982194dad3..00000000000
--- a/mcs/class/System.Runtime.Serialization.Formatters.Soap/Test/makefile.gnu
+++ /dev/null
@@ -1,27 +0,0 @@
-topdir = ../../..
-
-LIBRARY = System.Runtime.Serialization.Formatters.Soap_linux_test.dll
-
-LIB_LIST = System.Runtime.Serialization.Formatters.Soap_linux_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.Runtime.Serialization.Formatters.Soap.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=./TheTests.cs
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/System.Runtime.Serialization.Formatters.Soap/makefile.gnu b/mcs/class/System.Runtime.Serialization.Formatters.Soap/makefile.gnu
deleted file mode 100644
index 94e9845648b..00000000000
--- a/mcs/class/System.Runtime.Serialization.Formatters.Soap/makefile.gnu
+++ /dev/null
@@ -1,15 +0,0 @@
-topdir = ../..
-
-TEST_DIR = Test
-LIBRARY = $(topdir)/class/lib/System.Runtime.Serialization.Formatters.Soap.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System -r System.Xml
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Security/Makefile b/mcs/class/System.Security/Makefile
new file mode 100644
index 00000000000..dffc085d123
--- /dev/null
+++ b/mcs/class/System.Security/Makefile
@@ -0,0 +1,8 @@
+thisdir = class/System.Security
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Security.dll
+LIB_MCS_FLAGS = /r:$(corlib) /r:System.dll /r:System.Xml.dll
+
+include ../../build/library.make
diff --git a/mcs/class/System.Security/System.Security.build b/mcs/class/System.Security/System.Security.build
deleted file mode 100644
index 3b1abad39f9..00000000000
--- a/mcs/class/System.Security/System.Security.build
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Security.dll -->
-
-<project name="System.Security" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/System.Security.dll" debug="${debug}">
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:1595"/>
- <arg value="/nostdlib"/> <!-- don't reference mscorlib -->
- <arg value="/noconfig"/>
- <arg value="/r:../lib/corlib.dll"/>
- <arg value="/r:../lib/System.Xml.dll"/>
- <sources basedir=".">
- <includes name="System.Security.Cryptography.Xml/*.cs"/>
- </sources>
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- </references>
- </csc>
- <csc target="library" output="../lib/System.Security_cmp.dll" debug="${debug}">
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:1595"/>
- <arg value="/noconfig"/>
- <arg value="/r:../lib/System.Xml.dll"/>
- <sources basedir=".">
- <includes name="System.Security.Cryptography.Xml/*.cs"/>
- </sources>
- <references>
- <includes name="../lib/System.Xml.dll"/>
- </references>
- </csc>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <delete file="../lib/System.Security.dll" failonerror="false"/>
- <nant basedir="Test" target="clean"/>
- </target>
-</project>
diff --git a/mcs/class/System.Security/Test/System.Security_test.build b/mcs/class/System.Security/Test/System.Security_test.build
deleted file mode 100644
index fc227369140..00000000000
--- a/mcs/class/System.Security/Test/System.Security_test.build
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Security_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="System.Security_test" default="build">
- <property name="debug" value="false"/>
- <property name="nunit_home" value="..\..\..\nunit"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="System.Security_test.dll" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- </sources>
- <references basedir="..\..\..\nunit20">
- <includes name="NUnit.Framework.dll"/>
- <includes name="..\class\lib\corlib.dll"/>
- <includes name="..\class\lib\System.XML.dll"/>
- <includes name="..\class\lib\System.Security.dll"/>
- </references>
- </csc>
- <copy file="../../lib/corlib.dll" tofile="corlib.dll"/>
- <copy file="../../lib/System.Security.dll" tofile="System.Security.dll"/>
- <copy file="../../lib/System.XML.dll" tofile="System.XML.dll"/>
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="System.Security_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="corlib.dll" failonerror="false"/>
- <delete file="System.Security_test.dll" failonerror="false"/>
- <delete file="System.Security.dll" failonerror="false"/>
- <delete file="System.XML.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Security/Test/makefile.gnu b/mcs/class/System.Security/Test/makefile.gnu
deleted file mode 100644
index 3fa60375beb..00000000000
--- a/mcs/class/System.Security/Test/makefile.gnu
+++ /dev/null
@@ -1,28 +0,0 @@
-topdir = ../../..
-
-LIBRARY = security_linux_test.dll
-
-LIB_LIST = security_linux_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.Xml.dll \
- -r $(topdir)/class/lib/System.Security.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/System.Security/makefile.gnu b/mcs/class/System.Security/makefile.gnu
deleted file mode 100644
index 0546c8825c8..00000000000
--- a/mcs/class/System.Security/makefile.gnu
+++ /dev/null
@@ -1,16 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/System.Security.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System.Xml -r mscorlib
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.ServiceProcess/System.ServiceProcess.build b/mcs/class/System.ServiceProcess/System.ServiceProcess.build
deleted file mode 100644
index 809846bc92b..00000000000
--- a/mcs/class/System.ServiceProcess/System.ServiceProcess.build
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.ServiceProcess.dll -->
-
-<project name="System.ServiceProcess" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="library" output="../lib/System.ServiceProcess.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:0109"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0679"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
-<!-- TODO: check values
- <arg value="/r:System.Xml.dll"/>
--->
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
-<!-- TODO: check references
- <references>
- <includes name="../lib/corlib.dll"/>
- <includes name="../lib/System.Xml.dll"/>
- </references>
--->
- </csc>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <delete file="../lib/System.ServiceProcess.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.ServiceProcess/makefile.gnu b/mcs/class/System.ServiceProcess/makefile.gnu
deleted file mode 100644
index 06657e1beca..00000000000
--- a/mcs/class/System.ServiceProcess/makefile.gnu
+++ /dev/null
@@ -1,15 +0,0 @@
-topdir = ../..
-
-TEST_DIR = Test
-LIBRARY = $(topdir)/class/lib/System.ServiceProcess.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Web.Mobile/System.Web.Mobile.build b/mcs/class/System.Web.Mobile/System.Web.Mobile.build
deleted file mode 100644
index 7ae204f08a4..00000000000
--- a/mcs/class/System.Web.Mobile/System.Web.Mobile.build
+++ /dev/null
@@ -1,37 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Web.Mobile.dll -->
-
-<project name="System.Web.Mobile" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Web.Mobile.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/> <!-- always default value -->
- <arg value="/nowarn:0067"/> <!-- event never used -->
- <arg value="/nowarn:0679"/> <!-- internal virual -->
- <arg value="/nowarn:0168"/> <!-- never used variable -->
- <arg value="/nowarn:0162"/> <!-- unreachable code -->
- <!--<arg value="/noconfig"/>-->
- <arg value="/debug"/>
- <!--<arg value="/r:System.Web.dll"/>-->
- <!--<arg value="/r:System.dll"/>-->
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
-
- <target name="clean">
- <delete failonerror="false">
- <fileset basedir="../lib">
- <includes name="System.Web.Mobile.dll"/>
- <includes name="System.Web.Mobile.pdb"/>
- </fileset>
- </delete>
- </target>
-</project>
diff --git a/mcs/class/System.Web.Services/Makefile b/mcs/class/System.Web.Services/Makefile
new file mode 100644
index 00000000000..5f0df611e95
--- /dev/null
+++ b/mcs/class/System.Web.Services/Makefile
@@ -0,0 +1,15 @@
+thisdir = class/System.Web.Services
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Web.Services.dll
+LIB_MCS_FLAGS = \
+ /nowarn:0168 /nowarn:0162 \
+ /r:$(corlib) \
+ /r:System.dll \
+ /r:System.EnterpriseServices.dll \
+ /r:System.Xml.dll \
+ /r:System.Web.dll
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
+
+include ../../build/library.make
diff --git a/mcs/class/System.Web.Services/System.Web.Services.build b/mcs/class/System.Web.Services/System.Web.Services.build
deleted file mode 100644
index f6d40dbc008..00000000000
--- a/mcs/class/System.Web.Services/System.Web.Services.build
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Web.Services.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Web.Services.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/> <!-- always default value -->
- <arg value="/nowarn:0067"/> <!-- event never used -->
- <arg value="/nowarn:0679"/> <!-- internal virual -->
- <arg value="/nowarn:0168"/> <!-- never used variable -->
- <arg value="/nowarn:0162"/> <!-- unreachable code -->
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/debug"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.EnterpriseServices.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Web.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/System.Web.Services.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Web.Services/Test/System.Web.Services_test.build b/mcs/class/System.Web.Services/Test/System.Web.Services_test.build
deleted file mode 100644
index 2e88b295d21..00000000000
--- a/mcs/class/System.Web.Services/Test/System.Web.Services_test.build
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Web.Services_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="System.Web.Services_test" default="build">
- <property name="debug" value="false"/>
- <property name="nunit_home" value="..\..\..\nunit"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="System.Web.Services_test.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <sources>
- <includes name="**/*.cs"/>
- </sources>
- <references basedir="..\..\..\nunit20">
- <includes name="NUnit.Framework.dll"/>
- </references>
- <arg value="/r:..\..\lib\System.Web.Services.dll"/>
- </csc>
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="System.Web.Services_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="System.Web.Services.dll" failonerror="false"/>
- <delete file="System.Web.Services_test.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Web.Services/Test/makefile.gnu b/mcs/class/System.Web.Services/Test/makefile.gnu
deleted file mode 100755
index a0ffb87f842..00000000000
--- a/mcs/class/System.Web.Services/Test/makefile.gnu
+++ /dev/null
@@ -1,29 +0,0 @@
-topdir = ../../..
-
-LIBRARY = System.Web.Services_test.dll
-
-LIB_LIST = System.Web.Services_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/class/lib/System.Web.Services.dll \
- -r $(topdir)/class/lib/System.EnterpriseServices.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/System.Web.Services/makefile.gnu b/mcs/class/System.Web.Services/makefile.gnu
deleted file mode 100644
index bd938f6a722..00000000000
--- a/mcs/class/System.Web.Services/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/System.Web.Services.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System.Xml -r System.EnterpriseServices -r System.Web -r System
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Web/System.Web.build b/mcs/class/System.Web/System.Web.build
deleted file mode 100644
index 419f237efcf..00000000000
--- a/mcs/class/System.Web/System.Web.build
+++ /dev/null
@@ -1,58 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.Web.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Web.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/> <!-- always default value -->
- <arg value="/nowarn:0067"/> <!-- event never used -->
- <arg value="/nowarn:0679"/> <!-- internal virual -->
- <arg value="/nowarn:0168"/> <!-- never used variable -->
- <arg value="/nowarn:0162"/> <!-- unreachable code -->
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/debug"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Drawing.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="trace">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Web.dll" debug="${debug}">
- <arg value="/d:TRACE"/>
- <arg value="/d:WEBTRACE"/>
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/> <!-- always default value -->
- <arg value="/nowarn:0067"/> <!-- event never used -->
- <arg value="/nowarn:0679"/> <!-- internal virual -->
- <arg value="/nowarn:0168"/> <!-- never used variable -->
- <arg value="/nowarn:0162"/> <!-- unreachable code -->
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/debug"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Drawing.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- </sources>
- </csc>
- </target>
- <target name="clean">
- <delete file="../lib/System.Web.dll" failonerror="false"/>
- <delete file="../lib/System.Web.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Web/Test/Makefile b/mcs/class/System.Web/Test/Makefile
new file mode 100644
index 00000000000..4f9c28f3587
--- /dev/null
+++ b/mcs/class/System.Web/Test/Makefile
@@ -0,0 +1,9 @@
+thisdir = class/System.Web/Test
+SUBDIRS = TestMonoWeb
+include ../../../build/rules.make
+
+all-local install-local clean-local test-local run-test-local:
+
+DISTFILES = DataBinderTests.cs $(wildcard *.aspx)
+
+dist-local: dist-default
diff --git a/mcs/class/System.Web/Test/TestMonoWeb/Makefile b/mcs/class/System.Web/Test/TestMonoWeb/Makefile
new file mode 100644
index 00000000000..96ac0266852
--- /dev/null
+++ b/mcs/class/System.Web/Test/TestMonoWeb/Makefile
@@ -0,0 +1,38 @@
+thisdir = class/System.Web/Test/TestMonoWeb
+SUBDIRS =
+include ../../../../build/rules.make
+
+LOCAL_MCS_FLAGS = /nowarn:0168 /nowarn:0162 /unsafe \
+ /noconfig /r:System.dll /r:System.Web.dll \
+ /r:System.Drawing.dll /r:System.Xml.dll
+
+all-local install-local:
+
+# it doesn't compile for me.
+# test-local: TestMonoWeb.exe
+
+test-local:
+
+# ??? What do we run here?
+
+run-test-local:
+
+clean-local:
+ rm -f *.exe
+
+sources = \
+ AsyncHandler.cs \
+ AsyncModule.cs \
+ AsyncOperation.cs \
+ SyncHandler.cs \
+ SyncModule.cs \
+ Test1.cs
+
+DISTFILES = $(sources) README
+
+dist-local: dist-default
+
+# The thingie
+
+TestMonoWeb.exe: $(sources)
+ $(CSCOMPILE) /target:exe /out:$@ $(sources)
diff --git a/mcs/class/System.Web/Test/TestMonoWeb/TestMonoWeb.build b/mcs/class/System.Web/Test/TestMonoWeb/TestMonoWeb.build
deleted file mode 100644
index 98ecbcc49c3..00000000000
--- a/mcs/class/System.Web/Test/TestMonoWeb/TestMonoWeb.build
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="exe" output="TestMonoWeb.exe" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0169"/>
- <arg value="/nowarn:0649"/> <!-- always default value -->
- <arg value="/nowarn:0067"/> <!-- event never used -->
- <arg value="/nowarn:0679"/> <!-- internal virual -->
- <arg value="/nowarn:0168"/> <!-- never used variable -->
- <arg value="/nowarn:0162"/> <!-- unreachable code -->
- <arg value="/unsafe"/>
- <arg value="/noconfig"/>
- <arg value="/debug"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Web.dll"/>
- <arg value="/r:System.Drawing.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- </sources>
- </csc>
- </target>
-</project>
diff --git a/mcs/class/System.Web/makefile.gnu b/mcs/class/System.Web/makefile.gnu
deleted file mode 100644
index 0333f0235a8..00000000000
--- a/mcs/class/System.Web/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-topdir = ../..
-
-LIBRARY = $(topdir)/class/lib/System.Web.dll
-
-LIB_LIST = list
-LIB_FLAGS = -r corlib -r System -r System.Drawing -r System.Xml
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=./Test*
-
-export MONO_PATH = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.Windows.Forms/Gtk/makefile b/mcs/class/System.Windows.Forms/Gtk/Makefile
index f056c05f9c5..e41bfeedd18 100644
--- a/mcs/class/System.Windows.Forms/Gtk/makefile
+++ b/mcs/class/System.Windows.Forms/Gtk/Makefile
@@ -1,7 +1,22 @@
-CSC=mcs
-SWFF=-r gdk-sharp -r gtk-sharp -r glib-sharp -r System.Drawing -r gnome-sharp
+thisdir = class/System.Windows.Forms/Gtk
+SUBDIRS =
+include ../../../build/rules.make
-SOURCES = \
+# We can't build this by default because it depends on gtk-sharp.
+
+# Skip build/library.make for the moment -- we don't need its more advanced
+# features and our build rules are more complicated than it can
+# handle.
+
+EXES = demo.exe Demo2.exe singlewidget.exe
+LIBRARY = System.Windows.Forms.dll
+
+LIB_MCS_FLAGS = /r:glib-sharp.dll /r:gdk-sharp.dll /r:gtk-sharp.dll \
+ /r:gnome-sharp.dll /r:System.Drawing.dll
+
+EXE_MCS_FLAGS = /r:$(LIBRARY) /r:System.Drawing.dll
+
+LIB_SOURCES = \
AnchorStyles.cs \
Application.cs \
ContainerControl.cs \
@@ -57,31 +72,24 @@ SOURCES = \
DrawItemState.cs \
MouseButtons.cs \
DockStyle.cs \
- ListControl.cs \
- ListBox.cs \
- LayoutEventArgs.cs \
-
-all: demo.exe Demo2.exe Form1.exe StatusBarDemo.exe
+ ListControl.cs \
+ ListBox.cs \
+ LayoutEventArgs.cs
+all-local: $(LIBRARY) $(EXES)
-demo.exe: demo.cs System.Windows.Forms.dll
- $(CSC) demo.cs -r System.Windows.Forms.dll -r System.Drawing
+clean-local:
+ rm -f $(LIBRARY) $(EXES)
-Demo2.exe: Demo2.cs System.Windows.Forms.dll
- $(CSC) Demo2.cs -r System.Windows.Forms.dll -r System.Drawing
+test-local run-test-local install-local:
-singlewidget.exe : singlewidget.cs
- $(CSC) singlewidget.cs -r System.Windows.Forms.dll -r System.Drawing
+DISTFILES = demo.cs Demo2.cs singlewidget.cs $(LIB_SOURCES)
-Form1.exe : Form1.cs
- $(CSC) Form1.cs -r System.Windows.Forms.dll -r System.Drawing
+dist-local: dist-default
-StatusBarDemo.exe : StatusBarDemo.cs
- $(CSC) StatusBarDemo.cs -r System.Windows.Forms.dll -r System.Drawing -r System.Data
+$(LIBRARY): $(LIB_SOURCES)
+ $(CSCOMPILE) $(LIB_MCS_FLAGS) /target:library /out:$@ $^
-System.Windows.Forms.dll: $(SOURCES)
- $(CSC) $(SWFF) --target library -o System.Windows.Forms.dll $(SOURCES)
+%.exe: %.cs $(LIBRARY)
+ $(CSCOMPILE) $(EXE_MCS_FLAGS) /target:exe /out:$@ $<
-clean:
- rm -f *.exe
- rm -f *.dll
diff --git a/mcs/class/System.Windows.Forms/Makefile b/mcs/class/System.Windows.Forms/Makefile
new file mode 100644
index 00000000000..5d0b7e8ca8a
--- /dev/null
+++ b/mcs/class/System.Windows.Forms/Makefile
@@ -0,0 +1,19 @@
+thisdir = class/System.Windows.Forms
+SUBDIRS = SWFTest
+DIST_ONLY_SUBDIRS = Gtk
+include ../../build/rules.make
+
+LIBRARY = System.Windows.Forms.dll
+LIB_MCS_FLAGS = /nowarn:0108 /nowarn:0114 /unsafe \
+ /r:$(corlib) /r:System.dll /r:System.Xml.dll \
+ /r:System.Drawing.dll /r:Accessibility.dll
+EXTRA_DISTFILES = \
+ CheckOutList \
+ README
+
+NO_TEST = yes
+
+# FIXME: there is a lot of undisted test stuff at the moment,
+# I think.
+
+include ../../build/library.make
diff --git a/mcs/class/System.Windows.Forms/SWFTest/Makefile b/mcs/class/System.Windows.Forms/SWFTest/Makefile
new file mode 100644
index 00000000000..76b571c42d1
--- /dev/null
+++ b/mcs/class/System.Windows.Forms/SWFTest/Makefile
@@ -0,0 +1,24 @@
+thisdir = class/System.Windows.Forms/SWFTest
+SUBDIRS =
+include ../../../build/rules.make
+
+all-local:
+
+clean-local:
+ rm -f *.exe
+
+test-local: SWFTest.exe
+
+# Fixme: does the program run itself and exit automatically?
+# We want run-test to work without supervision.
+
+run-test-local install-local:
+
+DISTFILES = App.ico AssemblyInfo.cs changelog Form1.cs \
+ Form1.resx SWFTest.csproj SWFTest.csproj.user
+
+dist-local: dist-default
+
+SWFTest.exe: App.ico AssemblyInfo.cs Form1.cs Form1.resx
+ $(CSCOMPILE) /r:System.Windows.Forms.dll /r:System.Drawing.dll /resource:App.ico \
+ /resource:Form1.resx /r:System.Data.dll /target:exe /out:$@ AssemblyInfo.cs Form1.cs
diff --git a/mcs/class/System.Windows.Forms/SWFTest/makefile b/mcs/class/System.Windows.Forms/SWFTest/makefile
deleted file mode 100644
index 7a523d1a8f7..00000000000
--- a/mcs/class/System.Windows.Forms/SWFTest/makefile
+++ /dev/null
@@ -1,2 +0,0 @@
-all:
- mcs AssemblyInfo.cs Form1.cs /r:System.Windows.Forms /r:System.Drawing /resource:App.ico /resource:Form1.resx /r:System.Data
diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms.build b/mcs/class/System.Windows.Forms/System.Windows.Forms.build
deleted file mode 100644
index c64d960a407..00000000000
--- a/mcs/class/System.Windows.Forms/System.Windows.Forms.build
+++ /dev/null
@@ -1,49 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.XML.dll -->
-
-<project name="System.Windows.Forms" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Windows.Forms.dll" debug="${debug}">
- <!-- 'foo' is defined in multiple places; using definition from 'bar' -->
- <arg value="/nowarn:1595"/>
- <!-- Other languages may permit the internal virtual member 'foo' to be overridden -->
- <arg value="/nowarn:0679"/>
- <arg value="/nowarn:0649"/>
- <arg value="/nowarn:0168"/>
- <arg value="/nowarn:0067"/>
- <arg value="/nowarn:108"/>
- <arg value="/nowarn:114"/>
- <arg value="/noconfig"/>
- <arg value="/r:Accessibility.dll"/>
- <arg value="/r:System.dll"/>
- <arg value="/r:System.Xml.dll"/>
- <arg value="/r:System.Drawing.dll"/>
- <arg value="/unsafe"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- <excludes name="System.Windows.Forms.Test/**"/>
- <excludes name="Gtk/**"/>
- <excludes name="SWFTest/**"/>
- <excludes name="System.Windows.Forms.Design/TODOAttribute.cs"/>
- <excludes name="System.Windows.Forms.Design/AssemblyInfo.cs"/>
- <excludes name="WINELib/**"/>
- </sources>
- </csc>
- <copy file="../lib/System.Windows.Forms.dll" tofile="Test/System.Windows.Forms.dll"/>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/System.Windows.Forms.dll" failonerror="false"/>
- <delete file="Test/System.Windows.Forms.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.Windows.Forms/System.Windows.Forms/makefile b/mcs/class/System.Windows.Forms/System.Windows.Forms/makefile
deleted file mode 100644
index fad561b312a..00000000000
--- a/mcs/class/System.Windows.Forms/System.Windows.Forms/makefile
+++ /dev/null
@@ -1,81 +0,0 @@
-CSC=mcs
-X11R6_INCLUDE=/usr/X11R6/include
-WINE_INCLUDE=/usr/include/wine
-WINDOWS_INCLUDE=/usr/local/include/wine/windows
-WINE_LIB=/usr/lib/wine
-GLIB20_CFLAGS=`pkg-config --cflags glib-2.0` `pkg-config --cflags gmodule-2.0`
-GLIB20_LIBS=`pkg-config --libs glib-2.0` `pkg-config --libs gmodule-2.0`
-MONO_CFLAGS=`pkg-config --cflags mono`
-MONO_LIBS=`pkg-config --libs monoold`
-COMPILE_OPTIONS=-g -O2 -Wall
-#COMPILE_OPTIONS=-gstabs+ -Wall
-
-all: monostub.exe.so monowinehooks.so
-# These are no longer built here:
-# System.Windows.Forms.dll NativeWindowTest.exe \
-# FormTest.exe Test.exe
-
-##########################################################################
-# build the mono stub application
-monostub.exe.so: monostub.o monosem.o monogc.o monostub.exe.spec.o monostub.exe.dbg.o
- gcc -shared -Wl,-Bsymbolic -D_REENTRANT -DWINELIB -o monostub.exe.so \
- monostub.exe.spec.o monostub.o monosem.o monogc.o monostub.exe.dbg.o \
- $(GLIB20_LIBS) $(MONO_LIBS) \
- -lgc -lwine -lntdll.dll -lm -lpthread
-
-monowinehooks.so: monowinehooks.o
- gcc -shared -W1,soname,monowinehooks.so -o monowinehooks.so monowinehooks.o -lc -ldl
-
-monowinehooks.o: monowinehooks.c
- gcc -fPIC -I. -I$(WINE_INCLUDE) -I$(X11R6_INCLUDE) -rdynamic -g -c -Wall monowinehooks.c
-
-clean:
- rm *.o monostub.exe.dbg.c monostub.exe.spec.c monostub.exe.so monowinehooks.so
-
-monostub.o: monostub.c
- gcc -c -I. -I$(WINE_INCLUDE) -I$(X11R6_INCLUDE) \
- $(GLIB20_CFLAGS) $(MONO_CFLAGS) -D_REENTRANT -DWINELIB \
- $(COMPILE_OPTIONS) -o monostub.o monostub.c
-
-monosem.o: monosem.c
- gcc -c -I. -I$(WINE_INCLUDE) -I$(WINDOWS_INCLUDE) -I$(X11R6_INCLUDE) \
- $(GLIB20_CFLAGS) $(MONO_CFLAGS) -D_REENTRANT -DWINELIB \
- $(COMPILE_OPTIONS) -o monosem.o monosem.c
-
-monogc.o: monogc.c
- gcc -c -I. -I$(WINE_INCLUDE) -I$(WINDOWS_INCLUDE) -I$(X11R6_INCLUDE) \
- $(GLIB20_CFLAGS) $(MONO_CFLAGS) -D_REENTRANT -DWINELIB \
- $(COMPILE_OPTIONS) -o monogc.o monogc.c
-
-monostub.exe.tmp.o: monostub.o monosem.o monogc.o
- ld -r monostub.o monosem.o monogc.o -o monostub.exe.tmp.o
- strip --strip-unneeded monostub.exe.tmp.o
-
-monostub.exe.spec.c: monostub.exe.tmp.o
- winebuild -D -sym monostub.exe.tmp.o -o monostub.exe.spec.c \
- --exe monostub.exe -mgui -L$(WINE_LIB) -lcomdlg32 -lshell32 \
- -luser32 -lgdi32 -lkernel32
-
-monostub.exe.spec.o: monostub.exe.spec.c
- gcc -c -I. -I. -I$(WINE_INCLUDE) -g -O2 -I$(X11R6_INCLUDE) \
- -D_REENTRANT -DWINELIB -o monostub.exe.spec.o monostub.exe.spec.c
-
-monostub.exe.dbg.c: monostub.exe.spec.o
- winebuild -o monostub.exe.dbg.c --debug -C. monostub.c
-
-monostub.exe.dbg.o: monostub.exe.dbg.c
- gcc -c -I. -I. -I$(WINE_INCLUDE) -g -O2 -I$(X11R6_INCLUDE) \
- -D_REENTRANT -DWINELIB -o monostub.exe.dbg.o monostub.exe.dbg.c
-
-##########################################################################
-# build System.Windows.Forms.dll and test/sample applications
-
-Test.exe: Test.cs
- $(CSC) Test.cs
-
-NativeWindowTest.exe: NativeWindowTest.cs System.Windows.Forms.dll
- $(CSC) -r System.Windows.Forms.dll NativeWindowTest.cs
-
-FormTest.exe: FormTest.cs System.Windows.Forms.dll
- $(CSC) -r System.Windows.Forms.dll FormTest.cs
-
diff --git a/mcs/class/System.Windows.Forms/WINELib/makefile b/mcs/class/System.Windows.Forms/WINELib/makefile
deleted file mode 100644
index cc56d942d9c..00000000000
--- a/mcs/class/System.Windows.Forms/WINELib/makefile
+++ /dev/null
@@ -1,156 +0,0 @@
-CSC=mcs
-X11R6_INCLUDE=/usr/X11R6/include
-WINE_INCLUDE=/usr/local/include/wine
-WINE_LIB=/usr/local/lib/wine
-GLIB20_INCLUDE=`pkg-config --cflags glib-2.0` `pkg-config --cflags gmodule-2.0`
-GLIB20_LIB=`pkg-config --libs glib-2.0` `pkg-config --libs gmodule-2.0`
-# GLIB20_LIB_INCLUDE=/usr/lib/glib-2.0/include
-LIBMONO=/usr/local/lib/libmono.a
-SOURCES = \
- Win32.cs \
- Font.cs \
- MenuItem.cs \
- DrawItemEventArgs.cs \
- DrawItemEventHandler.cs \
- ../System.Windows.Forms/BorderStyle.cs \
- ../System.Windows.Forms/Message.cs \
- ../System.Windows.Forms/CreateParams.cs \
- ../System.Windows.Forms/MdiLayout.cs \
- ../System.Windows.Forms/InputLanguage.cs \
- ../System.Windows.Forms/InputLanguageCollection.cs \
- ../System.Windows.Forms/InputLanguageChangedEventArgs.cs \
- ../System.Windows.Forms/InputLanguageChangingEventArgs.cs \
- ../System.Windows.Forms/PaintEventArgs.cs \
- ../System.Windows.Forms/Keys.cs \
- ../System.Windows.Forms/BoundsSpecified.cs \
- ../System.Windows.Forms/RightToLeft.cs \
- ../System.Windows.Forms/Shortcut.cs \
- ../System.Windows.Forms/MeasureItemEventArgs.cs \
- ../System.Windows.Forms/SizeGripStyle.cs \
- ../System.Windows.Forms/FormStartPosition.cs \
- ../System.Windows.Forms/FormWindowState.cs \
- ../System.Windows.Forms/ImeMode.cs \
- ../System.Windows.Forms/InputLanguageChangedEventHandler.cs \
- ../System.Windows.Forms/MeasureItemEventHandler.cs \
- ../System.Windows.Forms/InputLanguageChangingEventHandler.cs \
- ../System.Windows.Forms/DrawItemState.cs \
- ../System.Windows.Forms/ComVisible.cs \
- ../System.Windows.Forms/DialogResult.cs \
- ../System.Windows.Forms/IButtonControl.cs \
- ../System.Windows.Forms/FormBorderStyle.cs \
- ../System.Windows.Forms/AccessibleEvents.cs \
- ../System.Windows.Forms/IWin32Window.cs \
- ../System.Windows.Forms/DragDropEffects.cs \
- ../System.Windows.Forms/ControlStyles.cs \
- ../System.Windows.Forms/ControlEventArgs.cs \
- ../System.Windows.Forms/DragEventArgs.cs \
- ../System.Windows.Forms/GiveFeedbackEventArgs.cs \
- ../System.Windows.Forms/HelpEventArgs.cs \
- ../System.Windows.Forms/InvalidateEventArgs.cs \
- ../System.Windows.Forms/KeyEventArgs.cs \
- ../System.Windows.Forms/KeyPressEventArgs.cs \
- ../System.Windows.Forms/MouseEventArgs.cs \
- ../System.Windows.Forms/LayoutEventArgs.cs \
- ../System.Windows.Forms/QueryContinueDragEventArgs.cs \
- ../System.Windows.Forms/HorizontalAlignment.cs \
- ../System.Windows.Forms/LeftRightAlignment.cs \
- ../System.Windows.Forms/AccessibleRole.cs \
- ../System.Windows.Forms/AnchorStyles.cs \
- ../System.Windows.Forms/Cursor.cs \
- ../System.Windows.Forms/BaseCollection.cs \
- ../System.Windows.Forms/DockStyle.cs \
- ../System.Windows.Forms/ControlEventHandler.cs \
- ../System.Windows.Forms/MouseButtons.cs \
- ../System.Windows.Forms/UICues.cs \
- ../System.Windows.Forms/UICuesEventArgs.cs \
- ../System.Windows.Forms/UICuesEventHandler.cs \
- ../System.Windows.Forms/DragEventHandler.cs \
- ../System.Windows.Forms/HelpEventHandler.cs \
- ../System.Windows.Forms/GiveFeedbackEventHandler.cs \
- ../System.Windows.Forms/InvalidateEventHandler.cs \
- ../System.Windows.Forms/KeyEventHandler.cs \
- ../System.Windows.Forms/KeyPressEventHandler.cs \
- ../System.Windows.Forms/LayoutEventHandler.cs \
- ../System.Windows.Forms/MouseEventHandler.cs \
- ../System.Windows.Forms/PaintEventHandler.cs \
- ../System.Windows.Forms/QueryAccessibilityHelpEventHandler.cs \
- ../System.Windows.Forms/QueryContinueDragEventHandler.cs \
- ../System.Windows.Forms/IDataObject.cs \
- ../System.Windows.Forms/DragAction.cs \
- ../System.Windows.Forms/QueryAccessibilityHelpEventArgs.cs \
- ../System.Windows.Forms/IMessageFilter.cs \
- ../System.Windows.Forms/ApplicationContext.cs \
- ../System.Windows.Forms/MessageBoxButtons.cs \
- ../System.Windows.Forms/MessageBoxIcon.cs \
- ../System.Windows.Forms/MessageBoxDefaultButton.cs \
- ../System.Windows.Forms/MessageBoxOptions.cs \
- ../System.Windows.Forms/FlatStyle.cs \
- ../System.Windows.Forms/ImageListStreamer.cs \
- ../System.Windows.Forms/ImageList.cs \
- ../System.Windows.Forms/ColorDepth.cs \
- IContainerControl.cs \
- Control.cs \
- ScrollableControl.cs \
- ContainerControl.cs \
- Label.cs \
- Form.cs \
- Application.cs \
- NativeWindow.cs \
- ButtonBase.cs \
- Button.cs \
- MessageBox.cs
-
-myall:
- @echo This directory is now obsolete, its only used for reference purposes
- @echo Please use the ../System.Windows.Forms directory now
- @echo Read the mcs/class/System.Windows.Forms/README file for details.
-
-all: monostub.exe.so System.Windows.Forms.dll NativeWindowTest.exe \
- FormTest.exe Test.exe
-
-##########################################################################
-# build the mono stub application
-monostub.exe.so: monostub.o monostub.exe.spec.o monostub.exe.dbg.o
- gcc -shared -Wl,-Bsymbolic -D_REENTRANT -DWINELIB -o monostub.exe.so \
- monostub.exe.spec.o \
- monostub.o monostub.exe.dbg.o -I/usr/local/include \
- $(GLIB20_INCUDE) -L/usr/lib \
- $(LIBMONO) -lgc \
- -lwine -lntdll.dll $(GLIB20_LIB) -lm -lpthread
-
-clean:
- rm *.o monostub.exe.dbg.c monostub.exe.spec.c monostub.exe.so *.exe *.dll
-
-monostub.o: monostub.c
- gcc -c -I. -I$(WINE_INCLUDE) $(GLIB20_INCLUDE) -g -O2 -Wall -I$(X11R6_INCLUDE) -D_REENTRANT -DWINELIB -o monostub.o monostub.c
-
-monostub.exe.tmp.o: monostub.o
- ld -r monostub.o -o monostub.exe.tmp.o
- strip --strip-unneeded monostub.exe.tmp.o
-
-monostub.exe.spec.c: monostub.exe.tmp.o
- winebuild -sym monostub.exe.tmp.o -o monostub.exe.spec.c -exe monostub.exe -mgui -L$(WINE_LIB) -lcomdlg32 -lshell32 -luser32 -lgdi32 -lkernel32
-
-monostub.exe.spec.o: monostub.exe.spec.c
- gcc -c -I. -I. -I$(WINE_INCLUDE) -g -O2 -I$(X11R6_INCLUDE) -D_REENTRANT -DWINELIB -o monostub.exe.spec.o monostub.exe.spec.c
-
-monostub.exe.dbg.c: monostub.exe.spec.o
- winebuild -o monostub.exe.dbg.c -debug -C. monostub.c
-
-monostub.exe.dbg.o: monostub.exe.dbg.c
- gcc -c -I. -I. -I$(WINE_INCLUDE) -g -O2 -I$(X11R6_INCLUDE) -D_REENTRANT -DWINELIB -o monostub.exe.dbg.o monostub.exe.dbg.c
-
-##########################################################################
-# build System.Windows.Forms.dll and test/sample applications
-
-Test.exe: Test.cs
- $(CSC) Test.cs
-
-NativeWindowTest.exe: NativeWindowTest.cs System.Windows.Forms.dll
- $(CSC) -r System.Windows.Forms.dll NativeWindowTest.cs
-
-FormTest.exe: FormTest.cs System.Windows.Forms.dll
- $(CSC) -r System.Windows.Forms.dll FormTest.cs
-
-System.Windows.Forms.dll: $(SOURCES)
- $(CSC) --target library -o System.Windows.Forms.dll $(SOURCES) -r System.Drawing
diff --git a/mcs/class/System.Windows.Forms/makefile.gnu b/mcs/class/System.Windows.Forms/makefile.gnu
deleted file mode 100644
index d5bbfdebdff..00000000000
--- a/mcs/class/System.Windows.Forms/makefile.gnu
+++ /dev/null
@@ -1,16 +0,0 @@
-topdir = ../..
-
-TEST_DIR = Test
-LIBRARY = $(topdir)/class/lib/System.Windows.Forms.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = --unsafe -r corlib -r System -r System.Xml -r System.Drawing -r Accessibility /nowarn:0114 /nowarn:0108
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
- ./System.Xml/Driver.cs
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System.XML/Makefile b/mcs/class/System.XML/Makefile
new file mode 100644
index 00000000000..629d09a7714
--- /dev/null
+++ b/mcs/class/System.XML/Makefile
@@ -0,0 +1,31 @@
+thisdir = class/System.XML
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.Xml.dll
+
+LIB_MCS_FLAGS = /unsafe /r:$(corlib) /r:System.dll
+TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
+
+EXTRA_DISTFILES = \
+ Mono.System.XML.csproj \
+ Mono.System.XML.sln \
+ README \
+ System.Xml.Schema/BUGS-MS.txt \
+ System.Xml.Schema/BUGS.txt \
+ $(wildcard System.Xml.Serialization/standalone_tests/*.cs) \
+ $(wildcard System.Xml.Serialization/standalone_tests/*.output) \
+ System.Xml.XPath/Parser.jay \
+ Test/Microsoft.Test.csproj \
+ Test/Mono.Test.csproj \
+ Test/MonoMicro.Test.csproj \
+ Test/XmlFiles/xsd/xml.xsd \
+ Test/XmlFiles/xsd/ChangeLog \
+ Test/XmlFiles/xsl/empty.xsl \
+ Test/XmlFiles/xsl/ChangeLog \
+ Test/XmlFiles/ChangeLog \
+ Test/NUnit.Prefs
+
+CLEAN_FILES = Test/XmlFiles/xsl/result.xml
+
+include ../../build/library.make
diff --git a/mcs/class/System.XML/System.XML.build b/mcs/class/System.XML/System.XML.build
deleted file mode 100644
index df57d3680dd..00000000000
--- a/mcs/class/System.XML/System.XML.build
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.XML.dll -->
-
-<project name="System.XML" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.Xml.dll" debug="${debug}">
- <!-- 'foo' is defined in multiple places; using definition from 'bar' -->
- <arg value="/nowarn:1595"/>
- <!-- Other languages may permit the internal virtual member 'foo' to be overridden -->
- <arg value="/nowarn:0679"/>
- <arg value="/nowarn:0649"/>
- <arg value="/unsafe"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- <excludes name="System.Xml.Serialization\standalone_tests/**"/>
- <!--excludes name="System.Xml.Serialization/**"/-->
- </sources>
- </csc>
- <copy file="../lib/System.Xml.dll" tofile="Test/System.XML.dll"/>
- <nant basedir="Test" target="build"/>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/System.XML.dll" failonerror="false"/>
- <delete file="../lib/System.Xml.dll" failonerror="false"/>
- <delete file="Test/System.XML.dll" failonerror="false"/>
- <delete file="Test/System.Xml.dll" failonerror="false"/>
- <delete file="../lib/System.XML.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.XML/Test/System.XML_test.build b/mcs/class/System.XML/Test/System.XML_test.build
deleted file mode 100644
index 0c2628249a2..00000000000
--- a/mcs/class/System.XML/Test/System.XML_test.build
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.XML_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="System.XML_test" default="build">
- <property name="debug" value="false"/>
- <property name="nunit_home" value="..\..\..\nunit20"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="System.XML_test.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="AllTests.cs"/>
- <excludes name="TheTests.cs"/>
- </sources>
- <references basedir="..\..\..\nunit20">
- <includes name="NUnit.Framework.dll"/>
- </references>
- <arg value="/r:.\System.XML.dll"/>
- </csc>
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="System.XML_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="System.XML.dll" failonerror="false"/>
- <delete file="System.XML_test.dll" failonerror="false"/>
- <delete file="System.XML_test.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System.XML/Test/makefile.gnu b/mcs/class/System.XML/Test/makefile.gnu
deleted file mode 100644
index ff2b6f5a05a..00000000000
--- a/mcs/class/System.XML/Test/makefile.gnu
+++ /dev/null
@@ -1,28 +0,0 @@
-topdir = ../../..
-
-LIBRARY = System.XML_linux_test.dll
-
-LIB_LIST = System.XML_linux_test.args
-LIB_FLAGS = \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/class/lib/System.Xml.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=./TheTests.cs
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
diff --git a/mcs/class/System.XML/makefile.gnu b/mcs/class/System.XML/makefile.gnu
deleted file mode 100644
index 5bb9d39c294..00000000000
--- a/mcs/class/System.XML/makefile.gnu
+++ /dev/null
@@ -1,16 +0,0 @@
-topdir = ../..
-
-TEST_DIR = Test
-LIBRARY = $(topdir)/class/lib/System.Xml.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System -unsafe
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
- ./System.Xml/Driver.cs
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/System/Makefile b/mcs/class/System/Makefile
new file mode 100644
index 00000000000..8d97ff0e2e1
--- /dev/null
+++ b/mcs/class/System/Makefile
@@ -0,0 +1,30 @@
+thisdir = class/System
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = System.dll
+
+# yeah so. If we're doing a bootstrap build,
+# System.Xml.dll doesn't exist yet, so we
+# need to add in the /lib: to let mcs find it.
+# Or at least, that's the only way I can make this
+# work
+
+ifeq ($(PROFILE),bootstrap)
+SCARY_LIB=/lib:$(prefix)/lib
+else
+SCARY_LIB=
+endif
+
+LIB_MCS_FLAGS = $(SCARY_LIB) /r:System.Xml.dll /r:$(corlib)
+
+EXTRA_DISTFILES = \
+ System.Text.RegularExpressions/notes.txt \
+ System.ComponentModel.Design/Changelog \
+ Test/test-config-file \
+ Test/NUnit.Prefs \
+ Test/argument.txt \
+ Test/foo
+
+
+include ../../build/library.make
diff --git a/mcs/class/System/System.build b/mcs/class/System/System.build
deleted file mode 100644
index 3c73da35724..00000000000
--- a/mcs/class/System/System.build
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System.dll -->
-
-<project name="System" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/System.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/unsafe"/>
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- <arg value="/lib:../lib/"/>
-
- <!-- cor compare dies with these currently -->
- <!--arg value="/nostdlib"/--> <!-- don't reference mscorlib -->
- <!--arg value="/r:corlib.dll"/-->
- <arg value="/r:System.Xml.dll"/>
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Test/**"/>
- <excludes name="System.CodeDom/Code-X-Collection.cs"/>
- </sources>
- </csc>
- <copy file="../lib/System.dll" tofile="Test/System.dll"/>
- <nant basedir="Test" target="build"/>
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <nant basedir="Test" target="clean"/>
- <delete file="../lib/System.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System/Test/System_test.build b/mcs/class/System/Test/System_test.build
deleted file mode 100644
index 74d0f8cba33..00000000000
--- a/mcs/class/System/Test/System_test.build
+++ /dev/null
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for System_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="System_test" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="system_linux_test.dll" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- </sources>
-
- <arg value="/r:..\..\lib\System.dll"/>
- <arg value="/r:..\..\lib\corlib.dll"/>
- <arg value="/r:..\..\lib\System.Xml.dll"/>
- <arg value="/r:..\..\..\nunit20\NUnit.Framework.dll"/>
- <arg value="/nowarn:1595"/>
- <arg value="/nostdlib"/> <!-- don't reference mscorlib -->
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
- </csc>
-
- <csc target="library" output="system_test.dll" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- </sources>
-
- <arg value="/r:..\..\..\nunit20\NUnit.Framework.dll"/>
- </csc>
-
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="system_test.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="system_test.dll" failonerror="false"/>
- <delete file="system_linux_test.dll" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/System/Test/makefile.gnu b/mcs/class/System/Test/makefile.gnu
deleted file mode 100644
index b1fd34d8041..00000000000
--- a/mcs/class/System/Test/makefile.gnu
+++ /dev/null
@@ -1,30 +0,0 @@
-topdir = ../../..
-
-LIBRARY = system_linux_test.dll
-
-LIB_LIST = system_linux_test.args
-LIB_FLAGS = \
- /debug+ /debug:full \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/class/lib/System.Xml.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/nunit20:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) $(LIBRARY)
-
diff --git a/mcs/class/System/makefile.gnu b/mcs/class/System/makefile.gnu
deleted file mode 100644
index 1d6e3147862..00000000000
--- a/mcs/class/System/makefile.gnu
+++ /dev/null
@@ -1,22 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/System.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = -r corlib -r System.Xml -r mscorlib /debug+ /debug:full
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
- ./System.CodeDom/Code-X-Collection.cs \
- ./System.Net/IAuthenticationModule.cs \
- ./System.Net/AuthenticationManager.cs \
- ./System.Diagnostics/Performance*.cs \
- ./System.Diagnostics/Counter*.cs \
- ./System.Diagnostics/InstanceData*.cs
-
-
-export MONO_PATH_PREFIX = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/corlib/Makefile b/mcs/class/corlib/Makefile
new file mode 100644
index 00000000000..9389e3f99a4
--- /dev/null
+++ b/mcs/class/corlib/Makefile
@@ -0,0 +1,166 @@
+thisdir = class/corlib
+SUBDIRS =
+include ../../build/rules.make
+
+real_corlib := $(corlib)
+
+# corlib is crazy to build so we skip build/library.make and do stuff
+# ourselves.
+#
+# Here, we define a bunch of variables.
+
+corlib = $(topdir)/class/lib/corlib.dll
+testlib = corlib_test.dll
+cmplib = $(topdir)/class/lib/corlib_cmp.dll
+
+sourcefile = corlib.dll.sources
+response = $(depsdir)/corlib.dll.response
+makefrag = $(depsdir)/corlib.dll.makefrag
+stampfile = $(depsdir)/corlib.dll.stamp
+corlib_flags = /unsafe /nostdlib
+
+test_sourcefile = corlib_test.dll.sources
+test_response = $(depsdir)/$(testlib).response
+test_makefrag = $(depsdir)/$(testlib).makefrag
+test_stampfile = $(depsdir)/$(testlib).stamp
+test_flags = /nowarn:0618 /nowarn:0672 /r:$(corlib) /r:$(topdir)/class/lib/NUnit.Framework.dll
+
+cmp_response = $(depsdir)/corlib_cmp.dll.response
+cmp_makefrag = $(depsdir)/corlib_cmp.dll.makefrag
+cmp_stampfile = $(depsdir)/corlib_cmp.dll.stamp
+cmp_flags = /r:$(real_corlib) $(corlib_flags)
+
+# Here, we make all.
+
+ifdef PLATFORM_MAKE_CORLIB_CMP
+build_cmplib = $(cmplib)
+else
+build_cmplib =
+endif
+
+all-local: $(corlib) $(build_cmplib)
+
+# should we install cmplib? sure!
+
+install-local: $(corlib) $(build_cmplib)
+ $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/lib
+ $(INSTALL_LIB) $(corlib) $(DESTDIR)$(prefix)/lib
+ifdef PLATFORM_MAKE_CORLIB_CMP
+ $(INSTALL_LIB) $(cmplib) $(DESTDIR)$(prefix)/lib
+endif
+
+clean-local:
+ -rm -f $(corlib) $(cmplib) $(testlib) TestResult.xml \
+ $(response) $(makefrag) $(stampfile) \
+ $(test_response) $(test_makefrag) $(test_stampfile) \
+ $(cmp_response) $(cmp_makefrag) $(cmp_stampfile)
+
+
+test-local: $(corlib) $(testlib)
+
+run-test-local:
+ $(TEST_RUNTIME) $(TEST_HARNESS) $(testlib)
+
+# OK, that was the easy part. Now we get to the fun bits.
+#
+# first, make dist.
+
+DISTFILES = $(sourcefile) $(test_sourcefile) \
+ corlib.dll.win32-excludes corlib_cmp.dll.excludes Test/ms_run_test.sh
+
+# see $(topdir)/build/library.make for explanation of what's going on
+# here.
+
+dist-local: dist-default $(test_response)
+ cat $(sourcefile) $(test_response) |xargs -n 20 \
+ $(SHELL) -c 'for f in $$* ; do \
+ dest=`dirname $(distdir)/$$f` ; \
+ $(MKINSTALLDIRS) $$dest && cp $$f $$dest || exit 1 ; \
+ done' dollar0
+
+# plain ol corlib
+
+$(corlib): $(makefrag) $(response) $(stampfile)
+ $(CSCOMPILE) $(LIBRARY_FLAGS) $(corlib_flags) /target:library /out:$@ @$(response)
+
+$(response): $(sourcefile)
+ @echo Creating $@ ...
+ifdef PLATFORM_CHANGE_SEPARATOR_CMD
+ @cat $< |$(PLATFORM_TWEAK_CORLIB_SOURCES) |$(PLATFORM_CHANGE_SEPARATOR_CMD) >$@
+else
+ @cat $< |$(PLATFORM_TWEAK_CORLIB_SOURCES) >$@
+endif
+
+$(makefrag): $(response)
+ @echo Creating $@ ...
+ @echo "HAVE_MAKEFRAG = yes" >$@.new
+ @echo "$(stampfile): \\" >>$@.new
+ @cat $< |sed -e 's,\.cs[ \t]*$$,\.cs \\,' >>$@.new
+ @cat $@.new |sed -e '$$s, \\$$,,' >$@
+ @echo -e "\ttouch \$$@" >>$@
+ @rm -rf $@.new
+
+-include $(makefrag)
+
+ifndef HAVE_MAKEFRAG
+$(stampfile):
+ touch $@
+endif
+
+# corlib_cmp
+
+$(cmplib): $(cmp_makefrag) $(cmp_response) $(cmp_stampfile)
+ $(CSCOMPILE) $(LIBRARY_FLAGS) $(cmp_flags) /target:library /out:$@ @$(cmp_response)
+
+$(cmp_response): $(response) corlib_cmp.dll.excludes
+ @echo Creating $@ ...
+ifdef PLATFORM_CHANGE_SEPARATOR_CMD
+ @cat corlib_cmp.dll.excludes |$(PLATFORM_CHANGE_SEPARATOR_CMD) |cat - $< |sort |uniq -u >$@
+else
+ @cat corlib_cmp.dll.excludes |cat - $< |sort |uniq -u >$@
+endif
+
+$(cmp_makefrag): $(cmp_response)
+ @echo Creating $@ ...
+ @echo "HAVE_CMP_MAKEFRAG = yes" >$@.new
+ @echo "$(cmp_stampfile): \\" >>$@.new
+ @cat $< |sed -e 's,\.cs[ \t]*$$,\.cs \\,' >>$@.new
+ @cat $@.new |sed -e '$$s, \\$$,,' >$@
+ @echo -e "\ttouch \$$@" >>$@
+ @rm -rf $@.new
+
+-include $(cmp_makefrag)
+
+ifndef HAVE_CMP_MAKEFRAG
+$(cmp_stampfile):
+ touch $@
+endif
+
+# corlib_test
+
+$(testlib): $(test_makefrag) $(test_response) $(test_stampfile)
+ $(CSCOMPILE) $(test_flags) /target:library /out:$@ @$(test_response)
+
+$(test_response): $(test_sourcefile)
+ @echo Creating $@ ...
+ifdef PLATFORM_CHANGE_SEPARATOR_CMD
+ @cat $< |sed -e 's,^\(.\),Test/\1,' |$(PLATFORM_CHANGE_SEPARATOR_CMD) >$@
+else
+ @cat $< |sed -e 's,^\(.\),Test/\1,' >$@
+endif
+
+$(test_makefrag): $(test_response)
+ @echo Creating $@ ...
+ @echo "HAVE_TEST_MAKEFRAG = yes" >$@.new
+ @echo "$(test_stampfile): \\" >>$@.new
+ @cat $< |sed -e 's,\.cs[ \t]*$$,\.cs \\,' >>$@.new
+ @cat $@.new |sed -e '$$s, \\$$,,' >$@
+ @echo -e "\ttouch \$$@" >>$@
+ @rm -rf $@.new
+
+-include $(test_makefrag)
+
+ifndef HAVE_TEST_MAKEFRAG
+$(test_stampfile):
+ touch $@
+endif
diff --git a/mcs/class/corlib/Test/corlib_test.build b/mcs/class/corlib/Test/corlib_test.build
deleted file mode 100644
index d8284d64ae2..00000000000
--- a/mcs/class/corlib/Test/corlib_test.build
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for corlib_test.dll -->
-<!-- Target build (default) builds tests -->
-<!-- Target test runs tests -->
-
-<project name="corlib_test" default="build">
- <property name="debug" value="true"/>
- <property name="nunit_home" value="..\..\..\nunit"/>
-
- <target name="build">
- </target>
-
- <target name="assemblies">
- <csc target="library" output="corlib_test.dll" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- </sources>
- <references basedir="..\..\..\nunit20">
- <includes name="NUnit.Framework.dll"/>
- </references>
- <arg value="/r:corlib_res.dll"/>
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:618"/>
- <arg value="/nowarn:672"/>
- </csc>
-
- <csc target="library" output="corlib_reference.dll" debug="${debug}">
- <sources>
- <includes name="**/*.cs"/>
- <excludes name="Mono.Math/*.cs"/>
- </sources>
- <references basedir="..\..\..\nunit20">
- <includes name="NUnit.Framework.dll"/>
- </references>
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:618"/>
- <arg value="/nowarn:672"/>
- </csc>
- </target>
-
- <target name="test" depends="assemblies">
- <exec program="..\..\..\nunit20\nunit-console.exe" commandline="corlib_reference.dll" failonerror="false"/>
- </target>
-
- <target name="clean">
- <delete file="corlib_test.dll" failonerror="false"/>
- <delete file="corlib_test.pdb" failonerror="false"/>
- <delete file="corlib_reference.dll" failonerror="false"/>
- <delete file="corlib_reference.pdb" failonerror="false"/>
- </target>
-</project>
diff --git a/mcs/class/corlib/Test/makefile.gnu b/mcs/class/corlib/Test/makefile.gnu
deleted file mode 100644
index a993740a7dc..00000000000
--- a/mcs/class/corlib/Test/makefile.gnu
+++ /dev/null
@@ -1,28 +0,0 @@
-topdir = ../../..
-
-LIBRARY = corlib_test.dll
-
-LIB_LIST = corlib_test.args
-LIB_FLAGS = \
- /debug+ /debug:full \
- -r $(topdir)/class/lib/corlib.dll \
- -r $(topdir)/class/lib/System.dll \
- -r $(topdir)/class/lib/NUnit.Framework.dll
-
-ifdef SUBDIR
-USE_SOURCE_RULES=1
-SOURCES_INCLUDE=./$(SUBDIR)/*.cs
-SOURCES_EXCLUDE=_DUMMY_
-endif
-
-include $(topdir)/class/library.make
-
-NUNITCONSOLE=$(topdir)/nunit20/nunit-console.exe
-MONO_PATH = $(topdir)/class/lib:.
-
-test: $(LIBRARY) run_test
-
-.PHONY: run_test
-
-run_test:
- -MONO_PATH=$(MONO_PATH) mono --debug $(NUNITCONSOLE) corlib_test.dll
diff --git a/mcs/class/corlib/corlib.build b/mcs/class/corlib/corlib.build
deleted file mode 100644
index b61649de707..00000000000
--- a/mcs/class/corlib/corlib.build
+++ /dev/null
@@ -1,159 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for corlib.dll -->
-<!-- Target windows builds libraries _for_ windows -->
-<!-- Target linux builds libraries _for_ linux -->
-
-<project name="corlib" default="build">
- <property name="debug" value="true"/>
- <property name="verbose" value="true"/>
-
- <target name="build">
- <mkdir dir="../lib"/>
- <csc target="library" output="../lib/corlib.dll" debug="${debug}">
- <!-- keep in sync with corlib_cmp.dll below -->
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0649"/> <!-- field never assigned to -->
- <arg value="/nowarn:0169"/> <!-- field never used -->
- <arg value="/nowarn:0679"/> <!-- internal may be overriden -->
- <arg value="/unsafe"/>
-
- <arg value="/nostdlib"/> <!-- don't reference mscorlib -->
- <arg value="/noconfig"/> <!-- don't reference ms assemblies -->
-
- <sources>
- <includes name="**/*.cs"/>
-
- <excludes name="Test/**"/>
- <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/> <!-- custom security attributes problem -->
-
- <excludes name="Unix/**"/>
- <excludes name="Linux/**"/>
- <excludes name="Windows/**"/>
- <excludes name="System.PAL/**"/>
- </sources>
- </csc>
- <csc target="library" output="../lib/corlib_cmp.dll" debug="${debug}">
- <!-- This dll is used to compare with mscorlib -->
- <!-- It should be the same as corlib.dll minus Object and ValueTyp -->
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0649"/> <!-- field never assigned to -->
- <arg value="/nowarn:0169"/> <!-- field never used -->
- <arg value="/nowarn:0679"/> <!-- internal may be overriden -->
- <arg value="/unsafe"/>
-
- <arg value="/nostdlib"/>
- <arg value="/noconfig"/>
- <arg value="/r:mscorlib.dll"/>
-
- <sources>
- <includes name="**/*.cs"/>
-
- <excludes name="Test/**"/>
- <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/>
-
- <excludes name="Unix/**"/>
- <excludes name="Linux/**"/>
- <excludes name="Windows/**"/>
- <excludes name="System.PAL/**"/>
-
- <excludes name="System/Object.cs"/>
- <excludes name="System/ValueType.cs"/>
- <excludes name="System/Enum.cs"/>
- <excludes name="System/Delegate.cs"/>
- <excludes name="System/MulticastDelegate.cs"/>
- <excludes name="System.Runtime.CompilerServices/RuntimeHelpers.cs"/>
- <!-- <excludes name="System/Exception.cs"/> -->
-
- <!-- DecimalConstantAttribute presence causes security exceptions in corcompare -->
- <excludes name="System/Decimal.cs"/>
- <excludes name="System/DecimalFormatter.cs"/>
- </sources>
- </csc>
- <!-- NUnit can only run under windows right now, so build for windows
- even though this is inside the linux target -->
- <csc target="library" output="Test/corlib_res.dll" debug="${debug}">
- <arg value="/nowarn:1595"/>
- <arg value="/nowarn:0649"/> <!-- field never assigned to -->
- <arg value="/nowarn:0169"/> <!-- field never used -->
- <arg value="/nowarn:0679"/> <!-- internal may be overriden -->
- <arg value="/unsafe"/>
- <sources>
- <includes name="**/*.cs"/>
-
- <excludes name="Test/**"/>
-
- <excludes name="Unix/**"/>
- <excludes name="Linux/**"/>
- <excludes name="Windows/**"/>
- <excludes name="System.PAL/**"/>
-
- <excludes name="System/Object.cs"/>
- <excludes name="System/ValueType.cs"/>
- <excludes name="System/Enum.cs"/>
- <excludes name="System/Delegate.cs"/>
- <excludes name="System/MulticastDelegate.cs"/>
- <!-- <excludes name="System/Type.cs"/> -->
- <excludes name="System/MonoType.cs"/>
- <excludes name="System/Array.cs"/>
- <excludes name="System/String.cs"/>
- <excludes name="System/Console.cs"/>
- <excludes name="System/RuntimeTypeHandle.cs"/>
- <excludes name="System/ArgIterator.cs"/>
- <excludes name="System/ICloneable.cs"/>
- <excludes name="System.Runtime.CompilerServices/RuntimeHelpers.cs"/>
- <!-- <excludes name="System/AppDomain.cs"/> -->
- <!-- <excludes name="System/Exception.cs"/> -->
-
- <excludes name="System.Collections/Queue.cs"/>
- <excludes name="System.Collections/ICollection.cs"/>
- <excludes name="System.Collections/IEnumerator.cs"/>
- <excludes name="System.Collections/IEnumerable.cs"/>
- <excludes name="System.Collections/IList.cs"/>
- <excludes name="System.PAL/IOperatingSystem.cs"/>
- <!-- <excludes name="System.Reflection.Emit/**"/> -->
- <!-- <excludes name="System.Runtime.CompilerServices/**"/> -->
- <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/>
- </sources>
- </csc>
- <nant basedir="Test" target="build"/>
- </target>
-
- <target name="mcs-build">
- <mkdir dir="../lib"/>
-
- <mcs target="library" output="../lib/corlib_mcs.dll" debug="false" verbose="${verbose}">
- <arg value="--unsafe"/>
-
- <arg value="--nostdlib"/> <!-- don't reference mscorlib -->
- <arg value="--noconfig"/> <!-- don't reference ms assemblies -->
-
- <sources>
- <includes name="**/*.cs"/>
-
- <excludes name="Test/**"/>
- <excludes name="System.Security.Permissions/SecurityPermissionAttribute.cs"/> <!-- custom security attributes problem -->
-
- <excludes name="Unix/**"/>
- <excludes name="Linux/**"/>
- <excludes name="Windows/**"/>
- <excludes name="System.PAL/**"/>
- </sources>
- </mcs>
-
- </target>
-
- <target name="test" depends="build">
- <nant basedir="Test" target="test"/>
- </target>
-
- <target name="clean">
- <delete file="../lib/corlib.dll" failonerror="false"/>
- <delete file="../lib/corlib.pdb" failonerror="false"/>
- <delete file="../lib/corlib_cmp.dll" failonerror="false"/>
- <delete file="../lib/corlib_cmp.pdb" failonerror="false"/>
- <delete file="Test/corlib_res.dll" failonerror="false"/>
- <delete file="Test/corlib_res.pdb" failonerror="false"/>
- <nant basedir="Test" target="clean"/>
- </target>
-</project>
diff --git a/mcs/class/corlib/corlib.dll.sources b/mcs/class/corlib/corlib.dll.sources
new file mode 100755
index 00000000000..d38922f3c30
--- /dev/null
+++ b/mcs/class/corlib/corlib.dll.sources
@@ -0,0 +1,891 @@
+Microsoft.Win32/RegistryKey.cs
+Microsoft.Win32/Registry.cs
+Microsoft.Win32/RegistryHive.cs
+Mono/Runtime.cs
+Mono.Math/BigInteger.cs
+Mono.Math.Prime/ConfidenceFactor.cs
+Mono.Math.Prime/PrimalityTests.cs
+Mono.Math.Prime.Generator/NextPrimeFinder.cs
+Mono.Math.Prime.Generator/PrimeGeneratorBase.cs
+Mono.Math.Prime.Generator/SequentialSearchPrimeGeneratorBase.cs
+Mono.Security/ASN1.cs
+Mono.Security/ASN1Convert.cs
+Mono.Security.Cryptography/CryptoTools.cs
+Mono.Security.Cryptography/DSAManaged.cs
+Mono.Security.Cryptography/PKCS1.cs
+Mono.Security.Cryptography/HMACAlgorithm.cs
+Mono.Security.Cryptography/MACAlgorithm.cs
+Mono.Security.Cryptography/RSAManaged.cs
+Mono.Security.X509/X501Name.cs
+Mono.Security.X509/X509Certificate.cs
+Mono.Security.X509/X509Extension.cs
+Mono.Security.X509/X509Extensions.cs
+Mono.Security.X509/X520Attributes.cs
+Mono.Xml/MiniParser.cs
+Mono.Xml/SecurityParser.cs
+System/Activator.cs
+System/AppDomain.cs
+System/AppDomainSetup.cs
+System/AppDomainUnloadedException.cs
+System/ApplicationException.cs
+System/ArgIterator.cs
+System/ArgumentException.cs
+System/ArgumentNullException.cs
+System/ArgumentOutOfRangeException.cs
+System/ArithmeticException.cs
+System/Array.cs
+System/ArrayTypeMismatchException.cs
+System/AssemblyLoadEventArgs.cs
+System/AssemblyLoadEventHandler.cs
+System/AsyncCallback.cs
+System/Attribute.cs
+System/AttributeTargets.cs
+System/AttributeUsageAttribute.cs
+System/BadImageFormatException.cs
+System/BitConverter.cs
+System/Boolean.cs
+System/Buffer.cs
+System/Byte.cs
+System/CannotUnloadAppDomainException.cs
+System/Char.cs
+System/CharEnumerator.cs
+System/CLSCompliantAttribute.cs
+System/Console.cs
+System/ContextBoundObject.cs
+System/ContextMarshalException.cs
+System/ContextStaticAttribute.cs
+System/Convert.cs
+System/CrossAppDomainDelegate.cs
+System/DateTime.cs
+System/DBNull.cs
+System/Decimal.cs
+System/DecimalFormatter.cs
+System/Delegate.cs
+System/DelegateSerializationHolder.cs
+System/DivideByZeroException.cs
+System/DllNotFoundException.cs
+System/Double.cs
+System/DoubleFormatter.cs
+System/DuplicateWaitObjectException.cs
+System/EntryPointNotFoundException.cs
+System/Enum.cs
+System/Environment.cs
+System/EventArgs.cs
+System/EventHandler.cs
+System/Exception.cs
+System/ExecutionEngineException.cs
+System/FieldAccessException.cs
+System/FlagsAttribute.cs
+System/FloatingPointFormatter.cs
+System/FormatException.cs
+System/GC.cs
+System/Guid.cs
+System/IAppDomainSetup.cs
+System/IAsyncResult.cs
+System/ICloneable.cs
+System/IComparable.cs
+System/IConvertible.cs
+System/ICustomFormatter.cs
+System/IDisposable.cs
+System/IFormatProvider.cs
+System/IFormattable.cs
+System/IndexOutOfRangeException.cs
+System/Int16.cs
+System/Int32.cs
+System/Int64.cs
+System/IntegerFormatter.cs
+System/IntPtr.cs
+System/InvalidCastException.cs
+System/InvalidOperationException.cs
+System/InvalidProgramException.cs
+System/IServiceProvider.cs
+System/LoaderOptimization.cs
+System/LoaderOptimizationAttribute.cs
+System/LocalDataStoreSlot.cs
+System/MarshalByRefObject.cs
+System/Math.cs
+System/MemberAccessException.cs
+System/MethodAccessException.cs
+System/MissingFieldException.cs
+System/MissingMemberException.cs
+System/MissingMethodException.cs
+System/MonoCustomAttrs.cs
+System/MonoDummy.cs
+System/MonoType.cs
+System/MTAThreadAttribute.cs
+System/MulticastDelegate.cs
+System/MulticastNotSupportedException.cs
+System/NonSerializedAttribute.cs
+System/NotFiniteNumberException.cs
+System/NotImplementedException.cs
+System/NotSupportedException.cs
+System/NullReferenceException.cs
+System/Object.cs
+System/ObjectDisposedException.cs
+System/ObsoleteAttribute.cs
+System/OperatingSystem.cs
+System/OutOfMemoryException.cs
+System/OverflowException.cs
+System/ParamArrayAttribute.cs
+System/PlatformID.cs
+System/PlatformNotSupportedException.cs
+System/Random.cs
+System/RankException.cs
+System/ResolveEventArgs.cs
+System/ResolveEventHandler.cs
+System/RuntimeArgumentHandle.cs
+System/RuntimeFieldHandle.cs
+System/RuntimeMethodHandle.cs
+System/RuntimeTypeHandle.cs
+System/SByte.cs
+System/SerializableAttribute.cs
+System/Single.cs
+System/SingleFormatter.cs
+System/StackOverflowException.cs
+System/STAThreadAttribute.cs
+System/String.cs
+System/SystemException.cs
+System/ThreadStaticAttribute.cs
+System/TimeSpan.cs
+System/TimeZone.cs
+System/TODOAttribute.cs
+System/Type.cs
+System/TypeCode.cs
+System/TypedReference.cs
+System/TypeInitializationException.cs
+System/TypeLoadException.cs
+System/TypeUnloadedException.cs
+System/UInt16.cs
+System/UInt32.cs
+System/UInt64.cs
+System/UIntPtr.cs
+System/UnauthorizedAccessException.cs
+System/UnhandledExceptionEventArgs.cs
+System/UnhandledExceptionEventHandler.cs
+System/UnitySerializationHolder.cs
+System/ValueType.cs
+System/Version.cs
+System/Void.cs
+System/WeakReference.cs
+System/_AppDomain.cs
+System.Collections/ArrayList.cs
+System.Collections/BitArray.cs
+System.Collections/CaseInsensitiveComparer.cs
+System.Collections/CaseInsensitiveHashCodeProvider.cs
+System.Collections/CollectionBase.cs
+System.Collections/Comparer.cs
+System.Collections/DictionaryBase.cs
+System.Collections/DictionaryEntry.cs
+System.Collections/Hashtable.cs
+System.Collections/ICollection.cs
+System.Collections/IComparer.cs
+System.Collections/IDictionary.cs
+System.Collections/IDictionaryEnumerator.cs
+System.Collections/IEnumerable.cs
+System.Collections/IEnumerator.cs
+System.Collections/IHashCodeProvider.cs
+System.Collections/IList.cs
+System.Collections/Queue.cs
+System.Collections/ReadOnlyCollectionBase.cs
+System.Collections/SortedList.cs
+System.Collections/Stack.cs
+System.Configuration.Assemblies/AssemblyHash.cs
+System.Configuration.Assemblies/AssemblyHashAlgorithm.cs
+System.Configuration.Assemblies/AssemblyVersionCompatibility.cs
+System.Configuration.Assemblies/ProcessorID.cs
+System.Diagnostics/ConditionalAttribute.cs
+System.Diagnostics/DebuggableAttribute.cs
+System.Diagnostics/Debugger.cs
+System.Diagnostics/DebuggerHiddenAttribute.cs
+System.Diagnostics/DebuggerStepThroughAttribute.cs
+System.Diagnostics/StackFrame.cs
+System.Diagnostics/StackTrace.cs
+System.Diagnostics.SymbolStore/ISymbolBinder.cs
+System.Diagnostics.SymbolStore/ISymbolDocument.cs
+System.Diagnostics.SymbolStore/ISymbolDocumentWriter.cs
+System.Diagnostics.SymbolStore/ISymbolMethod.cs
+System.Diagnostics.SymbolStore/ISymbolNamespace.cs
+System.Diagnostics.SymbolStore/ISymbolReader.cs
+System.Diagnostics.SymbolStore/ISymbolScope.cs
+System.Diagnostics.SymbolStore/ISymbolVariable.cs
+System.Diagnostics.SymbolStore/ISymbolWriter.cs
+System.Diagnostics.SymbolStore/SymAddressKind.cs
+System.Diagnostics.SymbolStore/SymbolToken.cs
+System.Diagnostics.SymbolStore/SymDocumentType.cs
+System.Diagnostics.SymbolStore/SymLanguageType.cs
+System.Diagnostics.SymbolStore/SymLanguageVendor.cs
+System.Globalization/Calendar.cs
+System.Globalization/CalendarWeekRule.cs
+System.Globalization/CalendricalCalculations.cs
+System.Globalization/CompareInfo.cs
+System.Globalization/CompareOptions.cs
+System.Globalization/CultureInfo.cs
+System.Globalization/CultureTypes.cs
+System.Globalization/DateTimeFormatInfo.cs
+System.Globalization/DateTimeStyles.cs
+System.Globalization/DaylightTime.cs
+System.Globalization/GregorianCalendar.cs
+System.Globalization/GregorianCalendarTypes.cs
+System.Globalization/HebrewCalendar.cs
+System.Globalization/HijriCalendar.cs
+System.Globalization/JapaneseCalendar.cs
+System.Globalization/JulianCalendar.cs
+System.Globalization/KoreanCalendar.cs
+System.Globalization/Locale.cs
+System.Globalization/NumberFormatInfo.cs
+System.Globalization/NumberStyles.cs
+System.Globalization/RegionInfo.cs
+System.Globalization/SortKey.cs
+System.Globalization/StringInfo.cs
+System.Globalization/TaiwanCalendar.cs
+System.Globalization/TextElementEnumerator.cs
+System.Globalization/TextInfo.cs
+System.Globalization/ThaiBuddhistCalendar.cs
+System.Globalization/UnicodeCategory.cs
+System.IO/BinaryReader.cs
+System.IO/BinaryWriter.cs
+System.IO/BufferedStream.cs
+System.IO/CheckArgument.cs
+System.IO/CheckPermission.cs
+System.IO/Directory.cs
+System.IO/DirectoryInfo.cs
+System.IO/DirectoryNotFoundException.cs
+System.IO/EndOfStreamException.cs
+System.IO/File.cs
+System.IO/FileAccess.cs
+System.IO/FileAttributes.cs
+System.IO/FileInfo.cs
+System.IO/FileLoadException.cs
+System.IO/FileMode.cs
+System.IO/FileNotFoundException.cs
+System.IO/FileShare.cs
+System.IO/FileStream.cs
+System.IO/FileSystemInfo.cs
+System.IO/IOException.cs
+System.IO/MemoryStream.cs
+System.IO/MonoIO.cs
+System.IO/MonoIOError.cs
+System.IO/MonoFileType.cs
+System.IO/MonoIOStat.cs
+System.IO/Path.cs
+System.IO/PathTooLongException.cs
+System.IO/SearchPattern.cs
+System.IO/SeekOrigin.cs
+System.IO/Stream.cs
+System.IO/StreamReader.cs
+System.IO/StreamWriter.cs
+System.IO/StringReader.cs
+System.IO/StringWriter.cs
+System.IO/TextReader.cs
+System.IO/TextWriter.cs
+System.IO.IsolatedStorage/INormalizeForIsolatedStorage.cs
+System.IO.IsolatedStorage/IsolatedStorage.cs
+System.IO.IsolatedStorage/IsolatedStorageException.cs
+System.IO.IsolatedStorage/IsolatedStorageFile.cs
+System.IO.IsolatedStorage/IsolatedStorageInfo.cs
+System.IO.IsolatedStorage/IsolatedStorageFileStream.cs
+System.IO.IsolatedStorage/IsolatedStorageScope.cs
+System.Reflection/AmbiguousMatchException.cs
+System.Reflection/Assembly.cs
+System.Reflection/AssemblyAlgorithmIdAttribute.cs
+System.Reflection/AssemblyCompanyAttribute.cs
+System.Reflection/AssemblyConfigurationAttribute.cs
+System.Reflection/AssemblyCopyrightAttribute.cs
+System.Reflection/AssemblyCultureAttribute.cs
+System.Reflection/AssemblyDefaultAliasAttribute.cs
+System.Reflection/AssemblyDelaySignAttribute.cs
+System.Reflection/AssemblyDescriptionAttribute.cs
+System.Reflection/AssemblyFileVersionAttribute.cs
+System.Reflection/AssemblyFlagsAttribute.cs
+System.Reflection/AssemblyInformationalVersionAttribute.cs
+System.Reflection/AssemblyKeyFileAttribute.cs
+System.Reflection/AssemblyKeyNameAttribute.cs
+System.Reflection/AssemblyName.cs
+System.Reflection/AssemblyNameFlags.cs
+System.Reflection/AssemblyNameProxy.cs
+System.Reflection/AssemblyProductAttribute.cs
+System.Reflection/AssemblyTitleAttribute.cs
+System.Reflection/AssemblyTradeMarkAttribute.cs
+System.Reflection/AssemblyVersionAttribute.cs
+System.Reflection/Binder.cs
+System.Reflection/BindingFlags.cs
+System.Reflection/CallingConventions.cs
+System.Reflection/ConstructorInfo.cs
+System.Reflection/CustomAttributeFormatException.cs
+System.Reflection/DefaultMemberAttribute.cs
+System.Reflection/EventAttributes.cs
+System.Reflection/EventInfo.cs
+System.Reflection/FieldAttributes.cs
+System.Reflection/FieldInfo.cs
+System.Reflection/ICustomAttributeProvider.cs
+System.Reflection/InterfaceMapping.cs
+System.Reflection/InvalidFilterCriteriaException.cs
+System.Reflection/IReflect.cs
+System.Reflection/ManifestResourceInfo.cs
+System.Reflection/MemberFilter.cs
+System.Reflection/MemberInfo.cs
+System.Reflection/MemberTypes.cs
+System.Reflection/MethodAttributes.cs
+System.Reflection/MethodBase.cs
+System.Reflection/MethodImplAttributes.cs
+System.Reflection/MethodInfo.cs
+System.Reflection/Missing.cs
+System.Reflection/Module.cs
+System.Reflection/ModuleResolveEventHandler.cs
+System.Reflection/MonoEvent.cs
+System.Reflection/MonoField.cs
+System.Reflection/MonoMethod.cs
+System.Reflection/MonoProperty.cs
+System.Reflection/ParameterAttributes.cs
+System.Reflection/ParameterInfo.cs
+System.Reflection/ParameterModifier.cs
+System.Reflection/Pointer.cs
+System.Reflection/PropertyAttributes.cs
+System.Reflection/PropertyInfo.cs
+System.Reflection/ReflectionTypeLoadException.cs
+System.Reflection/ResourceAttributes.cs
+System.Reflection/ResourceLocation.cs
+System.Reflection/ReflectionSerializationHolder.cs
+System.Reflection/StrongNameKeyPair.cs
+System.Reflection/TargetException.cs
+System.Reflection/TargetInvocationException.cs
+System.Reflection/TargetParameterCountException.cs
+System.Reflection/TypeAttributes.cs
+System.Reflection/TypeDelegator.cs
+System.Reflection/TypeFilter.cs
+System.Reflection.Emit/AssemblyBuilder.cs
+System.Reflection.Emit/AssemblyBuilderAccess.cs
+System.Reflection.Emit/ConstructorBuilder.cs
+System.Reflection.Emit/CustomAttributeBuilder.cs
+System.Reflection.Emit/EnumBuilder.cs
+System.Reflection.Emit/EventBuilder.cs
+System.Reflection.Emit/EventToken.cs
+System.Reflection.Emit/FieldBuilder.cs
+System.Reflection.Emit/FieldToken.cs
+System.Reflection.Emit/FlowControl.cs
+System.Reflection.Emit/IMonoSymbolWriter.cs
+System.Reflection.Emit/ILGenerator.cs
+System.Reflection.Emit/Label.cs
+System.Reflection.Emit/LocalBuilder.cs
+System.Reflection.Emit/MethodBuilder.cs
+System.Reflection.Emit/MethodToken.cs
+System.Reflection.Emit/ModuleBuilder.cs
+System.Reflection.Emit/MonoArrayMethod.cs
+System.Reflection.Emit/OpCode.cs
+System.Reflection.Emit/OpCodes.cs
+System.Reflection.Emit/OpCodeType.cs
+System.Reflection.Emit/OperandType.cs
+System.Reflection.Emit/PackingSize.cs
+System.Reflection.Emit/ParameterBuilder.cs
+System.Reflection.Emit/ParameterToken.cs
+System.Reflection.Emit/PEFileKinds.cs
+System.Reflection.Emit/PropertyBuilder.cs
+System.Reflection.Emit/PropertyToken.cs
+System.Reflection.Emit/SignatureHelper.cs
+System.Reflection.Emit/SignatureToken.cs
+System.Reflection.Emit/StackBehaviour.cs
+System.Reflection.Emit/StringToken.cs
+System.Reflection.Emit/TypeBuilder.cs
+System.Reflection.Emit/TypeToken.cs
+System.Reflection.Emit/UnmanagedMarshal.cs
+System.Resources/IResourceReader.cs
+System.Resources/IResourceWriter.cs
+System.Resources/MissingManifestResourceException.cs
+System.Resources/NeutralResourcesLanguageAttribute.cs
+System.Resources/ResourceManager.cs
+System.Resources/ResourceReader.cs
+System.Resources/ResourceSet.cs
+System.Resources/ResourceWriter.cs
+System.Resources/SatelliteContractVersionAttribute.cs
+System.Runtime.CompilerServices/AccessedThroughPropertyAttribute.cs
+System.Runtime.CompilerServices/CallConvCdecl.cs
+System.Runtime.CompilerServices/CallConvFastcall.cs
+System.Runtime.CompilerServices/CallConvThiscall.cs
+System.Runtime.CompilerServices/CallConvStdcall.cs
+System.Runtime.CompilerServices/CompilationRelaxationsAttribute.cs
+System.Runtime.CompilerServices/CustomConstantAttribute.cs
+System.Runtime.CompilerServices/DateTimeConstantAttribute.cs
+System.Runtime.CompilerServices/DecimalConstantAttribute.cs
+System.Runtime.CompilerServices/DiscardableAttribute.cs
+System.Runtime.CompilerServices/IDispatchConstantAttribute.cs
+System.Runtime.CompilerServices/IUnknownConstantAttribute.cs
+System.Runtime.CompilerServices/IndexerNameAttribute.cs
+System.Runtime.CompilerServices/MethodCodeType.cs
+System.Runtime.CompilerServices/MethodImplAttribute.cs
+System.Runtime.CompilerServices/MethodImplOptions.cs
+System.Runtime.CompilerServices/RequiredAttributeAttribute.cs
+System.Runtime.CompilerServices/RuntimeHelpers.cs
+System.Runtime.InteropServices/AssemblyRegistrationFlags.cs
+System.Runtime.InteropServices/AutomationProxyAttribute.cs
+System.Runtime.InteropServices/BINDPTR.cs
+System.Runtime.InteropServices/CallingConvention.cs
+System.Runtime.InteropServices/CharSet.cs
+System.Runtime.InteropServices/ClassInterfaceAttribute.cs
+System.Runtime.InteropServices/ClassInterfaceType.cs
+System.Runtime.InteropServices/CoClassAttribute.cs
+System.Runtime.InteropServices/ComAliasNameAttribute.cs
+System.Runtime.InteropServices/ComCompatibleVersionAttribute.cs
+System.Runtime.InteropServices/ComConversionLossAttribute.cs
+System.Runtime.InteropServices/COMException.cs
+System.Runtime.InteropServices/ComEventInterfaceAttribute.cs
+System.Runtime.InteropServices/ComImportAttribute.cs
+System.Runtime.InteropServices/ComInterfaceType.cs
+System.Runtime.InteropServices/ComMemberType.cs
+System.Runtime.InteropServices/ComRegisterFunctionAttribute.cs
+System.Runtime.InteropServices/ComUnregisterFunctionAttribute.cs
+System.Runtime.InteropServices/ComVisible.cs
+System.Runtime.InteropServices/DESCKIND.cs
+System.Runtime.InteropServices/DISPPARAMS.cs
+System.Runtime.InteropServices/DispIdAttribute.cs
+System.Runtime.InteropServices/DllImportAttribute.cs
+System.Runtime.InteropServices/EXCEPINFO.cs
+System.Runtime.InteropServices/ExporterEventKind.cs
+System.Runtime.InteropServices/ExternalException.cs
+System.Runtime.InteropServices/FieldOffsetAttribute.cs
+System.Runtime.InteropServices/GCHandle.cs
+System.Runtime.InteropServices/GCHandleType.cs
+System.Runtime.InteropServices/GuidAttribute.cs
+System.Runtime.InteropServices/HandleRef.cs
+System.Runtime.InteropServices/ICustomAdapter.cs
+System.Runtime.InteropServices/ICustomFactory.cs
+System.Runtime.InteropServices/ICustomMarshaler.cs
+System.Runtime.InteropServices/INVOKEKIND.cs
+System.Runtime.InteropServices/IRegistrationServices.cs
+System.Runtime.InteropServices/ITypeLibConverter.cs
+System.Runtime.InteropServices/ITypeLibExporterNameProvider.cs
+System.Runtime.InteropServices/ITypeLibExporterNotifySink.cs
+System.Runtime.InteropServices/ITypeLibImporterNotifySink.cs
+System.Runtime.InteropServices/ImportedFromTypeLibAttribute.cs
+System.Runtime.InteropServices/ImporterEventKind.cs
+System.Runtime.InteropServices/InAttribute.cs
+System.Runtime.InteropServices/InterfaceTypeAttribute.cs
+System.Runtime.InteropServices/LCIDConversionAttribute.cs
+System.Runtime.InteropServices/LayoutKind.cs
+System.Runtime.InteropServices/Marshal.cs
+System.Runtime.InteropServices/MarshalAsAttribute.cs
+System.Runtime.InteropServices/OptionalAttribute.cs
+System.Runtime.InteropServices/OutAttribute.cs
+System.Runtime.InteropServices/PreserveSigAttribute.cs
+System.Runtime.InteropServices/PrimaryInteropAssemblyAttribute.cs
+System.Runtime.InteropServices/SEHException.cs
+System.Runtime.InteropServices/ProgIdAttribute.cs
+System.Runtime.InteropServices/RuntimeEnvironment.cs
+System.Runtime.InteropServices/StructLayoutAttribute.cs
+System.Runtime.InteropServices/TYPEKIND.cs
+System.Runtime.InteropServices/TypeLibExporterFlags.cs
+System.Runtime.InteropServices/TypeLibFuncAttribute.cs
+System.Runtime.InteropServices/TypeLibFuncFlags.cs
+System.Runtime.InteropServices/TypeLibTypeAttribute.cs
+System.Runtime.InteropServices/TypeLibTypeFlags.cs
+System.Runtime.InteropServices/TypeLibVarAttribute.cs
+System.Runtime.InteropServices/TypeLibVarFlags.cs
+System.Runtime.InteropServices/TypeLibVersionAttribute.cs
+System.Runtime.InteropServices/UCOMTypeComp.cs
+System.Runtime.InteropServices/UCOMTypeInfo.cs
+System.Runtime.InteropServices/UCOMTypeLib.cs
+System.Runtime.InteropServices/UnmanagedType.cs
+System.Runtime.InteropServices/VarEnum.cs
+System.Runtime.InteropServices.Expando/IExpando.cs
+System.Runtime.Remoting/ActivatedClientTypeEntry.cs
+System.Runtime.Remoting/ActivatedServiceTypeEntry.cs
+System.Runtime.Remoting/EnvoyInfo.cs
+System.Runtime.Remoting/IObjectHandle.cs
+System.Runtime.Remoting/IChannelInfo.cs
+System.Runtime.Remoting/Identity.cs
+System.Runtime.Remoting/IEnvoyInfo.cs
+System.Runtime.Remoting/IRemotingTypeInfo.cs
+System.Runtime.Remoting/ObjectHandle.cs
+System.Runtime.Remoting/ObjRef.cs
+System.Runtime.Remoting/RemotingConfiguration.cs
+System.Runtime.Remoting/RemotingException.cs
+System.Runtime.Remoting/RemotingTimeoutException.cs
+System.Runtime.Remoting/RemotingServices.cs
+System.Runtime.Remoting/ServerException.cs
+System.Runtime.Remoting/ServerIdentity.cs
+System.Runtime.Remoting/SoapServices.cs
+System.Runtime.Remoting/TypeEntry.cs
+System.Runtime.Remoting/TypeInfo.cs
+System.Runtime.Remoting/WellKnownObjectMode.cs
+System.Runtime.Remoting/WellKnownClientTypeEntry.cs
+System.Runtime.Remoting/WellKnownServiceTypeEntry.cs
+System.Runtime.Remoting.Activation/ActivationServices.cs
+System.Runtime.Remoting.Activation/ActivatorLevel.cs
+System.Runtime.Remoting.Activation/AppDomainLevelActivator.cs
+System.Runtime.Remoting.Activation/ConstructionLevelActivator.cs
+System.Runtime.Remoting.Activation/ContextLevelActivator.cs
+System.Runtime.Remoting.Activation/IActivator.cs
+System.Runtime.Remoting.Activation/IConstructionCallMessage.cs
+System.Runtime.Remoting.Activation/IConstructionReturnMessage.cs
+System.Runtime.Remoting.Activation/RemoteActivator.cs
+System.Runtime.Remoting.Activation/RemoteActivationAttribute.cs
+System.Runtime.Remoting.Activation/UrlAttribute.cs
+System.Runtime.Remoting.Channels/BaseChannelObjectWithProperties.cs
+System.Runtime.Remoting.Channels/BaseChannelSinkWithProperties.cs
+System.Runtime.Remoting.Channels/BaseChannelWithProperties.cs
+System.Runtime.Remoting.Channels/ChannelDataStore.cs
+System.Runtime.Remoting.Channels/ChannelServices.cs
+System.Runtime.Remoting.Channels/ChannelSinkStackEntry.cs
+System.Runtime.Remoting.Channels/ClientChannelSinkStack.cs
+System.Runtime.Remoting.Channels/IChannel.cs
+System.Runtime.Remoting.Channels/IChannelDataStore.cs
+System.Runtime.Remoting.Channels/IChannelReceiver.cs
+System.Runtime.Remoting.Channels/IChannelReceiverHook.cs
+System.Runtime.Remoting.Channels/IChannelSender.cs
+System.Runtime.Remoting.Channels/IChannelSinkBase.cs
+System.Runtime.Remoting.Channels/IClientChannelSink.cs
+System.Runtime.Remoting.Channels/IClientChannelSinkProvider.cs
+System.Runtime.Remoting.Channels/IClientChannelSinkStack.cs
+System.Runtime.Remoting.Channels/IClientFormatterSink.cs
+System.Runtime.Remoting.Channels/IClientFormatterSinkProvider.cs
+System.Runtime.Remoting.Channels/IClientResponseChannelSinkStack.cs
+System.Runtime.Remoting.Channels/IServerResponseChannelSinkStack.cs
+System.Runtime.Remoting.Channels/ServerDispatchSink.cs
+System.Runtime.Remoting.Channels/ServerDispatchSinkProvider.cs
+System.Runtime.Remoting.Channels/IServerChannelSink.cs
+System.Runtime.Remoting.Channels/IServerChannelSinkProvider.cs
+System.Runtime.Remoting.Channels/IServerChannelSinkStack.cs
+System.Runtime.Remoting.Channels/IServerFormatterSinkProvider.cs
+System.Runtime.Remoting.Channels/ITransportHeaders.cs
+System.Runtime.Remoting.Channels/ServerChannelSinkStack.cs
+System.Runtime.Remoting.Channels/ServerProcessing.cs
+System.Runtime.Remoting.Channels/SinkProviderData.cs
+System.Runtime.Remoting.Channels/TransportHeaders.cs
+System.Runtime.Remoting.Channels/CrossAppDomainChannel.cs
+System.Runtime.Remoting.Contexts/Context.cs
+System.Runtime.Remoting.Contexts/ContextAttribute.cs
+System.Runtime.Remoting.Contexts/ContextProperty.cs
+System.Runtime.Remoting.Contexts/CrossContextChannel.cs
+System.Runtime.Remoting.Contexts/CrossContextDelegate.cs
+System.Runtime.Remoting.Contexts/IContextAttribute.cs
+System.Runtime.Remoting.Contexts/IContextProperty.cs
+System.Runtime.Remoting.Contexts/IContributeClientContextSink.cs
+System.Runtime.Remoting.Contexts/IContributeDynamicSink.cs
+System.Runtime.Remoting.Contexts/IContributeEnvoySink.cs
+System.Runtime.Remoting.Contexts/IContributeObjectSink.cs
+System.Runtime.Remoting.Contexts/IContributeServerContextSink.cs
+System.Runtime.Remoting.Contexts/IDynamicMessageSink.cs
+System.Runtime.Remoting.Contexts/IDynamicProperty.cs
+System.Runtime.Remoting.Lifetime/ClientSponsor.cs
+System.Runtime.Remoting.Lifetime/ILease.cs
+System.Runtime.Remoting.Lifetime/ISponsor.cs
+System.Runtime.Remoting.Lifetime/Lease.cs
+System.Runtime.Remoting.Lifetime/LeaseManager.cs
+System.Runtime.Remoting.Lifetime/LeaseSink.cs
+System.Runtime.Remoting.Lifetime/LeaseState.cs
+System.Runtime.Remoting.Lifetime/LifetimeServices.cs
+System.Runtime.Remoting.Messaging/ArgInfo.cs
+System.Runtime.Remoting.Messaging/AsyncResult.cs
+System.Runtime.Remoting.Messaging/CallContext.cs
+System.Runtime.Remoting.Messaging/ClientContextTerminatorSink.cs
+System.Runtime.Remoting.Messaging/ConstructionCall.cs
+System.Runtime.Remoting.Messaging/ConstructionCallDictionary.cs
+System.Runtime.Remoting.Messaging/ConstructionResponse.cs
+System.Runtime.Remoting.Messaging/EnvoyTerminatorSink.cs
+System.Runtime.Remoting.Messaging/Header.cs
+System.Runtime.Remoting.Messaging/HeaderHandler.cs
+System.Runtime.Remoting.Messaging/ErrorMessage.cs
+System.Runtime.Remoting.Messaging/IInternalMessage.cs
+System.Runtime.Remoting.Messaging/IMessage.cs
+System.Runtime.Remoting.Messaging/IMessageCtrl.cs
+System.Runtime.Remoting.Messaging/IMessageSink.cs
+System.Runtime.Remoting.Messaging/IMethodCallMessage.cs
+System.Runtime.Remoting.Messaging/IMethodMessage.cs
+System.Runtime.Remoting.Messaging/IMethodReturnMessage.cs
+System.Runtime.Remoting.Messaging/IRemotingFormatter.cs
+System.Runtime.Remoting.Messaging/InternalMessageWrapper.cs
+System.Runtime.Remoting.Messaging/LogicalCallContext.cs
+System.Runtime.Remoting.Messaging/MessageSurrogateFilter.cs
+System.Runtime.Remoting.Messaging/MethodCall.cs
+System.Runtime.Remoting.Messaging/MethodCallMessageWrapper.cs
+System.Runtime.Remoting.Messaging/MethodResponse.cs
+System.Runtime.Remoting.Messaging/MethodCallDictionary.cs
+System.Runtime.Remoting.Messaging/MethodDictionary.cs
+System.Runtime.Remoting.Messaging/MethodReturnDictionary.cs
+System.Runtime.Remoting.Messaging/MethodReturnMessageWrapper.cs
+System.Runtime.Remoting.Messaging/MonoMethodMessage.cs
+System.Runtime.Remoting.Messaging/OneWayAttribute.cs
+System.Runtime.Remoting.Messaging/RemotingSurrogateSelector.cs
+System.Runtime.Remoting.Messaging/RemotingSurrogate.cs
+System.Runtime.Remoting.Messaging/ReturnMessage.cs
+System.Runtime.Remoting.Messaging/ServerContextTerminatorSink.cs
+System.Runtime.Remoting.Messaging/ServerObjectTerminatorSink.cs
+System.Runtime.Remoting.Messaging/StackBuilderSink.cs
+System.Runtime.Remoting.Messaging/CADMessages.cs
+System.Runtime.Remoting.Metadata/SoapAttribute.cs
+System.Runtime.Remoting.Metadata/SoapFieldAttribute.cs
+System.Runtime.Remoting.Metadata/SoapMethodAttribute.cs
+System.Runtime.Remoting.Metadata/SoapOption.cs
+System.Runtime.Remoting.Metadata/SoapParameterAttribute.cs
+System.Runtime.Remoting.Metadata/SoapTypeAttribute.cs
+System.Runtime.Remoting.Metadata/XmlFieldOrderOption.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/ISoapXsd.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapAnyUri.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapEntity.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapMonth.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNonNegativeInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapToken.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapBase64Binary.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapHexBinary.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapMonthDay.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNonPositiveInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapYear.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapDate.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapId.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapName.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNormalizedString.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapYearMonth.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapDateTime.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapIdref.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNcName.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNotation.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapDay.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapIdrefs.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNegativeInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapPositiveInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapDuration.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapInteger.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNmtoken.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapQName.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapEntities.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapLanguage.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapNmtokens.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapTime.cs
+System.Runtime.Remoting.Proxies/RealProxy.cs
+System.Runtime.Remoting.Proxies/RemotingProxy.cs
+System.Runtime.Remoting.Proxies/ProxyAttribute.cs
+System.Runtime.Remoting.Services/ITrackingHandler.cs
+System.Runtime.Remoting.Services/TrackingServices.cs
+System.Runtime.Serialization/FormatterConverter.cs
+System.Runtime.Serialization/FormatterServices.cs
+System.Runtime.Serialization/IDeserializationCallback.cs
+System.Runtime.Serialization/IFormatter.cs
+System.Runtime.Serialization/IFormatterConverter.cs
+System.Runtime.Serialization/IObjectReference.cs
+System.Runtime.Serialization/ISerializable.cs
+System.Runtime.Serialization/ISerializationSurrogate.cs
+System.Runtime.Serialization/ISurrogateSelector.cs
+System.Runtime.Serialization/ObjectIDGenerator.cs
+System.Runtime.Serialization/ObjectManager.cs
+System.Runtime.Serialization/SerializationBinder.cs
+System.Runtime.Serialization/SerializationEntry.cs
+System.Runtime.Serialization/SerializationException.cs
+System.Runtime.Serialization/SerializationInfo.cs
+System.Runtime.Serialization/SerializationInfoEnumerator.cs
+System.Runtime.Serialization/StreamingContext.cs
+System.Runtime.Serialization/StreamingContextStates.cs
+System.Runtime.Serialization/SurrogateSelector.cs
+System.Runtime.Serialization.Formatters/FormatterAssemblyStyle.cs
+System.Runtime.Serialization.Formatters/FormatterTopObjectStyle.cs
+System.Runtime.Serialization.Formatters/FormatterTypeStyle.cs
+System.Runtime.Serialization.Formatters/IFieldInfo.cs
+System.Runtime.Serialization.Formatters/InternalArrayTypeE.cs
+System.Runtime.Serialization.Formatters/InternalElementTypeE.cs
+System.Runtime.Serialization.Formatters/InternalMemberTypeE.cs
+System.Runtime.Serialization.Formatters/InternalMemberValueE.cs
+System.Runtime.Serialization.Formatters/InternalNameSpaceE.cs
+System.Runtime.Serialization.Formatters/InternalObjectPositionE.cs
+System.Runtime.Serialization.Formatters/InternalObjectTypeE.cs
+System.Runtime.Serialization.Formatters/InternalParseStateE.cs
+System.Runtime.Serialization.Formatters/InternalParseTypeE.cs
+System.Runtime.Serialization.Formatters/InternalPrimitiveTypeE.cs
+System.Runtime.Serialization.Formatters/InternalSerializerTypeE.cs
+System.Runtime.Serialization.Formatters/ISoapMessage.cs
+System.Runtime.Serialization.Formatters/ServerFault.cs
+System.Runtime.Serialization.Formatters/SoapFault.cs
+System.Runtime.Serialization.Formatters/SoapMessage.cs
+System.Runtime.Serialization.Formatters.Binary/BinaryFormatter.cs
+System.Runtime.Serialization.Formatters.Binary/BinaryCommon.cs
+System.Runtime.Serialization.Formatters.Binary/ObjectReader.cs
+System.Runtime.Serialization.Formatters.Binary/ObjectWriter.cs
+System.Runtime.Serialization.Formatters.Binary/MessageFormatter.cs
+System.Security/AllowPartiallyTrustedCallersAttribute.cs
+System.Security/CodeAccessPermission.cs
+System.Security/IEvidenceFactory.cs
+System.Security/IPermission.cs
+System.Security/ISecurityEncodable.cs
+System.Security/ISecurityPolicyEncodable.cs
+System.Security/IStackWalk.cs
+System.Security/NamedPermissionSet.cs
+System.Security/PermissionSet.cs
+System.Security/PolicyLevelType.cs
+System.Security/SecurityElement.cs
+System.Security/SecurityException.cs
+System.Security/SecurityManager.cs
+System.Security/SecurityZone.cs
+System.Security/SuppressUnmanagedCodeSecurityAttribute.cs
+System.Security/UnverifiableCodeAttribute.cs
+System.Security/VerificationException.cs
+System.Security/XmlSyntaxException.cs
+System.Security.Cryptography/AsymmetricAlgorithm.cs
+System.Security.Cryptography/AsymmetricKeyExchangeDeformatter.cs
+System.Security.Cryptography/AsymmetricKeyExchangeFormatter.cs
+System.Security.Cryptography/AsymmetricSignatureDeformatter.cs
+System.Security.Cryptography/AsymmetricSignatureFormatter.cs
+System.Security.Cryptography/CipherMode.cs
+System.Security.Cryptography/CryptoAPITransform.cs
+System.Security.Cryptography/CryptoConfig.cs
+System.Security.Cryptography/CryptographicException.cs
+System.Security.Cryptography/CryptographicUnexpectedOperationExcpetion.cs
+System.Security.Cryptography/CryptoStream.cs
+System.Security.Cryptography/CryptoStreamMode.cs
+System.Security.Cryptography/CspParameters.cs
+System.Security.Cryptography/CspProviderFlags.cs
+System.Security.Cryptography/DeriveBytes.cs
+System.Security.Cryptography/DES.cs
+System.Security.Cryptography/DESCryptoServiceProvider.cs
+System.Security.Cryptography/DSA.cs
+System.Security.Cryptography/DSACryptoServiceProvider.cs
+System.Security.Cryptography/DSAParameters.cs
+System.Security.Cryptography/DSASignatureDeformatter.cs
+System.Security.Cryptography/DSASignatureFormatter.cs
+System.Security.Cryptography/FromBase64Transform.cs
+System.Security.Cryptography/HashAlgorithm.cs
+System.Security.Cryptography/HMACSHA1.cs
+System.Security.Cryptography/ICryptoTransform.cs
+System.Security.Cryptography/KeyedHashAlgorithm.cs
+System.Security.Cryptography/KeySizes.cs
+System.Security.Cryptography/MACTripleDES.cs
+System.Security.Cryptography/MaskGenerationMethod.cs
+System.Security.Cryptography/MD5.cs
+System.Security.Cryptography/MD5CryptoServiceProvider.cs
+System.Security.Cryptography/PaddingMode.cs
+System.Security.Cryptography/PasswordDeriveBytes.cs
+System.Security.Cryptography/PKCS1MaskGenerationMethod.cs
+System.Security.Cryptography/RandomNumberGenerator.cs
+System.Security.Cryptography/RC2.cs
+System.Security.Cryptography/RC2CryptoServiceProvider.cs
+System.Security.Cryptography/Rijndael.cs
+System.Security.Cryptography/RijndaelManaged.cs
+System.Security.Cryptography/RNGCryptoServiceProvider.cs
+System.Security.Cryptography/RSA.cs
+System.Security.Cryptography/RSACryptoServiceProvider.cs
+System.Security.Cryptography/RSAOAEPKeyExchangeDeformatter.cs
+System.Security.Cryptography/RSAOAEPKeyExchangeFormatter.cs
+System.Security.Cryptography/RSAParameters.cs
+System.Security.Cryptography/RSAPKCS1KeyExchangeDeformatter.cs
+System.Security.Cryptography/RSAPKCS1KeyExchangeFormatter.cs
+System.Security.Cryptography/RSAPKCS1SignatureDeformatter.cs
+System.Security.Cryptography/RSAPKCS1SignatureFormatter.cs
+System.Security.Cryptography/SHA1.cs
+System.Security.Cryptography/SHA1CryptoServiceProvider.cs
+System.Security.Cryptography/SHA1Managed.cs
+System.Security.Cryptography/SHA256.cs
+System.Security.Cryptography/SHA256Managed.cs
+System.Security.Cryptography/SHA384.cs
+System.Security.Cryptography/SHA384Managed.cs
+System.Security.Cryptography/SHA512.cs
+System.Security.Cryptography/SHA512Managed.cs
+System.Security.Cryptography/SignatureDescription.cs
+System.Security.Cryptography/SymmetricAlgorithm.cs
+System.Security.Cryptography/ToBase64Transform.cs
+System.Security.Cryptography/TripleDES.cs
+System.Security.Cryptography/TripleDESCryptoServiceProvider.cs
+System.Security.Cryptography.X509Certificates/X509Certificate.cs
+System.Security.Permissions/CodeAccessSecurityAttribute.cs
+System.Security.Permissions/EnvironmentPermission.cs
+System.Security.Permissions/EnvironmentPermissionAccess.cs
+System.Security.Permissions/EnvironmentPermissionAttribute.cs
+System.Security.Permissions/FileDialogPermission.cs
+System.Security.Permissions/FileDialogPermissionAccess.cs
+System.Security.Permissions/FileDialogPermissionAttribute.cs
+System.Security.Permissions/FileIOPermission.cs
+System.Security.Permissions/FileIOPermissionAccess.cs
+System.Security.Permissions/FileIOPermissionAttribute.cs
+System.Security.Permissions/IsolatedStorageContainment.cs
+System.Security.Permissions/IsolatedStorageFilePermission.cs
+System.Security.Permissions/IsolatedStorageFilePermissionAttribute.cs
+System.Security.Permissions/IsolatedStoragePermission.cs
+System.Security.Permissions/IsolatedStoragePermissionAttribute.cs
+System.Security.Permissions/IUnrestrictedPermission.cs
+System.Security.Permissions/PermissionSetAttribute.cs
+System.Security.Permissions/PermissionState.cs
+System.Security.Permissions/PrincipalPermission.cs
+System.Security.Permissions/PrincipalPermissionAttribute.cs
+System.Security.Permissions/PublisherIdentityPermission.cs
+System.Security.Permissions/PublisherIdentityPermissionAttribute.cs
+System.Security.Permissions/ReflectionPermission.cs
+System.Security.Permissions/ReflectionPermissionAttribute.cs
+System.Security.Permissions/ReflectionPermissionFlag.cs
+System.Security.Permissions/RegistryPermission.cs
+System.Security.Permissions/RegistryPermissionAccess.cs
+System.Security.Permissions/RegistryPermissionAttribute.cs
+System.Security.Permissions/SecurityAction.cs
+System.Security.Permissions/SecurityAttribute.cs
+System.Security.Permissions/SecurityPermission.cs
+System.Security.Permissions/SecurityPermissionAttribute.cs
+System.Security.Permissions/SecurityPermissionFlag.cs
+System.Security.Permissions/SiteIdentityPermission.cs
+System.Security.Permissions/SiteIdentityPermissionAttribute.cs
+System.Security.Permissions/StrongNameIdentityPermission.cs
+System.Security.Permissions/StrongNamePermissionAttribute.cs
+System.Security.Permissions/StrongNamePublicKeyBlob.cs
+System.Security.Permissions/UIPermission.cs
+System.Security.Permissions/UIPermissionAttribute.cs
+System.Security.Permissions/UIPermissionClipboard.cs
+System.Security.Permissions/UIPermissionWindow.cs
+System.Security.Permissions/UrlIdentityPermission.cs
+System.Security.Permissions/UrlIdentityPermissionAttribute.cs
+System.Security.Permissions/ZoneIdentityPermission.cs
+System.Security.Permissions/ZoneIdentityPermissionAttribute.cs
+System.Security.Policy/AllMembershipCondition.cs
+System.Security.Policy/ApplicationDirectoryMembershipCondition.cs
+System.Security.Policy/CodeGroup.cs
+System.Security.Policy/Evidence.cs
+System.Security.Policy/FileCodeGroup.cs
+System.Security.Policy/IBuiltInEvidence.cs
+System.Security.Policy/IIdentityPermissionFactory.cs
+System.Security.Policy/IMembershipCondition.cs
+System.Security.Policy/PolicyException.cs
+System.Security.Policy/PolicyLevel.cs
+System.Security.Policy/PolicyStatement.cs
+System.Security.Policy/PolicyStatementAttribute.cs
+System.Security.Policy/Publisher.cs
+System.Security.Policy/PublisherMembershipCondition.cs
+System.Security.Policy/StrongName.cs
+System.Security.Policy/Zone.cs
+System.Security.Principal/GenericIdentity.cs
+System.Security.Principal/GenericPrincipal.cs
+System.Security.Principal/IIdentity.cs
+System.Security.Principal/IPrincipal.cs
+System.Security.Principal/PrincipalPolicy.cs
+System.Security.Principal/WindowsAccountType.cs
+System.Security.Principal/WindowsBuiltInRole.cs
+System.Security.Principal/WindowsIdentity.cs
+System.Security.Principal/WindowsImpersonationContext.cs
+System.Text/ASCIIEncoding.cs
+System.Text/Decoder.cs
+System.Text/Encoder.cs
+System.Text/Encoding.cs
+System.Text/Latin1Encoding.cs
+System.Text/StringBuilder.cs
+System.Text/UnicodeEncoding.cs
+System.Text/UTF7Encoding.cs
+System.Text/UTF8Encoding.cs
+System.Threading/ApartmentState.cs
+System.Threading/AutoResetEvent.cs
+System.Threading/Interlocked.cs
+System.Threading/IOCompletionCallback.cs
+System.Threading/LockCookie.cs
+System.Threading/ManualResetEvent.cs
+System.Threading/Monitor.cs
+System.Threading/Mutex.cs
+System.Threading/NativeEventCalls.cs
+System.Threading/NativeOverlapped.cs
+System.Threading/Overlapped.cs
+System.Threading/ReaderWriterLock.cs
+System.Threading/RegisteredWaitHandle.cs
+System.Threading/SynchronizationLockException.cs
+System.Threading/Thread.cs
+System.Threading/ThreadAbortException.cs
+System.Threading/ThreadInterruptedException.cs
+System.Threading/ThreadPool.cs
+System.Threading/ThreadPriority.cs
+System.Threading/ThreadStart.cs
+System.Threading/ThreadState.cs
+System.Threading/ThreadStateException.cs
+System.Threading/Timeout.cs
+System.Threading/Timer.cs
+System.Threading/TimerCallback.cs
+System.Threading/WaitCallback.cs
+System.Threading/WaitHandle.cs
+System.Threading/WaitOrTimerCallback.cs
diff --git a/mcs/class/corlib/corlib.dll.win32-excludes b/mcs/class/corlib/corlib.dll.win32-excludes
new file mode 100644
index 00000000000..92367008cdd
--- /dev/null
+++ b/mcs/class/corlib/corlib.dll.win32-excludes
@@ -0,0 +1 @@
+System.Security.Permissions/SecurityPermissionAttribute.cs
diff --git a/mcs/class/corlib/corlib_cmp.dll.excludes b/mcs/class/corlib/corlib_cmp.dll.excludes
new file mode 100644
index 00000000000..1ad643198b5
--- /dev/null
+++ b/mcs/class/corlib/corlib_cmp.dll.excludes
@@ -0,0 +1,8 @@
+System/Object.cs
+System/ValueType.cs
+System/Enum.cs
+System/Delegate.cs
+System/MulticastDelegate.cs
+System.Runtime.CompilerServices/RuntimeHelpers.cs
+System/Decimal.cs
+System/DecimalFormatter.cs
diff --git a/mcs/class/corlib/corlib_test.dll.sources b/mcs/class/corlib/corlib_test.dll.sources
new file mode 100755
index 00000000000..ce7dc22e3b0
--- /dev/null
+++ b/mcs/class/corlib/corlib_test.dll.sources
@@ -0,0 +1,165 @@
+Mono.Math/ArithmeticBigTest.cs
+Mono.Math/BigIntegerSetTest.cs
+Mono.Math/BitwiseTest.cs
+Mono.Math/GcdBigTest.cs
+Mono.Math/ModInverseBigTest.cs
+Mono.Math/ModRingTest.cs
+Mono.Math/PrimeGenerationTest.cs
+Mono.Math/PrimeTestingTest.cs
+Mono.Math/SearchGeneratorTest.cs
+System/AppDomainSetupTest.cs
+System/ArrayTest.cs
+System/AttributeTest.cs
+System/BitConverterTest.cs
+System/BooleanTest.cs
+System/BufferTest.cs
+System/ByteTest.cs
+System/CharEnumeratorTest.cs
+System/CharTest.cs
+System/ConsoleTest.cs
+System/ConvertTest.cs
+System/DateTimeTest.cs
+System/DecimalTest.cs
+System/DecimalTest2.cs
+System/DoubleTest.cs
+System/DoubleFormatterTest.cs
+System/DecimalFormatterTest.cs
+System/EnumTest.cs
+System/ExceptionTest.cs
+System/GuidTest.cs
+System/Int16Test.cs
+System/Int32Test.cs
+System/Int64Test.cs
+System/IntegerFormatterTest.cs
+System/MathTest.cs
+System/MulticastDelegate.cs
+System/ObjectTest.cs
+System/RandomTest.cs
+System/ResolveEventArgsTest.cs
+System/SByteTest.cs
+System/SingleFormatterTest.cs
+System/StringTest.cs
+System/TimeSpanTest.cs
+System/TimeZoneTest.cs
+System/UInt16Test.cs
+System/UInt32Test.cs
+System/UInt64Test.cs
+System/VersionTest.cs
+System/TypeTest.cs
+System.Collections/ArrayListTest.cs
+System.Collections/BitArrayTest.cs
+System.Collections/CaseInsensitiveComparerTest.cs
+System.Collections/CaseInsensitiveHashCodeProviderTest.cs
+System.Collections/CollectionBaseTest.cs
+System.Collections/ComparerTest.cs
+System.Collections/DictionaryEntryTest.cs
+System.Collections/HashtableTest.cs
+System.Collections/QueueTest.cs
+System.Collections/ReadOnlyCollectionBaseTest.cs
+System.Collections/SortedListTest.cs
+System.Collections/StackTest.cs
+System.Diagnostics/DebugTest.cs
+System.Diagnostics/StackFrameTest.cs
+System.Diagnostics/StackTraceTest.cs
+System.Diagnostics/TextWriterTraceListenerTest.cs
+System.Globalization/CalendarTest.cs
+System.IO/BinaryReaderTest.cs
+System.IO/BinaryWriterTest.cs
+System.IO/BufferedStreamTest.cs
+System.IO/DirectoryTest.cs
+System.IO/FileInfoTest.cs
+System.IO/FileSystemInfoTest.cs
+System.IO/DirectoryInfoTest.cs
+System.IO/FileTest.cs
+System.IO/FileStreamTest.cs
+System.IO/MemoryStreamTest.cs
+System.IO/PathTest.cs
+System.IO/StreamReaderTest.cs
+System.IO/StreamWriterTest.cs
+System.IO/StringReaderTest.cs
+System.IO/StringWriterTest.cs
+System.Resources/ResourceReaderTest.cs
+System.Runtime.CompilerServices/RuntimeHelpersTest.cs
+System.Runtime.Serialization/FormatterServicesTests.cs
+System.Runtime.Serialization/ObjectIDGeneratorTests.cs
+System.Security/PermissionSetTest.cs
+System.Security/NamedPermissionSetTest.cs
+System.Security/SecurityElementTest.cs
+System.Security.Cryptography/AllTests2.cs
+System.Security.Cryptography/AsymmetricAlgorithmTest.cs
+System.Security.Cryptography/CryptoConfigTest.cs
+System.Security.Cryptography/DSACryptoServiceProviderTest.cs
+System.Security.Cryptography/DSASignatureDeformatterTest.cs
+System.Security.Cryptography/DSASignatureFormatterTest.cs
+System.Security.Cryptography/DSATest.cs
+System.Security.Cryptography/FromBase64Transform.cs
+System.Security.Cryptography/HashAlgorithmTest.cs
+System.Security.Cryptography/HMACSHA1Test.cs
+System.Security.Cryptography/KeyedHashAlgorithmTest.cs
+System.Security.Cryptography/MD5Test.cs
+System.Security.Cryptography/PasswordDeriveBytesTest.cs
+System.Security.Cryptography/PKCS1MaskGenerationMethodTest.cs
+System.Security.Cryptography/RandomNumberGeneratorTest.cs
+System.Security.Cryptography/RC2Test.cs
+System.Security.Cryptography/RijndaelManagedTest.cs
+System.Security.Cryptography/RijndaelTest.cs
+System.Security.Cryptography/RNGCryptoServiceProviderTest.cs
+System.Security.Cryptography/RSATest.cs
+System.Security.Cryptography/RSACryptoServiceProviderTest.cs
+System.Security.Cryptography/RSAOAEPKeyExchangeDeformatterTest.cs
+System.Security.Cryptography/RSAOAEPKeyExchangeFormatterTest.cs
+System.Security.Cryptography/RSAPKCS1KeyExchangeDeformatterTest.cs
+System.Security.Cryptography/RSAPKCS1KeyExchangeFormatterTest.cs
+System.Security.Cryptography/RSAPKCS1SignatureDeformatterTest.cs
+System.Security.Cryptography/RSAPKCS1SignatureFormatterTest.cs
+System.Security.Cryptography/SHA1CryptoServiceProviderTest.cs
+System.Security.Cryptography/SHA1Test.cs
+System.Security.Cryptography/SHA256ManagedTest.cs
+System.Security.Cryptography/SHA256Test.cs
+System.Security.Cryptography/SHA384ManagedTest.cs
+System.Security.Cryptography/SHA384Test.cs
+System.Security.Cryptography/SHA512ManagedTest.cs
+System.Security.Cryptography/SHA512Test.cs
+System.Security.Cryptography/SignatureDescriptionTest.cs
+System.Security.Cryptography/SymmetricAlgorithmTest.cs
+System.Security.Cryptography.X509Certificates/X509CertificateTest.cs
+System.Security.Permissions/EnvironmentPermissionAttributeTest.cs
+System.Security.Permissions/EnvironmentPermissionTest.cs
+System.Security.Permissions/FileDialogPermissionAttributeTest.cs
+System.Security.Permissions/FileDialogPermissionTest.cs
+System.Security.Permissions/FileIOPermissionAttributeTest.cs
+System.Security.Permissions/FileIOPermissionTest.cs
+System.Security.Permissions/PrincipalPermissionAttributeTest.cs
+System.Security.Permissions/PrincipalPermissionTest.cs
+System.Security.Permissions/PublisherIdentityPermissionAttributeTest.cs
+System.Security.Permissions/PublisherIdentityPermissionTest.cs
+System.Security.Permissions/ReflectionPermissionAttributeTest.cs
+System.Security.Permissions/ReflectionPermissionTest.cs
+System.Security.Permissions/StrongNamePublicKeyBlobTest.cs
+System.Security.Policy/CodeGroupTest.cs
+System.Security.Policy/EvidenceTest.cs
+System.Security.Policy/PublisherTest.cs
+System.Security.Policy/PublisherMembershipConditionTest.cs
+System.Security.Policy/StrongNameTest.cs
+System.Security.Policy/ZoneTest.cs
+System.Security.Principal/GenericIdentityTest.cs
+System.Security.Principal/GenericPrincipalTest.cs
+System.Text/ASCIIEncodingTest.cs
+System.Text/StringBuilderTest.cs
+System.Text/UTF7EncodingTest.cs
+System.Text/UTF8EncodingTest.cs
+System.Text/UnicodeEncodingTest.cs
+System.Threading/ThreadTest.cs
+System.Threading/MutexTest.cs
+System.Reflection/AssemblyNameTest.cs
+System.Reflection/AssemblyTest.cs
+System.Reflection/StrongNameKeyPairTest.cs
+System.Reflection/ModuleTest.cs
+System.Reflection.Emit/MethodBuilderTest.cs
+System.Reflection.Emit/TypeBuilderTest.cs
+System.Reflection.Emit/ConstructorBuilderTest.cs
+System.Reflection.Emit/AssemblyBuilderTest.cs
+System.Reflection.Emit/ModuleBuilderTest.cs
+System.Reflection.Emit/PropertyBuilderTest.cs
+System.Reflection.Emit/EventBuilderTest.cs
+
diff --git a/mcs/class/corlib/makefile.gnu b/mcs/class/corlib/makefile.gnu
deleted file mode 100644
index 84fa7558c9c..00000000000
--- a/mcs/class/corlib/makefile.gnu
+++ /dev/null
@@ -1,18 +0,0 @@
-topdir = ../..
-
-TEST_DIR= Test
-LIBRARY = $(topdir)/class/lib/corlib.dll
-
-LIB_LIST = unix.args
-LIB_FLAGS = --unsafe --nostdlib /debug+ /debug:full
-
-SOURCES_INCLUDE=*.cs
-SOURCES_EXCLUDE=\
- ./Test* \
- ./System.Security.Permissions/SecurityPermissionAttribute.cs \
- ./System.PAL/*.cs \
- ./Windows/*.cs \
- ./System.Runtime.Remoting.Activation/UrlAttribute.cs \
- ./System.Runtime.Remoting.Contexts/ContextAttribute.cs
-
-include $(topdir)/class/library.make
diff --git a/mcs/class/executable.make b/mcs/class/executable.make
deleted file mode 100644
index 776502ad8e5..00000000000
--- a/mcs/class/executable.make
+++ /dev/null
@@ -1,30 +0,0 @@
-RUNTIME = mono
-MCS = $(RUNTIME) $(topdir)/mcs/mcs.exe
-MCS_FLAGS = --target exe
-INSTALL = /usr/bin/install
-prefix = /usr
-
-all: $(PROGRAM)
-
-clean:
- -rm -rf $(PROGRAM) .response-exe .makefrag-exe
-
-.response-exe: $(PROGRAM_LIST)
- cat $^ |egrep '\.cs$$' >$@
-
-.makefrag-exe: $(PROGRAM_LIST)
- echo -n "program-deps: " >$@.new
- cat $^ |egrep '\.cs$$' | sed -e 's,\.cs,.cs \\,' >>$@.new
- cat $@.new |sed -e '$$s, \\$$,,' >$@
- rm -rf $@.new
-
--include .makefrag-exe
-
-$(PROGRAM): .response-exe .makefrag-exe program-deps
- MONO_PATH=$(MONO_PATH_PREFIX)$(MONO_PATH) $(MCS) $(MCS_FLAGS) -o $(PROGRAM) $(PROGRAM_FLAGS) @.response-exe
- touch -r $(PROGRAM) program-deps
-
-install: all
- mkdir -p $(prefix)/bin/
- $(INSTALL) -m 755 $(PROGRAM) $(prefix)/bin/
-
diff --git a/mcs/class/library.build b/mcs/class/library.build
deleted file mode 100644
index 907453d5aa8..00000000000
--- a/mcs/class/library.build
+++ /dev/null
@@ -1,120 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for class libraries -->
-<!-- Target windows builds libraries _for_ windows -->
-<!-- Target linux builds libraries _for_ linux -->
-
-<project name="corlib" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <nant basedir="Accessibility" target="build" buildfile="Accessibility/Accessibility.build"/>
- <nant basedir="corlib" target="build" buildfile="corlib/corlib.build"/>
- <nant basedir="Cscompmgd" target="build" buildfile="Cscompmgd/Cscompmgd.build"/>
- <nant basedir="I18N" target="build" buildfile="I18N/I18N.build"/>
- <nant basedir="Microsoft.VisualBasic" target="build" buildfile="Microsoft.VisualBasic/Microsoft.VisualBasic.build"/>
- <nant basedir="Microsoft.VisualC" target="build" buildfile="Microsoft.VisualC/Microsoft.VisualC.build"/>
- <nant basedir="Mono.CSharp.Debugger" target="build" buildfile="Mono.CSharp.Debugger/Mono.CSharp.Debugger.build"/>
- <nant basedir="Mono.Data" target="build" buildfile="Mono.Data/Mono.Data.build"/>
-
- <!-- TODO: Mono.Data.SybaseClient depends on Mono.Data.Tds -->
- <nant basedir="Mono.Data.Tds" target="build" buildfile="Mono.Data.Tds/Mono.Data.Tds.build"/>
-
- <!-- TODO: Mono.Data.* depends on System.Data -->
- <nant basedir="System.Data" target="build" buildfile="System.Data/System.Data.build"/>
- <nant basedir="System.Data.OracleClient" target="build" buildfile="System.Data.OracleClient/System.Data.OracleClient.build"/>
- <nant basedir="Mono.Data.MySql" target="build" buildfile="Mono.Data.MySql/Mono.Data.MySql.build"/>
- <nant basedir="Mono.Data.PostgreSqlClient" target="build" buildfile="Mono.Data.PostgreSqlClient/Mono.Data.PostgreSqlClient.build"/>
- <nant basedir="Mono.Data.SqliteClient" target="build" buildfile="Mono.Data.SqliteClient/Mono.Data.SqliteClient.build"/>
- <nant basedir="Mono.Data.SybaseClient" target="build" buildfile="Mono.Data.SybaseClient/Mono.Data.SybaseClient.build"/>
- <nant basedir="Mono.Data.TdsClient" target="build" buildfile="Mono.Data.TdsClient/Mono.Data.TdsClient.build"/>
- <nant basedir="Mono.Data.DB2Client" target="build" buildfile="Mono.Data.DB2Client/Mono.Data.DB2Client.build"/>
- <nant basedir="Mono.Directory.LDAP" target="build" buildfile="Mono.Directory.LDAP/Mono.Directory.LDAP.build"/>
- <nant basedir="Mono.GetOptions" target="build" buildfile="Mono.GetOptions/Mono.GetOptions.build"/>
- <nant basedir="Mono.PEToolkit" target="build" buildfile="Mono.PEToolkit/PEToolkit.build"/>
- <nant basedir="Mono.Security" target="build" buildfile="Mono.Security/Mono.Security.build"/>
- <nant basedir="Mono.Security.Win32" target="build" buildfile="Mono.Security.Win32/Mono.Security.Win32.build"/>
- <nant basedir="System" target="build" buildfile="System/System.build"/>
- <nant basedir="System.Configuration.Install" target="build" buildfile="System.Configuration.Install/System.Configuration.Install.build"/>
- <!-- <nant basedir="System.Data.OracleClient" target="build" buildfile="System.Data.OracleClient/System.Data.OracleClient.build"/> -->
- <nant basedir="System.Drawing" target="build" buildfile="System.Drawing/System.Drawing.build"/>
- <nant basedir="System.EnterpriseServices" target="build" buildfile="System.EnterpriseServices/System.EnterpriseServices.build"/>
- <nant basedir="System.Runtime.Remoting" target="build" buildfile="System.Runtime.Remoting/System.Runtime.Remoting.build"/>
- <nant basedir="System.Runtime.Serialization.Formatters.Soap" target="build" buildfile="System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap.build"/>
- <nant basedir="System.ServiceProcess" target="build" buildfile="System.ServiceProcess/System.ServiceProcess.build"/>
- <nant basedir="System.Web" target="build" buildfile="System.Web/System.Web.build"/>
- <nant basedir="System.Web.Services" target="build" buildfile="System.Web.Services/System.Web.Services.build"/>
- <nant basedir="System.Windows.Forms" target="build" buildfile="System.Windows.Forms/System.Windows.Forms.build"/>
- <!-- System.Design depends on System.Drawing, System.Web and System.Windows.Forms -->
- <nant basedir="System.Design" target="build" buildfile="System.Design/System.Design.build"/>
- <nant basedir="System.XML" target="build" buildfile="System.XML/System.XML.build"/>
- <!-- System.Security depends on System.XML -->
- <nant basedir="System.Security" target="build" buildfile="System.Security/System.Security.build"/>
- <nant basedir="Mono.Posix" target="build" buildfile="Mono.Posix/Mono.Posix.build"/>
- <nant basedir="System.Management" target="build" buildfile="System.Management/System.Management.build"/>
- <nant basedir="PEAPI" target="build" buildfile="PEAPI/PEAPI.build"/>
- <nant basedir="ICSharpCode.SharpZipLib" target="build" buildfile="ICSharpCode.SharpZipLib/SharpZipLib.build"/>
- <nant basedir="Npgsql" target="build" buildfile="Npgsql/Npgsql.build"/>
- <nant basedir="ByteFX.Data" target="build" buildfile="ByteFX.Data/ByteFX.Data.build"/>
- <nant basedir="Commons.Xml.Relaxng" target="build" buildfile="Commons.Xml.Relaxng/Commons.Xml.Relaxng.build"/>
- <nant basedir="System.DirectoryServices" target="build" buildfile="System.DirectoryServices/System.DirectoryServices.build"/>
- </target>
-
- <target name="test">
- <nant basedir="corlib" target="test"/>
- <nant basedir="System" target="test"/>
- <nant basedir="System.XML" target="test"/>
- <nant basedir="System.Data" target="test"/>
- <nant basedir="System.Web.Services" target="test"/>
- <nant basedir="Microsoft.VisualBasic" target="test"/>
- <nant basedir="System.Configuration.Install" target="test"/>
- <nant basedir="System.Security" target="test"/>
- <nant basedir="Mono.Security" target="test"/>
- <nant basedir="Mono.Security.Win32" target="test"/>
- </target>
-
- <target name="testcorlib">
- <nant basedir="corlib" target="test"/>
- </target>
-
- <target name="clean">
- <delete failonerror="false">
- <fileset basedir="lib">
- <includes name="*.dll"/>
- </fileset>
- </delete>
- <nant basedir="corlib" target="clean"/>
- <nant basedir="Cscompmgd" target="clean"/>
- <nant basedir="I18N" target="clean"/>
- <nant basedir="System" target="clean"/>
- <nant basedir="System.Drawing" target="clean"/>
- <nant basedir="System.Design" target="clean"/>
- <nant basedir="System.EnterpriseServices" target="clean"/>
- <nant basedir="System.XML" target="clean"/>
- <nant basedir="Mono.Data.Tds" target="clean"/>
- <nant basedir="System.Data" target="clean"/>
- <nant basedir="System.Data.OracleClient" target="clean"/>
- <nant basedir="Mono.Data.MySql" target="clean"/>
- <nant basedir="Mono.Data.PostgreSqlClient" target="clean"/>
- <nant basedir="Mono.Data.SqliteClient" target="clean"/>
- <nant basedir="Mono.Data.SybaseClient" target="clean"/>
- <nant basedir="Mono.Data.TdsClient" target="clean"/>
- <nant basedir="Mono.Data.DB2Client" target="clean"/>
- <nant basedir="System.Web.Services" target="clean"/>
- <nant basedir="Mono.GetOptions" target="clean"/>
- <nant basedir="Microsoft.VisualBasic" target="clean"/>
- <nant basedir="Microsoft.VisualC" target="clean"/>
- <nant basedir="System.Configuration.Install" target="clean"/>
- <nant basedir="Mono.PEToolkit" target="clean"/>
- <nant basedir="System.Security" target="clean"/>
- <nant basedir="Mono.Posix" target="clean"/>
- <nant basedir="Mono.Security" target="clean"/>
- <nant basedir="Mono.Security.Win32" target="clean"/>
- <nant basedir="System.Management" target="clean"/>
- <nant basedir="PEAPI" target="clean"/>
- <nant basedir="NPgsql" target="clean"/>
- <nant basedir="ICSharpCode.SharpZipLib" target="clean"/>
- <nant basedir="ByteFX.Data" target="clean"/>
- <nant basedir="System.DirectoryServices" target="clean" />
- </target>
-</project>
diff --git a/mcs/class/library.make b/mcs/class/library.make
deleted file mode 100644
index 2d8d0531787..00000000000
--- a/mcs/class/library.make
+++ /dev/null
@@ -1,63 +0,0 @@
-#USE_SOURCE_RULES=1
-RUNTIME = mono
-MCS = $(RUNTIME) $(topdir)/mcs/mcs.exe
-MY_MCS_FLAGS = --target library --noconfig $(MCS_FLAGS)
-INSTALL = /usr/bin/install
-prefix = /usr
-
-
-SOURCES_CMD=find . \
- ! \( $(SOURCES_INCLUDE:%=! -path '%' ) \) -a \
- \( $(SOURCES_EXCLUDE:%=! -path '%' ) ! -path '/dev/null' \) -a \
- ! -path '*/__*.cs'
-
-
-all: .makefrag $(LIBRARY)
-
-clean:
- -rm -rf $(LIBRARY) .response .makefrag library-deps.stamp
-
-
-ifdef USE_SOURCE_RULES
-
-.PHONY: .makefrag
-.makefrag:
- @echo -n "SOURCES=" >$@
- @$(SOURCES_CMD) | tee .response | sed -e 's/$$/ \\/' >>$@
-
-else
-
-.response: $(LIB_LIST)
- cat $^ |egrep '\.cs[[:space:]]*$$' >$@
-
-.makefrag: $(LIB_LIST) $(topdir)/class/library.make
- echo -n "library-deps.stamp: $(LIB_LIST) " >$@.new
- cat $< |egrep '\.cs$$' | sed -e 's,\.cs,.cs \\,' >>$@.new
- cat $@.new |sed -e '$$s, \\$$,,' >$@
- echo -e "\ttouch library-deps.stamp" >>$@
- rm -rf $@.new
-
-endif
-
--include .makefrag
-
-ifdef USE_SOURCE_RULES
-$(LIBRARY): makefile.gnu $(SOURCES) $(topdir)/class/library.make
-else
-$(LIBRARY): .response library-deps.stamp
-endif
- MONO_PATH=$(MONO_PATH_PREFIX)$(MONO_PATH) $(MCS) $(MY_MCS_FLAGS) -o $(LIBRARY) $(LIB_FLAGS) @.response
-
-install: all
- mkdir -p $(prefix)/lib/
- $(INSTALL) -m 644 $(LIBRARY) $(prefix)/lib/
-
-ifdef TEST_DIR
-test:
- if [ ! -z $(TEST_DIR) -a -d $(TEST_DIR) ]; then \
- cd $(TEST_DIR) && $(MAKE) -f makefile.gnu $@ && cd ..; \
- fi
-else
-test:
-endif
-
diff --git a/mcs/class/makefile b/mcs/class/makefile
deleted file mode 100644
index 148a70a6b95..00000000000
--- a/mcs/class/makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-NANT = ../nant/NAnt.exe
-
-all:
- if test x$(OS) = xWindows_NT; then make windows; else make -f makefile.gnu; fi
-
-windows:
- $(NANT)
-
-push:
- scp lib/*.dll mono-cvs:libs
-
-test:
- $(NANT) test
-
-testcorlib:
- $(NANT) testcorlib
-
-clean:
- $(NANT) clean
diff --git a/mcs/class/makefile.gnu b/mcs/class/makefile.gnu
deleted file mode 100644
index 96da8a8a769..00000000000
--- a/mcs/class/makefile.gnu
+++ /dev/null
@@ -1,63 +0,0 @@
-INSTALL = /usr/bin/install
-prefix = /usr
-
-DIRS = corlib \
- I18N \
- System \
- System.XML \
- System.Drawing \
- System.EnterpriseServices \
- Mono.Data.Tds \
- System.Security \
- System.Data \
- Mono.GetOptions \
- System.Web \
- System.DirectoryServices \
- System.Web.Services \
- System.Runtime.Serialization.Formatters.Soap \
- System.Runtime.Remoting \
- System.Configuration.Install \
- System.Management \
- Mono.CSharp.Debugger \
- Mono.Data.DB2Client \
- Mono.Data.MySql \
- Mono.Data.PostgreSqlClient \
- Mono.Data.SqliteClient \
- Mono.Data.SybaseClient \
- Mono.Data.TdsClient \
- System.Data.OracleClient \
- Mono.PEToolkit \
- Mono.Posix \
- Accessibility \
- Microsoft.VisualBasic \
- Microsoft.VisualC \
- Cscompmgd \
- System.Windows.Forms \
- System.Design \
- Npgsql \
- PEAPI \
- Mono.Security \
- ICSharpCode.SharpZipLib \
- ByteFX.Data \
- Commons.Xml.Relaxng
-
-default: all
-
-all clean:
- @for i in $(DIRS) ; do \
- if [ -d "$$i" ] && [ -f "$$i/makefile.gnu" ] ; then \
- (cd $$i && $(MAKE) -f makefile.gnu $@) || exit 1; \
- fi \
- done
-
-install: all
- mkdir -p $(prefix)/lib/
- $(INSTALL) -m 644 lib/*.dll $(prefix)/lib/
-
-test: all
- @for i in $(DIRS) ; do \
- if [ -d "$$i" ] && [ -f "$$i/makefile.gnu" ] ; then \
- (cd $$i && $(MAKE) -f makefile.gnu $@) || exit 1; \
- fi \
- done
-
diff --git a/mcs/docs/Makefile b/mcs/docs/Makefile
new file mode 100644
index 00000000000..1c9b5f80a33
--- /dev/null
+++ b/mcs/docs/Makefile
@@ -0,0 +1,9 @@
+thisdir = docs
+SUBDIRS =
+include ../build/rules.make
+
+DISTFILES = clr-abi.txt compiler control-flow-analysis.txt order.txt
+
+all-local install-local clean-local test-local run-test-local:
+
+dist-local: dist-default
diff --git a/mcs/errors/Makefile b/mcs/errors/Makefile
new file mode 100644
index 00000000000..22adf882c7d
--- /dev/null
+++ b/mcs/errors/Makefile
@@ -0,0 +1,52 @@
+thisdir = errors
+SUBDIRS =
+include ../build/rules.make
+
+# force this, we don't case if CSC is broken. This also
+# means we can use --options, yay.
+
+MCS = $(INTERNAL_MCS)
+LOCAL_MCS_FLAGS = /nowarn:162 /unsafe --wlevel 4
+
+DISTFILES = \
+ CONTRIBUTORS_README \
+ README.tests \
+ errors.txt \
+ fail \
+ runtest.pl \
+ $(wildcard *.cs)
+
+all-local install-local test-local:
+
+# again, run-test is when the tests actually happen, so
+# don't compile on make test.
+
+run-test-local:
+ @ failed=false; \
+ for i in cs*.cs; do \
+ case $$i in \
+ cs[0-9]*-[0-9]*cs) \
+ error=`echo $$i | sed -e 's/cs*//' -e 's/.cs//' -e 's/-.*//'`; \
+ ;;\
+ cs[0-9-]*cs) \
+ error=`echo $$i | sed -e 's/cs*//' -e 's/.cs//'`; \
+ ;;\
+ esac; \
+ echo -n "Running test $$i ... "; \
+ if $(CSCOMPILE) --expect-error $$error $$i > /dev/null; \
+ then echo OK; \
+ else echo FAILED; \
+ flist="$$flist $$i"; \
+ failed=true; \
+ fi; \
+ done; \
+ if $$failed; then \
+ echo "The following tests failed: $$flist"; \
+ else \
+ echo All tests passed; \
+ fi
+
+clean-local:
+ rm -f *.exe
+
+dist-local: dist-default
diff --git a/mcs/errors/makefile b/mcs/errors/makefile
deleted file mode 100755
index 0066cf8ca83..00000000000
--- a/mcs/errors/makefile
+++ /dev/null
@@ -1,48 +0,0 @@
-#
-# Compile at the maximum warning level to probe for warnings
-#
-MCS=mono ../mcs/mcs.exe /nowarn:162 /nowarn:169 --wlevel 4 # for linux
-#MCS=../mcs/mcs.exe --wlevel 4 # for windows
-
-
-all:
- @ failed=false; \
- for i in cs*.cs; do \
- case $$i in \
- cs[0-9]*-[0-9]*cs) \
- error=`echo $$i | sed -e 's/cs*//' -e 's/.cs//' -e 's/-.*//'`; \
- ;;\
- cs[0-9-]*cs) \
- error=`echo $$i | sed -e 's/cs*//' -e 's/.cs//'`; \
- ;;\
- esac; \
- echo -n "Running test $$i ... "; \
- if $(MCS) --unsafe --expect-error $$error $$i > /dev/null; \
- then echo OK; \
- else echo FAILED; \
- flist="$$flist $$i"; \
- failed=true; \
- fi; \
- done; \
- if $$failed; then \
- echo "The following tests failed: $$flist"; \
- else \
- echo All tests passed; \
- fi
-
-test-error-mono:
- @ failed=false; \
- for i in error-*.cs; do \
- echo -n "Running test $$i ... "; \
- if MCS='$(MCS)' perl ./runtest.pl $$i > /dev/null; \
- then echo OK; \
- else echo FAILED; \
- flist="$$flist $$i"; \
- failed=true; \
- fi; \
- done; \
- if $$failed; then \
- echo "The following tests failed: $$flist"; \
- else \
- echo All tests passed; \
- fi
diff --git a/mcs/ilasm/Makefile b/mcs/ilasm/Makefile
new file mode 100644
index 00000000000..bcba2ba9835
--- /dev/null
+++ b/mcs/ilasm/Makefile
@@ -0,0 +1,21 @@
+thisdir = ilasm
+SUBDIRS =
+include ../build/rules.make
+
+PROGRAM = ilasm.exe
+BUILT_SOURCES = parser/ILParser.cs
+LOCAL_MCS_FLAGS = /r:PEAPI.dll
+
+CLEAN_FILES = parser/y.output
+
+EXTRA_DISTFILES = \
+ parser/ILParser.jay \
+ parser/ChangeLog \
+ scanner/ChangeLog \
+ tests/ChangeLog \
+ $(wildcard tests/*.il)
+
+parser/ILParser.cs: parser/ILParser.jay $(topdir)/jay/skeleton.cs
+ $(topdir)/jay/jay -ct < $(topdir)/jay/skeleton.cs $< >$@
+
+include ../build/executable.make
diff --git a/mcs/ilasm/makefile b/mcs/ilasm/makefile
deleted file mode 100644
index d614ab8a752..00000000000
--- a/mcs/ilasm/makefile
+++ /dev/null
@@ -1,92 +0,0 @@
-CSC = csc
-CSFLAGS = /nologo /optimize /target:exe /out:ilasm.exe
-LIBFLAGS = /r:../class/lib/PEAPI.dll
-INSTALL = /usr/bin/install
-prefix = /usr
-
-SOURCES = \
- Driver.cs \
- AssemblyInfo.cs \
- codegen/CodeGen.cs \
- codegen/ExternTable.cs \
- codegen/InstrTable.cs \
- codegen/ITypeRef.cs \
- codegen/IClassRef.cs \
- codegen/FieldDef.cs \
- codegen/ParamDef.cs \
- codegen/MethodDef.cs \
- codegen/TypeDef.cs \
- codegen/DataDef.cs \
- codegen/TypeRef.cs \
- codegen/PeapiTypeRef.cs \
- codegen/ExternTypeRef.cs \
- codegen/PrimitiveTypeRef.cs \
- codegen/TypeManager.cs \
- codegen/IInstr.cs \
- codegen/IntInstr.cs \
- codegen/LdstrInstr.cs \
- codegen/SimpInstr.cs \
- codegen/MiscInstr.cs \
- codegen/LdcInstr.cs \
- codegen/BranchInstr.cs \
- codegen/SwitchInstr.cs \
- codegen/TypeInstr.cs \
- codegen/MethodInstr.cs \
- codegen/Local.cs \
- codegen/IMethodRef.cs \
- codegen/ExternMethodRef.cs \
- codegen/MethodRef.cs \
- codegen/GlobalMethodRef.cs \
- codegen/IFieldRef.cs \
- codegen/ExternFieldRef.cs \
- codegen/GlobalFieldRef.cs \
- codegen/FeatureAttr.cs \
- codegen/EventDef.cs \
- codegen/PropertyDef.cs \
- codegen/FieldRef.cs \
- codegen/FieldInstr.cs \
- codegen/LdtokenInstr.cs \
- codegen/CalliInstr.cs \
- codegen/TryBlock.cs \
- codegen/ISehClause.cs \
- codegen/FilterBlock.cs \
- codegen/FinallyBlock.cs \
- codegen/HandlerBlock.cs \
- codegen/FaultBlock.cs \
- codegen/CatchBlock.cs \
- codegen/CustomAttr.cs \
- parser/ILParser.cs \
- parser/ScannerAdapter.cs \
- scanner/ILReader.cs \
- scanner/ILSyntaxError.cs \
- scanner/ILTables.cs \
- scanner/ILToken.cs \
- scanner/ILTokenizer.cs \
- scanner/InstrToken.cs \
- scanner/ITokenStream.cs \
- scanner/Location.cs \
- scanner/NumberHelper.cs \
- scanner/StringHelperBase.cs \
- scanner/StringHelper.cs
-
-ilasm.exe: list
- $(CSC) $(CSFLAGS) $(LIBFLAGS) @list
-
-install: all
- mkdir -p $(prefix)/bin
- $(INSTALL) -m 755 ilasm.exe $(prefix)/bin
-
-parser/ILParser.cs: parser/ILParser.jay ../jay/skeleton.cs
- ../jay/jay -ct < ../jay/skeleton.cs parser/ILParser.jay > parser/ILParser.cs
-
-list: $(SOURCES)
- echo $(SOURCES) | sed -e 's@/@\\@g' > list
-
-all: ilasm.exe
-
-linux: ilasm.exe
-
-windows: ilasm.exe
-
-clean:
- rm -f ilasm.exe parser/ILParser.cs list
diff --git a/mcs/ilasm/makefile.gnu b/mcs/ilasm/makefile.gnu
deleted file mode 100644
index e5cc86e7cf3..00000000000
--- a/mcs/ilasm/makefile.gnu
+++ /dev/null
@@ -1,93 +0,0 @@
-RUNTIME = mono
-topdir = ..
-MCS = $(RUNTIME) $(topdir)/mcs/mcs.exe
-CSFLAGS = --target exe -L ../class/lib
-LIBFLAGS = /r:PEAPI.dll
-INSTALL = /usr/bin/install
-prefix = /usr
-
-SOURCES = \
- Driver.cs \
- AssemblyInfo.cs \
- codegen/CodeGen.cs \
- codegen/ExternTable.cs \
- codegen/InstrTable.cs \
- codegen/ITypeRef.cs \
- codegen/IClassRef.cs \
- codegen/FieldDef.cs \
- codegen/ParamDef.cs \
- codegen/MethodDef.cs \
- codegen/TypeDef.cs \
- codegen/DataDef.cs \
- codegen/TypeRef.cs \
- codegen/PeapiTypeRef.cs \
- codegen/ExternTypeRef.cs \
- codegen/PrimitiveTypeRef.cs \
- codegen/TypeManager.cs \
- codegen/IInstr.cs \
- codegen/IntInstr.cs \
- codegen/LdstrInstr.cs \
- codegen/SimpInstr.cs \
- codegen/MiscInstr.cs \
- codegen/LdcInstr.cs \
- codegen/BranchInstr.cs \
- codegen/SwitchInstr.cs \
- codegen/TypeInstr.cs \
- codegen/MethodInstr.cs \
- codegen/Local.cs \
- codegen/IMethodRef.cs \
- codegen/ExternMethodRef.cs \
- codegen/MethodRef.cs \
- codegen/GlobalMethodRef.cs \
- codegen/IFieldRef.cs \
- codegen/ExternFieldRef.cs \
- codegen/GlobalFieldRef.cs \
- codegen/FeatureAttr.cs \
- codegen/EventDef.cs \
- codegen/PropertyDef.cs \
- codegen/FieldRef.cs \
- codegen/FieldInstr.cs \
- codegen/LdtokenInstr.cs \
- codegen/CalliInstr.cs \
- codegen/TryBlock.cs \
- codegen/ISehClause.cs \
- codegen/FilterBlock.cs \
- codegen/FinallyBlock.cs \
- codegen/HandlerBlock.cs \
- codegen/FaultBlock.cs \
- codegen/CatchBlock.cs \
- codegen/CustomAttr.cs \
- parser/ILParser.cs \
- parser/ScannerAdapter.cs \
- scanner/ILReader.cs \
- scanner/ILSyntaxError.cs \
- scanner/ILTables.cs \
- scanner/ILToken.cs \
- scanner/ILTokenizer.cs \
- scanner/InstrToken.cs \
- scanner/ITokenStream.cs \
- scanner/Location.cs \
- scanner/NumberHelper.cs \
- scanner/StringHelperBase.cs \
- scanner/StringHelper.cs \
-
-all: ilasm.exe
-
-ilasm.exe: list
- $(MCS) $(CSFLAGS) $(LIBFLAGS) @list -o ilasm.exe
-
-install: all
- mkdir -p $(prefix)/bin
- $(INSTALL) -m 755 ilasm.exe $(prefix)/bin
-
-parser/ILParser.cs: parser/ILParser.jay $(topdir)/jay/skeleton.cs
- $(topdir)/jay/jay -ct < $(topdir)/jay/skeleton.cs parser/ILParser.jay > parser/ILParser.cs
-
-list: $(SOURCES)
- echo $(SOURCES) > list
-
-test:
-
-clean:
- rm -f ilasm.exe parser/ILParser.cs list
-
diff --git a/mcs/ilasm/tests/makefile b/mcs/ilasm/tests/makefile
deleted file mode 100755
index 399b520ab5e..00000000000
--- a/mcs/ilasm/tests/makefile
+++ /dev/null
@@ -1,35 +0,0 @@
-ILASM=mono ../ilasm.exe
-VERIFY=../../tools/verifier.exe
-
-TEST_SOURCES = test-1 test-2 test-3 test-4 test-5 test-6 test-7
-
-all: test-compiler
-
-# Compile with mono, run with mono jit
-test-compiler:
- @rm -f *.exe; \
- for i in $(TEST_SOURCES); do \
- echo -n "Running $$i ... "; \
- if $(ILASM) $$i.il > /dev/null; then \
- if mono ./$$i.exe > /dev/null; then \
- echo OK; \
- else \
- echo FAILED; exit 1; \
- fi; \
- else \
- echo FAILED TO COMPILE; exit 1; \
- fi \
- done
-# echo "Running NO_PASS tests ..."
-# for i in $(TEST_NOPASS); do \
-# echo -n "Running $$i ... "; \
-# if $(ILASM) $$i.il > /dev/null; then \
-# echo OK; \
-# else \
-# echo FAILED TO COMPILE; exit 1; \
-# fi \
-# done
-
-clean:
- rm *.exe
-
diff --git a/mcs/jay/Makefile b/mcs/jay/Makefile
new file mode 100644
index 00000000000..6646c4a12fc
--- /dev/null
+++ b/mcs/jay/Makefile
@@ -0,0 +1,38 @@
+thisdir := jay
+SUBDIRS :=
+include ../build/rules.make
+
+LOCAL_CFLAGS = -DSKEL_DIRECTORY=\""$(prefix)/share/jay"\"
+
+sources = closure.c error.c lalr.c lr0.c main.c mkpar.c output.c reader.c \
+ symtab.c verbose.c warshall.c
+
+datafiles = ACKNOWLEDGEMENTS NEW_FEATURES NOTES README README.jay skeleton \
+ skeleton.cs
+
+DISTFILES = $(datafiles) $(sources) jay.1 $(wildcard *.h)
+
+all-local: jay
+
+install-local: jay
+ $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/bin
+ $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/share/jay
+ $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/man/man1
+ $(INSTALL_BIN) jay $(DESTDIR)$(prefix)/bin
+ for datafile in $(datafiles) ; do \
+ $(INSTALL_DATA) $$datafile $(DESTDIR)$(prefix)/share/jay ; \
+ done
+ $(INSTALL_DATA) jay.1 $(DESTDIR)$(prefix)/man/man1
+
+clean-local:
+ rm -f jay *.o
+
+dist-local: dist-default
+
+test-local run-test-local:
+
+jay: $(sources:.c=.o)
+ $(CCOMPILE) -o $@ $^
+
+%.o: %.c
+ $(CCOMPILE) -c -o $@ $^
diff --git a/mcs/jay/makefile b/mcs/jay/makefile
deleted file mode 100644
index a04d7db661b..00000000000
--- a/mcs/jay/makefile
+++ /dev/null
@@ -1,19 +0,0 @@
-all = jay
-c = closure.c error.c lalr.c lr0.c main.c mkpar.c output.c reader.c \
- symtab.c verbose.c warshall.c
-prefix = /usr
-
-CFLAGS= -DSKEL_DIRECTORY=\""$(prefix)/share/jay"\"
-
-jay: $(c:.c=.o)
- $(CC) -o $@ $(CFLAGS) $(c:.c=.o)
-
-clean:
- rm -f jay *.o
-
-windows: jay
-
-linux: jay
-
-install:
- make -f makefile.gnu install
diff --git a/mcs/jay/makefile.gnu b/mcs/jay/makefile.gnu
deleted file mode 100644
index 82b1d0d427e..00000000000
--- a/mcs/jay/makefile.gnu
+++ /dev/null
@@ -1,23 +0,0 @@
-INSTALL = /usr/bin/install
-prefix = /usr
-
-datafiles = ACKNOWLEDGEMENTS NEW_FEATURES NOTES README README.jay skeleton skeleton.cs
-
-all:
- $(MAKE) -f makefile linux
-
-clean:
- $(MAKE) -f makefile clean
-
-install: all
- mkdir -p $(prefix)/bin
- mkdir -p $(prefix)/share/jay
- mkdir -p $(prefix)/man/man1
- $(INSTALL) -m 755 jay $(prefix)/bin
- for datafile in $(datafiles) ; do \
- $(INSTALL) -m 644 $$datafile $(prefix)/share/jay ; \
- done
- $(INSTALL) -m 644 jay.1 $(prefix)/man/man1
-
-test:
-
diff --git a/mcs/makefile b/mcs/makefile
deleted file mode 100755
index da41a9b6a2c..00000000000
--- a/mcs/makefile
+++ /dev/null
@@ -1,136 +0,0 @@
-VERSION=0.24.99
-DIST=monocharge-`date -u +%Y%m%d`
-
-DIRS=jay nant mcs class nunit20 monoresgen tools mbas ilasm
-INSTALL= /usr/bin/install
-
-all:
- if test x$(OS) = xWindows_NT; then make windows; else make -f makefile.gnu; fi
-
-install:
- if test x$(OS) = xWindows_NT; then make windowsinstall; \
- else make -f makefile.gnu install; fi
-
-windows:
- for i in $(DIRS); do \
- (cd $$i; make windows) || exit 1; \
- done
-
-linux:
- for i in $(DIRS); do \
- (cd $$i; make linux) || exit 1; \
- done
-
-test:
- if test x$(OS) = xWindows_NT; then make testwindows; else make -f makefile.gnu test; fi
-
-testcorlib:
- if test x$(OS) = xWindows_NT; then make testcorlibwindows; else make -f makefile.gnu testcorlib; fi
-
-testwindows:
- cd nunit20 && $(MAKE)
- cd class && $(MAKE) test
-
-testcorlibwindows:
- cd class && $(MAKE) testcorlib
-
-clean:
- if test x$(OS) = xWindows_NT; then make cleanwindows; else make cleanlinux; fi
-
-cleanwindows:
- for i in $(DIRS); do \
- (cd $$i; make clean) \
- done
-
-cleanlinux:
- for i in $(DIRS); do \
- (cd $$i; make -f makefile.gnu clean) \
- done
-
-dist:
- (c=`pwd`; d=`basename $$c`; cd ..; cp -a $$d mcs-$(VERSION); cd mcs-$(VERSION); make clean; cd ..; \
- tar czvf $$d/mcs-$(VERSION).tar.gz --exclude=CVS --exclude='.#*' --exclude=core --exclude='*~' --exclude='*.exe' mcs-$(VERSION); \
- rm -rf mcs-$(VERSION))
-
-binary-snapshot: all
- mkdir $(DIST)
- $(MAKE) install prefix=$(PWD)/$(DIST) || exit 1; \
- tar -c $(DIST) | gzip > $(DIST).tar.gz
- rm -rf $(DIST)
-
-windowsinstall:
- if test x$$prefix = x; then \
- echo Usage is: make install prefix=X:/cygwin/home/MyHome/mono/install; exit 1; \
- fi
- mkdir -p $(prefix)/bin/
- for iexe in $(MONO_WIN_INSTALL_BIN) ; do \
- echo Installing exe $$iexe; \
- ($(INSTALL) -m 755 $$iexe $(prefix)/bin/) || exit 1; \
- sed -e 's^\@bindir\@^$(prefix)^g' -e "s^\\@thewindowexe\\@^`basename \"$$iexe\"`^g" < ./winexe.in > ./winexe.tmp; \
- mv ./winexe.tmp ./$$iexe.sh; \
- ($(INSTALL) -m 755 $$iexe.sh $(prefix)/bin/) || exit 1; \
- done
- mkdir -p $(prefix)/lib/
- for idll in $(MONO_WIN_INSTALL_LIB) ; do \
- echo Installing dll $$idll; \
- ($(INSTALL) -m 755 $$idll $(prefix)/lib/) || exit 1; \
- done
-
-MONO_WIN_INSTALL_LIB= \
- class/lib/Accessibility.dll \
- class/lib/ICSharpCode.SharpZipLib.dll \
- class/lib/ByteFX.Data.dll \
- class/lib/I18N.CJK.dll \
- class/lib/I18N.MidEast.dll \
- class/lib/I18N.Other.dll \
- class/lib/I18N.Rare.dll \
- class/lib/I18N.West.dll \
- class/lib/I18N.dll \
- class/lib/Microsoft.VisualBasic.dll \
- class/lib/Microsoft.VisualC.dll \
- class/lib/Mono.Data.dll \
- class/lib/Mono.Data.DB2Client.dll \
- class/lib/Mono.Data.MySql.dll \
- class/lib/Mono.Data.PostgreSqlClient.dll \
- class/lib/Mono.Data.SqliteClient.dll \
- class/lib/Mono.Data.SybaseClient.dll \
- class/lib/Mono.Data.Tds.dll \
- class/lib/Mono.Data.TdsClient.dll \
- class/lib/Mono.Directory.LDAP.dll \
- class/lib/Mono.GetOptions.dll \
- class/lib/Mono.PEToolkit.dll \
- class/lib/Mono.Posix.dll \
- class/lib/Mono.Security.dll \
- class/lib/Mono.Security.Win32.dll \
- class/lib/Npgsql.dll \
- class/lib/PEAPI.dll \
- class/lib/System.Configuration.Install.dll \
- class/lib/System.Data.dll \
- class/lib/System.Data.OracleClient.dll \
- class/lib/System.Design.dll \
- class/lib/System.Drawing.dll \
- class/lib/System.EnterpriseServices.dll \
- class/lib/System.Management.dll \
- class/lib/System.Runtime.Remoting.dll \
- class/lib/System.Runtime.Serialization.Formatters.Soap.dll \
- class/lib/System.Security.dll \
- class/lib/System.ServiceProcess.dll \
- class/lib/System.Web.Services.dll \
- class/lib/System.Web.dll \
- class/lib/System.Windows.Forms.dll \
- class/lib/System.Xml.dll \
- class/lib/System.dll \
- class/lib/corlib.dll
-
-MONO_WIN_INSTALL_BIN= \
- mcs/mcs.exe \
- mbas/mbas.exe \
- nant/NAnt.exe \
- ilasm/ilasm.exe \
- monoresgen/monoresgen.exe \
- tools/EnumCheck.exe \
- tools/IFaceDisco.exe \
- tools/verifier.exe \
- tools/GenerateDelegate.exe \
- tools/monostyle.exe \
- tools/SqlSharp/sqlsharp.exe \
diff --git a/mcs/makefile.gnu b/mcs/makefile.gnu
deleted file mode 100644
index 86fe2904ef3..00000000000
--- a/mcs/makefile.gnu
+++ /dev/null
@@ -1,62 +0,0 @@
-DIRS=jay mcs class mbas nunit20 monoresgen ilasm tools
-DIST=monocharge-`date -u +%Y%m%d`
-MCS = mcs
-INSTALL=/usr/bin/install
-DOCFILES= README.building
-
-#nant doesn't work yet
-
-default: all
-
-all:
- if ! which $(MCS); then \
- echo You must have a C\# compiler installed to continue.; \
- echo This is typically provided by \'mono\'.; \
- echo Read INSTALL.txt for details.; \
- exit 1; \
- fi;
- for i in $(DIRS) ; do \
- (cd $$i && $(MAKE) -f makefile.gnu $@ && cd ..) || exit 1; \
- done
-
-install:
- if test x$$prefix = x; then \
- echo Usage is: make -f makefile.gnu install prefix=YOURPREFIX; \
- exit 1; \
- fi;
- for i in $(DIRS) ; do \
- (cd $$i && $(MAKE) -f makefile.gnu $@ && cd ..) || exit 1; \
- done
- mkdir -p $(prefix)/share/doc/mono
- $(INSTALL) -m 644 $(DOCFILES) $(prefix)/share/doc/mono
-
-
-test: all
- for i in $(DIRS) ; do \
- (cd $$i && $(MAKE) -f makefile.gnu $@ && cd ..) || exit 1; \
- done
-
-testcorlib:
- cd class/corlib/Test && $(MAKE) -f makefile.gnu test
-
-clean:
- -rm -f monocharge-*.tar.gz
- for i in $(DIRS) ; do \
- (cd $$i && $(MAKE) -f makefile.gnu $@ && cd ..) || exit 1; \
- done
-
-corlib:
- cd class/corlib && $(MAKE) -f makefile.gnu
-
-# Please do only use `binary-snapshot', the `dist' target will disappear really soon !
-binary-snapshot: dist
-
-dist: all
- mkdir $(DIST)
- for i in $(DIRS) ; do \
- (cd $$i && $(MAKE) -f makefile.gnu install \
- prefix=$(PWD)/$(DIST) && cd ..) || exit 1; \
- done
- tar -c $(DIST) | gzip > $(DIST).tar.gz
- rm -rf $(DIST)
-
diff --git a/mcs/mbas/Makefile b/mcs/mbas/Makefile
new file mode 100644
index 00000000000..04a1d694399
--- /dev/null
+++ b/mcs/mbas/Makefile
@@ -0,0 +1,28 @@
+thisdir = mbas
+SUBDIRS =
+include ../build/rules.make
+
+PROGRAM = mbas.exe
+BUILT_SOURCES = mb-parser.cs
+HAS_TEST = yes
+
+LOCAL_MCS_FLAGS = /r:System.dll /r:$(topdir)/class/lib/Mono.GetOptions.dll
+
+EXTRA_DISTFILES = mb-parser.jay mbas.csproj mbas.ico mbas.sln
+CLEAN_FILES = y.output testmbas/WriteOK.exe
+
+include ../build/executable.make
+
+test-local: mbas.exe
+
+run-test-local: testmbas/WriteOK.exe
+ $(TEST_RUNTIME) testmbas/WriteOK.exe
+
+mb-parser.cs: mb-parser.jay
+ $(topdir)/jay/jay -ctv <$(topdir)/jay/skeleton.cs $< >$@
+
+verbose: mbas.exe
+ $(TEST_RUNTIME) mbas.exe --verbosegetoptions --stacktrace /r:Mono.GetOptions.dll /r:System.Data,System.Windows.Forms --main WriteOK testmbas/WriteOK.vb testmbas/WriteOK2.mbs
+
+testmbas/WriteOK.exe: mbas.exe
+ $(TEST_RUNTIME) mbas.exe --stacktrace /r:Mono.GetOptions.dll /r:System.Data,System.Windows.Forms --main WriteOK testmbas/WriteOK.vb testmbas/WriteOK2.mbs
diff --git a/mcs/mbas/makefile b/mcs/mbas/makefile
deleted file mode 100644
index 3de2efec1e3..00000000000
--- a/mcs/mbas/makefile
+++ /dev/null
@@ -1,58 +0,0 @@
-CSC=csc
-CSCFLAGS=/nologo /optimize /target:exe /r:System.dll /r:../class/lib/Mono.GetOptions.dll /out:mbas.exe
-
-COMPILER_SOURCES = \
- AssemblyInfo.cs \
- assign.cs \
- argument.cs \
- attribute.cs \
- cfold.cs \
- class.cs \
- codegen.cs \
- const.cs \
- constant.cs \
- decl.cs \
- delegate.cs \
- driver.cs \
- enum.cs \
- ecore.cs \
- expression.cs \
- genericparser.cs \
- interface.cs \
- literal.cs \
- location.cs \
- mb-parser.cs \
- mb-tokenizer.cs \
- modifiers.cs \
- module.cs \
- namespace.cs \
- parameter.cs \
- pending.cs \
- report.cs \
- rootcontext.cs \
- statement.cs \
- statementCollection.cs \
- support.cs \
- tree.cs \
- typemanager.cs
-
-linux: all
-windows: all
-
-all: mbas.exe
-
-test: mbas.exe
- mono mbas.exe --stacktrace --main WriteOK testmbas/WriteOK.vb testmbas/WriteOK2.mbs
- mono testmbas/WriteOK.exe
-
-verbose: mbas.exe
- mono mbas.exe --stacktrace --verbose --main WriteOK testmbas/WriteOK.vb testmbas/WriteOK2.mbs | less
-
-mbas.exe: $(COMPILER_SOURCES)
- $(CSC) $(CSCFLAGS) $(COMPILER_SOURCES)
-
-clean:
- rm -f mbas.exe y.output mbas.pdb *~ .*~ mb-parser.cs mbas.log response
-
-mb-parser.cs: mb-parser.jay
- ../jay/jay -ctv < ../jay/skeleton.cs mb-parser.jay > mb-parser.cs
diff --git a/mcs/mbas/makefile.gnu b/mcs/mbas/makefile.gnu
deleted file mode 100644
index a085b2224d6..00000000000
--- a/mcs/mbas/makefile.gnu
+++ /dev/null
@@ -1,68 +0,0 @@
-topdir=..
-MCS = ../mcs/mcs.exe
-MCS_FLAGS = /target:exe $(MCS_DEFINES)
-INSTALL = /usr/bin/install
-prefix = /usr
-RUNTIME=mono
-MONO_PATH_PREFIX=$(topdir)/class/lib:
-
-COMPILER_SOURCES = \
- AssemblyInfo.cs \
- assign.cs \
- argument.cs \
- attribute.cs \
- cfold.cs \
- class.cs \
- codegen.cs \
- const.cs \
- constant.cs \
- decl.cs \
- delegate.cs \
- driver.cs \
- enum.cs \
- ecore.cs \
- expression.cs \
- genericparser.cs \
- interface.cs \
- literal.cs \
- location.cs \
- mb-parser.cs \
- mb-tokenizer.cs \
- modifiers.cs \
- module.cs \
- namespace.cs \
- parameter.cs \
- pending.cs \
- report.cs \
- rootcontext.cs \
- statement.cs \
- statementCollection.cs \
- support.cs \
- tree.cs \
- typemanager.cs
-
-all: mbas.exe
-
-mbas.exe: $(COMPILER_SOURCES)
- MONO_PATH=$(MONO_PATH_PREFIX)$(MONO_PATH) $(RUNTIME) $(MCS) $(MCSFLAGS) /r:Mono.GetOptions.dll /out:mbas.exe $(COMPILER_SOURCES)
-
-clean:
- rm -f mbas.exe y.output mbas.pdb *~ .*~ mb-parser.cs mbas.log response
-
-mb-parser.cs: mb-parser.jay
- ../jay/jay -ctv < ../jay/skeleton.cs mb-parser.jay > mb-parser.cs
-
-install: all
- mkdir -p $(prefix)/bin/
- $(INSTALL) -m 755 mbas.exe $(prefix)/bin/
-
-test: mbas.exe
- $(RUNTIME) mbas.exe --stacktrace /r:Mono.GetOptions.dll /r:System.Data,System.Windows.Forms --main WriteOK testmbas/WriteOK.vb testmbas/WriteOK2.mbs
- $(RUNTIME) testmbas/WriteOK.exe
-
-verbose: mbas.exe
- $(RUNTIME) mbas.exe --verbosegetoptions --stacktrace --verbose --main WriteOK testmbas/WriteOK.vb testmbas/WriteOK2.mbs | less
-
-test-gtk: mbas.exe
- $(RUNTIME) mbas.exe testmbas/gtk.vb -r gtk-sharp
- $(RUNTIME) testmbas/gtk.exe
diff --git a/mcs/mcs/Makefile b/mcs/mcs/Makefile
new file mode 100644
index 00000000000..1be37e01a82
--- /dev/null
+++ b/mcs/mcs/Makefile
@@ -0,0 +1,77 @@
+thisdir := mcs
+SUBDIRS :=
+include ../build/rules.make
+
+COMPILER_SOURCES = \
+ AssemblyInfo.cs \
+ anonymous.cs \
+ assign.cs \
+ attribute.cs \
+ driver.cs \
+ cs-tokenizer.cs \
+ cfold.cs \
+ class.cs \
+ codegen.cs \
+ const.cs \
+ constant.cs \
+ convert.cs \
+ decl.cs \
+ delegate.cs \
+ enum.cs \
+ ecore.cs \
+ expression.cs \
+ genericparser.cs \
+ interface.cs \
+ iterators.cs \
+ literal.cs \
+ location.cs \
+ modifiers.cs \
+ namespace.cs \
+ parameter.cs \
+ pending.cs \
+ report.cs \
+ rootcontext.cs \
+ statement.cs \
+ support.cs \
+ typemanager.cs \
+ symbolwriter.cs \
+ tree.cs
+
+all_sources = $(COMPILER_SOURCES) cs-parser.cs
+
+DISTFILES = \
+ $(COMPILER_SOURCES) \
+ compiler.csproj \
+ compiler.csproj.user \
+ compiler.doc \
+ compiler.sln \
+ cs-parser.jay \
+ mcs.exe.config \
+ NOTES \
+ TODO
+
+all-local: mcs.exe
+
+install-local: mcs.exe
+ $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/bin
+ $(INSTALL_BIN) mcs.exe $(DESTDIR)$(prefix)/bin
+
+test-local run-test-local:
+
+clean-local:
+ rm -f *.exe cs-parser.cs y.output
+
+dist-local: dist-default
+
+mcs.exe: $(all_sources)
+ $(BOOT_COMPILE) /target:exe /out:$@ $^
+
+cs-parser.cs: cs-parser.jay $(topdir)/jay/skeleton.cs
+ $(topdir)/jay/jay -ctv < $(topdir)/jay/skeleton.cs $< >$@
+
+# Testing targets
+
+TIME = time
+
+mcs2.exe: mcs.exe
+ $(TIME) $(RUNTIME) ./mcs.exe $(USE_MCS_FLAGS) /target:exe /out:$@ $(all_sources)
diff --git a/mcs/mcs/makefile b/mcs/mcs/makefile
deleted file mode 100755
index f2678afb6c6..00000000000
--- a/mcs/mcs/makefile
+++ /dev/null
@@ -1,117 +0,0 @@
-CSC=csc.exe
-CSCFLAGS=/nologo /debug+ /debug:full /optimize
-
-VERSION=0.13
-
-COMMON_SOURCES = cs-parser.cs cs-tokenizer.cs tree.cs location.cs
-
-COMPILER_SOURCES = \
- AssemblyInfo.cs \
- anonymous.cs \
- assign.cs \
- attribute.cs \
- driver.cs $(COMMON_SOURCES) \
- cfold.cs \
- class.cs \
- codegen.cs \
- const.cs \
- constant.cs \
- convert.cs \
- decl.cs \
- delegate.cs \
- enum.cs \
- ecore.cs \
- expression.cs \
- genericparser.cs \
- interface.cs \
- iterators.cs \
- literal.cs \
- modifiers.cs \
- namespace.cs \
- parameter.cs \
- pending.cs \
- report.cs \
- rootcontext.cs \
- statement.cs \
- support.cs \
- typemanager.cs \
- symbolwriter.cs
-
-TEST_TOKENIZER_SOURCES = test-token.cs $(COMMON_SOURCES)
-
-all:
- if test x$(OS) = xWindows_NT; then make mcs.exe; else make -f makefile.gnu; fi
-
-install:
- make -f makefile.gnu install
-
-mcs.exe: cs-parser.cs $(COMPILER_SOURCES)
- $(CSC) $(CSCFLAGS) /target:exe /r:System.dll /out:mcs.exe $(COMPILER_SOURCES)
-
-count:
- wc -l $(COMPILER_SOURCES)
-
-res:
- echo --target exe -o mcs2.exe $(COMPILER_SOURCES) > response
-
-dum: cs-parser.cs
- $(TIME) $(RUNTIME) ./mcs.exe --target exe -o mcs2.exe $(COMPILER_SOURCES)
-
-mcs2.exe: mcs.exe
- $(TIME) $(RUNTIME) ./mcs.exe $(XFLAGS) --target exe -o mcs2.exe $(COMPILER_SOURCES)
-
-mcs3.exe: mcs2.exe
- $(TIME) $(RUNTIME) ./mcs2.exe --target exe -o mcs3.exe $(COMPILER_SOURCES)
-
-mcs-mono.exe: cs-parser.cs $(COMPILER_SOURCES)
- mono --precompile @mcs.exe mcs.exe $(MCSFLAGS) --fatal --timestamp -o mcs-mono.exe $(COMPILER_SOURCES)
-mm:
- mint $(MINTFLAGS) ./mcs.exe $(MCSFLAGS) --target exe -o mcs4.exe $(COMPILER_SOURCES)
-
-mcs-mono2.exe: cs-parser.cs $(COMPILER_SOURCES)
- mono mcs.exe --timestamp $(MCSFLAGS) -o mcs-mono2.exe -g $(COMPILER_SOURCES)
-
-mcs-mono3.exe: cs-parser.cs $(COMPILER_SOURCES)
- mono --debug mcs-mono2.exe -o mcs-mono3.exe -g $(COMPILER_SOURCES)
-
-mcs-mono4.exe: cs-parser.cs $(COMPILER_SOURCES)
- mono --debug mcs-mono3.exe -o mcs-mono4.exe -g $(COMPILER_SOURCES)
-
-monomcs: cs-parser.cs
- mcs $(MCSFLAGS) --target exe -o mcs4.exe $(COMPILER_SOURCES)
-
-test: mcs3.exe
- ls -l mcs2.exe mcs3.exe
-
-docs: cs-parser.cs
- $(CSC) $(CSCFLAGS) /doc:docs.xml /nowarn:1591 /target:exe /r:System.dll /out:mcs.exe $(COMPILER_SOURCES)
-
-windows: all
-
-linux: all
-
-opt:
- $(CSC) /optimize+ /target:exe /r:System.dll /out:mcs.exe $(COMPILER_SOURCES)
-
-old: test-tokenizer.exe
-test-tokenizer.exe: $(TEST_TOKENIZER_SOURCES)
- $(CSC) /target:exe /out:test-tokenizer.exe $(TEST_TOKENIZER_SOURCES)
-
-bison:
- perl -pe 's/\015//' < cs-parser.jay > x.y
- bison --debug --verbose x.y
-
-cs-parser.cs: cs-parser.jay
- ../jay/jay -ctv < ../jay/skeleton.cs cs-parser.jay > cs-parser.cs
-
-pn:
- ../jay/jay -ctv < ../jay/skeleton.cs cs-parser.jay | grep -v '#line' > cs-parser.cs
-
-#statementCollection.cs: X-Collection.cs
-# sed -e "s/@CONTAINEE@/Statement/g" -e "s/@arrayname@/statements/g" < X-Collection.cs > statementCollection.cs
-
-#parameterCollection.cs: X-Collection.cs
-# sed -e "s/@CONTAINEE@/Parameter/g" -e "s/@arrayname@/parameters/g" < X-Collection.cs > parameterCollection.cs
-
-clean:
- rm -f mcs.exe mcs2.exe mcs3.exe cs-parser.cs y.output mcs.pdb *~ .*~ mcs.log response
diff --git a/mcs/mcs/makefile.gnu b/mcs/mcs/makefile.gnu
deleted file mode 100644
index 6975a1c0b11..00000000000
--- a/mcs/mcs/makefile.gnu
+++ /dev/null
@@ -1,65 +0,0 @@
-MCS = mcs
-MONO = mono
-MCS_FLAGS = /target:exe $(MCS_DEFINES)
-INSTALL = /usr/bin/install
-prefix = /usr
-
-COMMON_SOURCES = cs-parser.cs cs-tokenizer.cs tree.cs location.cs
-
-COMPILER_SOURCES = \
- AssemblyInfo.cs \
- anonymous.cs \
- assign.cs \
- attribute.cs \
- driver.cs $(COMMON_SOURCES) \
- cfold.cs \
- class.cs \
- codegen.cs \
- const.cs \
- constant.cs \
- convert.cs \
- decl.cs \
- delegate.cs \
- enum.cs \
- ecore.cs \
- expression.cs \
- genericparser.cs \
- interface.cs \
- iterators.cs \
- literal.cs \
- modifiers.cs \
- namespace.cs \
- parameter.cs \
- pending.cs \
- report.cs \
- rootcontext.cs \
- statement.cs \
- support.cs \
- typemanager.cs \
- symbolwriter.cs
-
-TEST_TOKENIZER_SOURCES = test-token.cs $(COMMON_SOURCES)
-
-all: mcs.exe
-
-mcs.exe: $(COMPILER_SOURCES)
- $(MCS) $(MCS_FLAGS) -o $@ $(COMPILER_SOURCES)
-
-mcs-mono.exe: $(COMPILER_SOURCES)
- $(MONO) mcs.exe $(MCS_FLAGS) -o $@ $(COMPILER_SOURCES)
-
-mcs-mono2.exe: $(COMPILER_SOURCES)
- $(MONO) mcs.exe $(MCS_FLAGS) --debug -o $@ $(COMPILER_SOURCES)
-
-cs-parser.cs: cs-parser.jay
- ../jay/jay -ctv < ../jay/skeleton.cs $^ > $@
-
-clean:
- -rm -f *.exe cs-parser.cs y.output
-
-install: all
- mkdir -p $(prefix)/bin/
- $(INSTALL) -m 755 mcs.exe $(prefix)/bin/
-
-test:
-
diff --git a/mcs/monoresgen/Makefile b/mcs/monoresgen/Makefile
new file mode 100644
index 00000000000..06e067a8865
--- /dev/null
+++ b/mcs/monoresgen/Makefile
@@ -0,0 +1,7 @@
+thisdir = monoresgen
+SUBDIRS =
+include ../build/rules.make
+
+PROGRAM = monoresgen.exe
+
+include ../build/executable.make
diff --git a/mcs/monoresgen/makefile b/mcs/monoresgen/makefile
deleted file mode 100755
index 7641c625c15..00000000000
--- a/mcs/monoresgen/makefile
+++ /dev/null
@@ -1,26 +0,0 @@
-MCS = csc
-MCS_FLAGS = /target:exe $(MCS_DEFINES)
-INSTALL = /usr/bin/install
-prefix = /usr
-RUNTIME=
-
-SOURCES=monoresgen.cs
-
-all:
- if test x$(OS) = xWindows_NT; then make linux; else make -f makefile.gnu; fi
-
-linux: monoresgen.exe
-
-windows: monoresgen.exe
-
-monoresgen.exe: $(SOURCES)
- $(RUNTIME) $(MCS) $(MCS_FLAGS) /out:$@ $(SOURCES)
-
-install: all
- mkdir -p $(prefix)/bin/
- $(INSTALL) -m 755 monoresgen.exe $(prefix)/bin/
-
-test:
-
-clean:
- rm -f monoresgen.exe
diff --git a/mcs/monoresgen/makefile.gnu b/mcs/monoresgen/makefile.gnu
deleted file mode 100755
index 57c4a0cbb09..00000000000
--- a/mcs/monoresgen/makefile.gnu
+++ /dev/null
@@ -1,21 +0,0 @@
-RUNTIME=mono
-MCS = $(RUNTIME) ../mcs/mcs.exe
-MCS_FLAGS = /target:exe $(MCS_DEFINES)
-INSTALL = /usr/bin/install
-prefix = /usr
-
-SOURCES=monoresgen.cs
-
-all: monoresgen.exe
-
-monoresgen.exe: $(SOURCES)
- $(MCS) $(MCS_FLAGS) -o $@ $(SOURCES)
-
-install: all
- mkdir -p $(prefix)/bin/
- $(INSTALL) -m 755 monoresgen.exe $(prefix)/bin/
-
-test:
-
-clean:
- rm -f monoresgen.exe
diff --git a/mcs/nant/makefile b/mcs/nant/makefile
deleted file mode 100755
index 98153d3e2b9..00000000000
--- a/mcs/nant/makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-all: nant.exe
-linux: nant.exe
- -cp NAnt.exe nant.exe
-windows: nant.exe
-
-nant.exe: NAnt.exe
-
-NAnt.exe: makefile src/*.cs src/Attributes/*.cs src/Tasks/*.cs src/Util/*.cs
- csc /out:NAnt.exe /recurse:*.cs
-
-NAnt_mono.exe: makefile
- csc /out:NAnt_mono.exe /nostdlib /noconfig /recurse:*.cs /lib:../class/lib /r:corlib.dll /r:System.Xml.dll /r:System.dll /nowarn:1595
-
-clean:
- rm -f NAnt_mono.exe
diff --git a/mcs/nant/makefile.gnu b/mcs/nant/makefile.gnu
deleted file mode 100755
index 54681187b14..00000000000
--- a/mcs/nant/makefile.gnu
+++ /dev/null
@@ -1,19 +0,0 @@
-topdir=..
-MCS = ../mcs/mcs.exe
-MCS_FLAGS = /target:exe $(MCS_DEFINES)
-INSTALL = /usr/bin/install
-prefix = /usr
-RUNTIME=mono
-MONO_PATH_PREFIX=$(topdir)/class/lib:
-
-all: nant.exe
-
-nant.exe: makefile.gnu src/*.cs src/Attributes/*.cs src/Tasks/*.cs src/Util/*.cs
- MONO_PATH=$(MONO_PATH_PREFIX)$(MONO_PATH) $(RUNTIME) $(MCS) $(MCSFLAGS) /out:nant.exe /recurse:*.cs
-
-install: all
- mkdir -p $(prefix)/bin/
- $(INSTALL) -m 755 nant.exe $(prefix)/bin/
-
-clean:
- rm -f nant.exe
diff --git a/mcs/nunit20/Makefile b/mcs/nunit20/Makefile
new file mode 100644
index 00000000000..c6e6806f66e
--- /dev/null
+++ b/mcs/nunit20/Makefile
@@ -0,0 +1,10 @@
+thisdir = nunit20
+SUBDIRS = framework util nunit-console
+include ../build/rules.make
+
+DISTFILES = license.rtf nunit-console.sln nunit-console.suo README
+
+all-local install-local test-local run-test-local clean-local:
+
+dist-local: dist-default
+
diff --git a/mcs/nunit20/framework/Makefile b/mcs/nunit20/framework/Makefile
new file mode 100644
index 00000000000..2b040cef13d
--- /dev/null
+++ b/mcs/nunit20/framework/Makefile
@@ -0,0 +1,19 @@
+thisdir = nunit20/framework
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = NUnit.Framework.dll
+LIB_MCS_FLAGS = \
+ /resource:Transform.resources,NUnit.Framework.Transform.resources \
+ /r:System.Xml.dll /r:System.dll
+NO_TEST = yo
+
+EXTRA_DISTFILES = \
+ Transform.resources \
+ Transform.resx \
+ nunit.framework.dll.csproj \
+ Results.xsd \
+ Results.xsx \
+ Summary.xslt
+
+include ../../build/library.make
diff --git a/mcs/nunit20/framework/makefile.gnu b/mcs/nunit20/framework/makefile.gnu
deleted file mode 100755
index b08104c17d6..00000000000
--- a/mcs/nunit20/framework/makefile.gnu
+++ /dev/null
@@ -1,22 +0,0 @@
-#
-# Makefile for NUnit.Framework.dll
-#
-# Authors:
-# Jackson Harper (Jackson@LatitudeGeo.com)
-# Gonzalo Paniagua Javier (gonzalo@ximian.com)
-#
-
-topdir = ../..
-LIBRARY= $(topdir)/class/lib/NUnit.Framework.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS = /resource:Transform.resources,NUnit.Framework.Transform.resources \
- /r:System.Xml.dll \
- /r:System.dll
-
-SOURCES_INCLUDE=*.cs
-
-export MONO_PATH = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
-
diff --git a/mcs/nunit20/makefile b/mcs/nunit20/makefile
deleted file mode 100755
index ba70bb94770..00000000000
--- a/mcs/nunit20/makefile
+++ /dev/null
@@ -1,14 +0,0 @@
-NANT = ../nant/NAnt.exe
-
-all: build
-
-linux: build
-
-windows: build
-
-build:
- $(NANT) build
-
-clean:
- $(NANT) clean
-
diff --git a/mcs/nunit20/makefile.gnu b/mcs/nunit20/makefile.gnu
deleted file mode 100755
index 64393a90c22..00000000000
--- a/mcs/nunit20/makefile.gnu
+++ /dev/null
@@ -1,13 +0,0 @@
-DIRS=framework util nunit-console
-
-default: all
-
-all install clean:
- @for i in $(DIRS) ; do \
- if [ -d "$$i" ] && [ -f "$$i/makefile.gnu" ] ; then \
- $(MAKE) -C $$i -f makefile.gnu $@ || exit 1; \
- fi \
- done
-
-test:
-
diff --git a/mcs/nunit20/nunit-console/Makefile b/mcs/nunit20/nunit-console/Makefile
new file mode 100644
index 00000000000..d92fb586aa2
--- /dev/null
+++ b/mcs/nunit20/nunit-console/Makefile
@@ -0,0 +1,9 @@
+thisdir = nunit20/nunit-console
+SUBDIRS =
+include ../../build/rules.make
+
+PROGRAM = nunit-console.exe
+LOCAL_MCS_FLAGS = /r:NUnit.Framework.dll /r:NUnit.Util.dll
+DISTFILES = app.config App.ico nunit-console.csproj
+
+include ../../build/executable.make
diff --git a/mcs/nunit20/nunit-console/makefile.gnu b/mcs/nunit20/nunit-console/makefile.gnu
deleted file mode 100755
index 6e0c196ad13..00000000000
--- a/mcs/nunit20/nunit-console/makefile.gnu
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Makefile for nunit-console.exe
-#
-# Authors:
-# Jackson Harper (Jackson@LatitudeGeo.com)
-# Gonzalo Paniagua Javier (gonzalo@ximian.com)
-#
-
-topdir = ../..
-PROGRAM = ../nunit-console.exe
-
-PROGRAM_LIST = list.unix
-PROGRAM_FLAGS = /r:NUnit.Framework.dll \
- /r:NUnit.Util.dll
-
-MONO_PATH_PREFIX=$(topdir)/class/lib:
-
-include $(topdir)/class/executable.make
-
diff --git a/mcs/nunit20/nunit.build b/mcs/nunit20/nunit.build
deleted file mode 100755
index 94e22b25e1b..00000000000
--- a/mcs/nunit20/nunit.build
+++ /dev/null
@@ -1,47 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for NUnit2 -->
-
-<project name="NUnit" default="build">
- <property name="debug" value="true"/>
-
- <target name="build">
- <csc target="library" output="NUnit.Framework.dll" debug="${debug}">
- <sources basedir="framework">
- <includes name="*.cs"/>
- </sources>
- <arg value="/resource:framework/Transform.resources,NUnit.Framework.Transform.resources"/>
- <arg value="/d:StronglyNamedAssembly=false"/>
- </csc>
-
- <csc target="library" output="NUnit.Util.dll" debug="${debug}">
- <sources basedir="util">
- <includes name="CommandLineOptions.cs"/>
- <includes name="ConsoleOptions.cs"/>
- </sources>
- <references>
- <includes name="NUnit.Framework.dll"/>
- </references>
- </csc>
-
- <csc target="exe" output="nunit-console.exe" debug="${debug}">
- <sources basedir="nunit-console">
- <includes name="*.cs"/>
- </sources>
- <references>
- <includes name="NUnit.Framework.dll"/>
- <includes name="NUnit.Util.dll"/>
- </references>
- </csc>
- </target>
-
- <target name="clean">
- <delete file="NUnit.Framework.dll" failonerror="false"/>
- <delete file="NUnit.Framework.pdb" failonerror="false"/>
- <delete file="NUnit.Util.dll" failonerror="false"/>
- <delete file="NUnit.Util.pdb" failonerror="false"/>
- <delete file="nunit-console.exe" failonerror="false"/>
- <delete file="nunit-console.pdb" failonerror="false"/>
- </target>
-
-</project>
diff --git a/mcs/nunit20/util/Makefile b/mcs/nunit20/util/Makefile
new file mode 100644
index 00000000000..e319123c301
--- /dev/null
+++ b/mcs/nunit20/util/Makefile
@@ -0,0 +1,10 @@
+thisdir = nunit20/util
+SUBDIRS =
+include ../../build/rules.make
+
+LIBRARY = NUnit.Util.dll
+NO_TEST = yo
+
+EXTRA_DISTFILES = nunit.util.dll.csproj
+
+include ../../build/library.make
diff --git a/mcs/nunit20/util/makefile.gnu b/mcs/nunit20/util/makefile.gnu
deleted file mode 100755
index 60e88e42dc2..00000000000
--- a/mcs/nunit20/util/makefile.gnu
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Makefile for NUnit.Util.dll
-#
-# Authors:
-# Jackson Harper (Jackson@LatitudeGeo.com)
-# Gonzalo Paniagua Javier (gonzalo@ximian.com)
-#
-
-topdir = ../..
-LIBRARY = $(topdir)/class/lib/NUnit.Util.dll
-
-LIB_LIST = list.unix
-LIB_FLAGS =
-
-SOURCES_INCLUDE=*.cs
-
-export MONO_PATH = $(topdir)/class/lib:
-
-include $(topdir)/class/library.make
-
diff --git a/mcs/tests/Makefile b/mcs/tests/Makefile
new file mode 100644
index 00000000000..3bf91b41380
--- /dev/null
+++ b/mcs/tests/Makefile
@@ -0,0 +1,127 @@
+thisdir = tests
+SUBDIRS =
+include ../build/rules.make
+
+DISTFILES = README.tests $(wildcard *.cs)
+
+# We don't want debugging info :-)
+
+USE_MCS_FLAGS :=
+
+#
+# If you add any tests here, please do also add them to README.Tests !
+#
+
+TEST_SOURCES = \
+ test-1 test-2 test-3 test-4 test-5 test-6 test-7 test-8 test-9 test-10 \
+ test-11 test-12 test-13 test-14 test-15 test-16 test-17 test-18 test-19 test-20 \
+ test-21 test-22 test-23 test-24 test-25 test-26 test-27 test-28 test-29 test-30 \
+ test-31 test-32 test-33 test-34 test-35 test-36 test-37 test-38 test-39 test-40 \
+ test-41 test-42 test-43 test-44 test-46 test-47 test-48 test-49 \
+ test-51 test-52 test-54 test-55 test-56 test-57 test-59 test-60 \
+ test-61 test-62 test-63 test-64 test-65 test-66 test-68 test-69 test-70 \
+ test-71 test-72 test-73 test-74 test-75 test-76 test-77 test-78 test-79 test-80 \
+ test-81 test-82 test-83 test-84 test-85 test-86 test-87 test-88 test-89 test-90 \
+ test-92 test-93 test-94 test-95 test-96 test-97 test-98 test-99 test-100\
+ test-101 test-102 test-103 test-104 test-105 test-108 test-109 test-110\
+ test-111 test-112 test-113 test-114 test-115 test-116 test-117 test-118 test-119 \
+ test-121 test-123 test-125 test-126 test-127 test-128 test-129 test-130 \
+ test-131 test-134 test-135 test-136 test-137 test-138 test-139 test-140 \
+ test-141 test-142 test-143 test-144 test-145 test-146 test-147 test-148 test-149 test-150 \
+ test-153 test-154 test-155 test-156 test-157 test-158 test-159 test-160 \
+ test-161 test-162 test-163 test-164 test-165 test-166 test-167 test-168 test-169 test-170 \
+ test-172 test-173 test-174 test-175 test-176 test-177 test-179 test-180 \
+ test-181 test-182 test-183 test-184 test-185 test-186 test-187 test-188 test-190 \
+ test-191 test-192 test-193 test-194 test-195 test-197 test-198 test-199
+
+#
+# NOTE: Slot test-178 is free, turns out it was an unsafe test.
+#
+
+UNSAFE_SOURCES = \
+ unsafe-1 unsafe-2 unsafe-3 test-58 test-171 unsafe-5 unsafe-6
+
+WINDOWS_SOURCES = \
+ test-50 test-67
+
+# A test is a 'no pass' if it fails on either windows or linux
+# Test 120 does not pass because the MS.NET runtime is buggy.
+
+TEST_NOPASS = \
+ test-45 test-53 test-91 test-106 test-107 test-120 test-122 test-132 test-133 test-66 test-177
+
+all-local install-local:
+
+# casts
+
+bootstrap-cast.exe: gen-cast-test.cs
+ $(BOOT_COMPILE) /target:exe /out:$@ $<
+
+casts.cs: bootstrap-cast.exe
+ $(RUNTIME) $< >$@
+
+casts-mcs.exe: casts.cs
+ $(CSCOMPILE) /target:exe /out:$@ $<
+
+casts-boot.exe: casts.cs
+ $(BOOT_COMPILE) /target:exe /out:$@ $<
+
+boot-casts.out: casts-boot.exe
+ $(RUNTIME) $< >$@
+
+mcs-casts.out: casts-mcs.exe
+ $(RUNTIME) $< >$@
+
+test-casts: boot-casts.out mcs-casts.out
+ cmp $^
+
+# compilation is part of the testing too, so we don't actually
+# do anything in test-local.
+
+test-local:
+
+run-test-local: test-compiler test-unsafe test-jit test-casts
+
+clean-local:
+ rm -f *.exe *.out casts.cs
+
+dist-local: dist-default
+
+test-compiler:
+ @rm -f *.exe ; \
+ for i in $(TEST_SOURCES) ; do \
+ echo -n "Trying to compile $$i.cs ... " ; \
+ if $(CSCOMPILE) $$i.cs >/dev/null ; then \
+ echo OK ; \
+ else \
+ echo FAILED ; \
+ fi ; \
+ done
+
+test-unsafe:
+ for i in $(UNSAFE_SOURCES) ; do \
+ echo -n "Trying to compile unsafe $$i.cs ... " ; \
+ if $(CSCOMPILE) /unsafe $$i.cs >/dev/null ; then \
+ echo OK ; \
+ else \
+ echo FAILED ; \
+ fi ; \
+ done
+
+
+test-jit:
+ @for i in $(TEST_SOURCES) $(UNSAFE_SOURCES) ; do \
+ echo -n "Running $$i.exe with \"$(TEST_RUNTIME)\" ... " ; \
+ if $(TEST_RUNTIME) ./$$i.exe >/dev/null ; then \
+ echo OK ; \
+ else \
+ echo FAILED ; \
+ fi ; \
+ done
+
+# I don't know what this is!
+
+multi:
+ $(CSCOMPILE) /target:library dll-1.cs
+ $(CSCOMPILE) /r:dll-1.dll prog-1.cs /out:prog-1.exe
+ $(TEST_RUNTIME) prog-1.exe
diff --git a/mcs/tests/makefile b/mcs/tests/makefile
deleted file mode 100755
index 4e83312ab28..00000000000
--- a/mcs/tests/makefile
+++ /dev/null
@@ -1,205 +0,0 @@
-#
-# You can change "RUNTIME" to control what runtime to use
-# ie, make vs make RUNTIME=mono
-#
-CSC=csc.exe
-
-MCS=../mcs/mcs.exe
-MCS2=mono ../mcs/mcs.exe
-VERIFY=../tools/verifier.exe
-
-##
-## If you add any tests here, please do also add them to README.Tests !
-##
-
-TEST_SOURCES = \
- test-1 test-2 test-3 test-4 test-5 test-6 test-7 test-8 test-9 test-10 \
- test-11 test-12 test-13 test-14 test-15 test-16 test-17 test-18 test-19 test-20 \
- test-21 test-22 test-23 test-24 test-25 test-26 test-27 test-29 test-30 \
- test-31 test-32 test-33 test-34 test-35 test-36 test-37 test-38 test-39 test-40 \
- test-41 test-42 test-43 test-44 test-46 test-47 test-48 test-49 \
- test-51 test-52 test-54 test-55 test-56 test-57 test-59 test-60 \
- test-61 test-62 test-63 test-64 test-65 test-66 test-68 test-69 test-70 \
- test-71 test-72 test-73 test-74 test-75 test-76 test-77 test-78 test-79 test-80 \
- test-81 test-82 test-83 test-84 test-85 test-86 test-87 test-88 test-89 test-90 \
- test-92 test-93 test-94 test-95 test-96 test-97 test-98 test-99 test-100\
- test-101 test-102 test-103 test-104 test-105 test-108 test-109 test-110\
- test-111 test-112 test-113 test-114 test-115 test-116 test-117 test-118 test-119 \
- test-121 test-123 test-125 test-126 test-127 test-128 test-129 test-130 \
- test-131 test-134 test-135 test-136 test-137 test-138 test-139 test-140 \
- test-141 test-142 test-143 test-144 test-145 test-146 test-147 test-148 test-149 test-150 \
- test-153 test-154 test-155 test-156 test-157 test-158 test-159 test-160 \
- test-161 test-162 test-163 test-164 test-165 test-166 test-167 test-168 test-169 test-170 \
- test-172 test-173 test-174 test-175 test-176 test-177 test-178 test-179 test-180 \
- test-181 test-182 test-183 test-184 test-185 test-186 test-187 test-188 test-190 \
- test-191 test-192 test-193 test-194 test-195 test-197 test-198 test-199 test-200 \
- test-201 test-202
-
-
-DLL_SOURCES = \
- dll-1
-
-#
-# NOTE: Slot test-178 is free, turns out it was an unsafe test.
-#
-#
-UNSAFE_SOURCES = \
- unsafe-1 unsafe-2 unsafe-3 test-58 test-171 unsafe-5 unsafe-6
-
-WINDOWS_SOURCES = \
- test-50 test-67
-
-# A test is a 'no pass' if it fails on either windows or linux
-# Test 120 does not pass because the MS.NET runtime is buggy.
-TEST_NOPASS = \
- test-45 test-53 test-91 test-106 test-107 test-120 test-122 test-132 test-133 test-66 test-177
-
-all:
- if test x$(OS) = xWindows_NT; then make all-windows; else make all-linux; fi
-
-all-windows: test-compiler test-unsafe test-windows
-
-all-linux: test-compiler-mono test-unsafe-mono
-
-# Compile with mono, run with MS jit
-test-compiler:
- @rm -f *.exe; \
- for i in $(TEST_SOURCES); do \
- echo -n "Running $$i ... "; \
- if $(MCS) $$i.cs > /dev/null; then \
- if $(RUNTIME) ./$$i.exe > /dev/null; then \
- echo $$i: ok; \
- else \
- echo FAILED; \
- fi; \
- else \
- echo FAILED TO COMPILE; exit 1; \
- fi \
- done
-
-# Compile with mono, run with MS jit
-test-unsafe:
- @for i in $(UNSAFE_SOURCES); do \
- echo -n "Running (unsafe) $$i ... "; \
- if $(MCS) --unsafe $$i.cs > /dev/null; then \
- if $(RUNTIME) ./$$i.exe > /dev/null; then \
- echo OK; \
- else \
- echo FAILED; exit 1; \
- fi; \
- else \
- echo FAILED WHILE COMPILING; exit 1; \
- fi \
- done
-
-# Compiled (previously) with mono, run with mono jit
-test-jit:
- @for i in $(TEST_SOURCES:.cs=.exe); do \
- echo -n "Running jit $$i ... "; \
- if $(RUNTIME) ./$$i.exe > /dev/null; then \
- echo OK; \
- else \
- echo FAILED; \
- fi \
- done
-
-# Compiled with mono, run with MS jit
-test-windows:
- @echo Running windows-only tests - these will fail on linux; \
- for i in $(WINDOWS_SOURCES); do \
- echo -n "Running $$i ... "; \
- if $(MCS) $$i.cs > /dev/null; then \
- if ./$$i.exe > /dev/null; then \
- echo OK; \
- else \
- echo FAILED; exit 1; \
- fi; \
- else \
- echo FAILED TO COMPILE; exit 1; \
- fi \
- done
-
-# Compile with mono, run with mono jit
-test-compiler-mono: multi
- @rm -f *.exe; \
- for i in $(TEST_SOURCES); do \
- echo -n "Running $$i ... "; \
- if $(MCS2) $$i.cs > /dev/null; then \
- if mono ./$$i.exe > /dev/null; then \
- echo OK; \
- else \
- echo FAILED; exit 1; \
- fi; \
- else \
- echo FAILED TO COMPILE; exit 1; \
- fi \
- done
- echo "Running NO_PASS tests ..."
- for i in $(TEST_NOPASS); do \
- echo -n "Running $$i ... "; \
- if $(MCS2) $$i.cs > /dev/null; then \
- echo OK; \
- else \
- echo FAILED TO COMPILE; exit 1; \
- fi \
- done
-
-# Compile with mono, run with mono jit
-test-unsafe-mono:
- @rm -f *.exe; \
- for i in $(UNSAFE_SOURCES); do \
- echo -n "Running $$i ... "; \
- if $(MCS2) --unsafe $$i.cs > /dev/null; then \
- if mono ./$$i.exe > /dev/null; then \
- echo OK; \
- else \
- echo FAILED; exit 1; \
- fi; \
- else \
- echo FAILED TO COMPILE; exit 1; \
- fi \
- done
-
-verify:
- @for i in $(TEST_SOURCES); do \
- if $(MCS) -o mcs-gen-code.exe $$i.cs > /dev/null; then \
- if $(CSC) /out:csc-gen-code.exe $$i.cs > /dev/null; then \
- if $(VERIFY) mcs-gen-code.exe csc-gen-code.exe > /dev/null; then \
- echo $$i: identical assemblies; \
- else \
- echo $$i: unidentical assemblies; exit; \
- fi; \
- fi \
- fi \
- done; \
- echo Verification passed
-
-
-casts.cs: gen-cast-test.cs
- $(CSC) /out:csc-cast.exe gen-cast-test.cs
- ./csc-cast > casts.cs
-
-casts-csc.exe: casts.cs
- $(CSC) /out:casts-csc.exe casts.cs
-
-casts.exe: casts.cs
- $(MCS) casts.cs
-
-csc-casts.out: casts-csc.exe
- ./casts-csc.exe > csc-casts.out
-
-msc-casts.out: casts.exe
- ./casts.exe > msc-casts.out
-
-test-casts: csc-casts.out msc-casts.out
- cmp csc-casts.out msc-casts.out
-
-clean:
- rm *.exe
- rm *.out
- rm casts.cs
-
-multi:
- $(MCS2) -target:library dll-1.cs
- $(MCS2) -r:dll-1.dll prog-1.cs -out:prog-1.exe
- mono ./prog-1.exe
diff --git a/mcs/tools/Makefile b/mcs/tools/Makefile
new file mode 100644
index 00000000000..73b8e2ca5ae
--- /dev/null
+++ b/mcs/tools/Makefile
@@ -0,0 +1,53 @@
+thisdir = tools
+SUBDIRS = cilc corcompare ictool mono-xsd security SqlSharp
+include ../build/rules.make
+
+MONO_TOOLS = \
+ monostyle.exe \
+ GenerateDelegate.exe \
+ EnumCheck.exe \
+ IFaceDisco.exe
+
+DISTFILES = \
+ assemblies.xml \
+ DumpCultureInfo.cs \
+ EnumCheckAssemblyCollection.cs \
+ EnumCheck.cs \
+ GenerateDelegate.cs \
+ IFaceDisco.cs \
+ monostyle.cs \
+ mono-win32-setup-dark.bmp \
+ mono-win32-setup-light.bmp \
+ mono-win32-setup.nsi \
+ sample_cast_const.cs \
+ scan-tests.pl \
+ serialize.cs \
+ verifier.cs \
+ XMLUtil.cs \
+ tinderbox/smtp.c \
+ tinderbox/tinderbox.sh
+
+all-local: $(MONO_TOOLS)
+
+install-local: all-local
+ $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/bin
+ for t in $(MONO_TOOLS) ; do \
+ $(INSTALL_BIN) $$t $(DESTDIR)$(prefix)/bin ; \
+ done
+
+test-local run-test-local:
+
+clean-local:
+ rm -f *.exe *.dll cormissing.xml
+
+dist-local: dist-default
+
+%.exe: %.cs
+ $(CSCOMPILE) /target:exe /out:$@ $^
+
+EnumCheck.exe: EnumCheck.cs EnumCheckAssemblyCollection.cs
+ $(CSCOMPILE) /target:exe /out:$@ $^
+
+IFaceDisco.exe: IFaceDisco.cs XMLUtil.cs
+ $(CSCOMPILE) /target:exe /out:$@ $^
+
diff --git a/mcs/tools/SqlSharp/Makefile b/mcs/tools/SqlSharp/Makefile
index 983ad5c4a12..17c75afb80d 100644
--- a/mcs/tools/SqlSharp/Makefile
+++ b/mcs/tools/SqlSharp/Makefile
@@ -1,46 +1,17 @@
-RUNTIME=mono
-CSC = $(RUNTIME) ../../mcs/mcs.exe
-
-CSCFLAGS = /out:$(PROGRAM) \
- /noconfig \
- /r:../../class/lib/System.dll \
- /r:../../class/lib/System.Xml.dll \
- /r:../../class/lib/System.Data.dll \
- /debug+ /debug:full
-# CSCFLAGS = /out:$(PROGRAM) \
-# /noconfig \
-# /r:../../class/lib/System.dll \
-# /r:../../class/lib/System.Xml.dll \
-# /r:../../class/lib/System.Data.dll \
-
+thisdir = tools/SqlSharp
+SUBDIRS =
+include ../../build/rules.make
+LOCAL_MCS_FLAGS = /r:System.dll /r:System.Xml.dll /r:System.Data.dll
PROGRAM = sqlsharp.exe
+EXTRA_DISTFILES = README
+HAS_TEST = yes
+include ../../build/executable.make
-MONO = mono
-
-PROGRAM_FILES = \
- SqlSharpCli.cs
-
-all: $(PROGRAM)
-
-$(PROGRAM) : $(PROGRAM_FILES)
- $(CSC) $(CSCFLAGS) $(PROGRAM_FILES)
-
-test-run : $(PROGRAM)
- $(MONO) $(PROGRAM) -A $(PROGRAM) $(ARGS)
-
-run : $(PROGRAM)
- $(MONO) $(PROGRAM) $(ARGS)
-
-windows:
- NAnt -buildfile:SqlSharpCli.build
-
-linux:
- mcs @unix.args
-
-clean:
- rm -f *.exe *.pdb *.dbg *.dll *~
+test-local: $(PROGRAM)
-linecount:
- wc -l $(PROGRAM_FILES)
+run-test-local: $(PROGRAM)
+ $(TEST_RUNTIME) $(PROGRAM) -A $(PROGRAM) $(ARGS)
+run: $(PROGRAM)
+ $(RUNTIME) $(PROGRAM) $(ARGS)
diff --git a/mcs/tools/SqlSharp/SqlSharpCli.build b/mcs/tools/SqlSharp/SqlSharpCli.build
deleted file mode 100644
index 204fa282d7f..00000000000
--- a/mcs/tools/SqlSharp/SqlSharpCli.build
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<project name="type-reflector" default="linux">
- <target name="linux">
- <csc target="exe" output="./sqlsharp.exe" debug="true">
- <arg value="/noconfig"/>
- <arg value="/r:../../class/lib/System.dll"/>
- <arg value="/r:../../class/lib/System.Xml.dll"/>
- <arg value="/r:../../class/lib/System.Data.dll"/>
-
- <sources>
- <includes name="SqlSharpCli.cs" />
- </sources>
- </csc>
- </target>
- <target name="clean">
- <delete file="SqlSharpCli.exe" failonerror="false"/>
- </target>
-</project>
-
diff --git a/mcs/tools/SqlSharp/gui/gtk-sharp/makefile.gnu b/mcs/tools/SqlSharp/gui/gtk-sharp/makefile.gnu
deleted file mode 100755
index 5c1e7ac6c70..00000000000
--- a/mcs/tools/SqlSharp/gui/gtk-sharp/makefile.gnu
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Makefile for Linux to build SqlSharpGtk for Mono
-#
-# Author:
-# Daniel Morgan <danmorg@sc.rr.com>
-#
-# (c)copyright 2002 Daniel Morgan
-#
-
-PROJECT = sqlsharpgtk.exe
-
-CSC = mcs
-
-GTK_SHARP_LIBS = -r glib-sharp.dll -r pango-sharp.dll -r atk-sharp.dll -r gtk-sharp.dll -r gdk-sharp -r System.Drawing.dll
-SQLSHARP_GTK_LIBS = $(GTK_SHARP_LIBS) -r System.Data.dll
-
-SOURCES = sqlsharpgtk.cs SqlEditorSharp.cs LoginDialog.cs DbProvider.cs DbProviderCollection.cs DataGrid.cs FileSelectionDialog.cs SqlSharpDataAdapter.cs
-
-all : $(PROJECT)
-
-$(PROJECT) : $(SOURCES)
- $(CSC) -o $(PROJECT) $(SOURCES) -lib:$(MONO_PATH) $(SQLSHARP_GTK_LIBS)
-
-clean:
- rm *.exe
-
diff --git a/mcs/tools/cilc/Makefile b/mcs/tools/cilc/Makefile
index e6c1d4e687b..87950e7b73c 100644
--- a/mcs/tools/cilc/Makefile
+++ b/mcs/tools/cilc/Makefile
@@ -1,22 +1,28 @@
-RUNTIME=mono
-CSC = $(RUNTIME) ../../mcs/mcs.exe
-CSCFLAGS=/nologo /debug+ /debug:full /out:$@
+thisdir = tools/cilc
+SUBDIRS =
+include ../../build/rules.make
-all: cilc.exe
+PROGRAM = cilc.exe
-test: cilc.exe Test.dll
+# fixme: make clean doesn't know to rm -rf generated.
+# and we can't extend the make clean target.
+
+HAS_TEST = yes
+CLEAN_FILES = generated Test.dll
+
+EXTRA_DISTFILES = demo.c README TODO Test.cs
+
+include ../../build/executable.make
+
+test-local: cilc.exe Test.dll
+
+run-test-local: cilc.exe Test.dll
rm -rf generated
mkdir generated
- mono cilc.exe Test.dll generated
+ $(RUNTIME) cilc.exe Test.dll generated
$(MAKE) -C generated
- gcc -Wall `pkg-config --cflags --libs glib-2.0 mono` -Igenerated -Lgenerated -ldemo demo.c -o generated/demo
+ $(CCOMPILE) -Wall `pkg-config --cflags --libs glib-2.0 mono` -Igenerated -Lgenerated -ldemo demo.c -o generated/demo
cp Test.dll generated
-cilc.exe: cilc.cs
- $(CSC) $(CSCFLAGS) cilc.cs
-
Test.dll: Test.cs
- mcs /out:Test.dll --target library Test.cs
-
-clean:
- rm -rf generated cilc.exe Test.dll
+ $(CSCOMPILE) /target:library /out:$@ $^
diff --git a/mcs/tools/corcompare/Makefile b/mcs/tools/corcompare/Makefile
index cd04b6f901a..30533c1d242 100644
--- a/mcs/tools/corcompare/Makefile
+++ b/mcs/tools/corcompare/Makefile
@@ -1,13 +1,8 @@
-NANT = ../../nant/NAnt.exe
+thisdir = tools/corcompare
+SUBDIRS =
+include ../../build/rules.make
-all: linux
+PROGRAM = CorCompare.exe
+EXTRA_DISTFILES = cormissing.xsl TODO transform.js
-windows: linux
-
-linux: CorCompare.exe
-
-CorCompare.exe: *.cs
- $(NANT) linux
-
-clean:
- rm -f *.exe *.pdb *.dll
+include ../../build/executable.make
diff --git a/mcs/tools/corcompare/corcompare.build b/mcs/tools/corcompare/corcompare.build
deleted file mode 100644
index 111cd018363..00000000000
--- a/mcs/tools/corcompare/corcompare.build
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<project name="CorCompare" default="linux">
- <target name="linux">
- <csc target="exe" output="./CorCompare.exe" debug="true">
- <sources>
- <includes name="*.cs" />
- </sources>
- </csc>
- </target>
-
-</project>
diff --git a/mcs/tools/ictool/Makefile b/mcs/tools/ictool/Makefile
index 27fae41ae61..dd9b37d9086 100644
--- a/mcs/tools/ictool/Makefile
+++ b/mcs/tools/ictool/Makefile
@@ -1,10 +1,8 @@
-CSC=csc.exe
-CSCFLAGS=/nologo /debug+ /debug:full
+thisdir = tools/ictool
+SUBDIRS =
+include ../../build/rules.make
-all: ictool.exe
+PROGRAM = ictool.exe
+EXTRA_DISTFILES = ictool-config.xml
-ictool.exe: ictool.cs depgraph.cs peer.cs
- $(CSC) $(CSCFLAGS) /out:ictool.exe ictool.cs depgraph.cs peer.cs
-
-clean:
- rm -f *.exe *.pdb *.dll
+include ../../build/executable.make
diff --git a/mcs/tools/makefile b/mcs/tools/makefile
deleted file mode 100644
index 5b3db1c16f9..00000000000
--- a/mcs/tools/makefile
+++ /dev/null
@@ -1,56 +0,0 @@
-CSC=csc.exe
-CSCRIPT=$(WINDIR)/system32/cscript.exe
-CSCFLAGS=/nologo /debug+ /debug:full
-
-windows: linux
-
-linux: monostyle.exe verifier.exe GenerateDelegate.exe EnumCheck.exe IFaceDisco.exe ./corcompare/CorCompare.exe ./SqlSharp/sqlsharp.exe ./security/secutil.exe ./cilc/cilc.exe
-#linux: verifier.exe GenerateDelegate.exe EnumCheck.exe IFaceDisco.exe ./corcompare/CorCompare.exe update
-
-monostyle.exe: monostyle.cs
- $(CSC) $(CSCFLAGS) monostyle.cs
-
-GenerateDelegate.exe: GenerateDelegate.cs
- $(CSC) $(CSCFLAGS) /out:$@ $<
-
-verifier.exe: verifier.cs
- $(CSC) $(CSCFLAGS) verifier.cs
-
-./SqlSharp/sqlsharp.exe: dummy
- (cd SqlSharp; make CSC=$(CSC))
-
-./corcompare/CorCompare.exe: dummy
- (cd corcompare; make CorCompare.exe)
-
-update: ../../mono/doc/pending-classes
-
-cormissing.xml: ./corcompare/CorCompare.exe ../class/lib/corlib_cmp.dll
- ./corcompare/CorCompare.exe -x cormissing.xml -f corlib -ms mscorlib ../class/lib/corlib_cmp.dll
-
-../../mono/doc/pending-classes: ./corcompare/cormissing.xsl cormissing.xml
- $(CSCRIPT) /nologo ./corcompare/transform.js cormissing.xml ./corcompare/cormissing.xsl > ../../mono/doc/pending-classes
-
-
-EnumCheck: EnumCheck.exe
-
-EnumCheck.exe: EnumCheck.cs EnumCheckAssemblyCollection.cs
- $(CSC) $(CSCFLAGS) /out:EnumCheck.exe EnumCheck.cs EnumCheckAssemblyCollection.cs
-
-IFaceDisco.exe: IFaceDisco.cs XMLUtil.cs
- $(CSC) $(CSCFLAGS) /out:IFaceDisco.exe IFaceDisco.cs XMLUtil.cs
-
-./security/secutil.exe: dummy
- (cd security; make CSC=$(CSC))
-
-./cilc/cilc.exe: dummy
- (cd cilc; make CSC=$(CSC))
-
-clean:
- (cd corcompare; make clean)
- (cd SqlSharp; make clean)
- (cd security; make clean)
- rm -f *.exe *.pdb *.dbg *.dll
- rm -f cormissing.xml
- rm -f ../../mono/doc/pending-classes.in
-
-dummy:
diff --git a/mcs/tools/makefile.gnu b/mcs/tools/makefile.gnu
deleted file mode 100644
index f93f3c7c528..00000000000
--- a/mcs/tools/makefile.gnu
+++ /dev/null
@@ -1,81 +0,0 @@
-RUNTIME=mono
-CSC= $(RUNTIME) ../mcs/mcs.exe
-CSCRIPT=$(WINDIR)/system32/cscript.exe
-CSCFLAGS=/nologo /debug+ /debug:full
-INSTALL = /usr/bin/install
-
-MONO_TOOLS = monostyle.exe GenerateDelegate.exe EnumCheck.exe IFaceDisco.exe ./SqlSharp/sqlsharp.exe ./security/secutil.exe ./cilc/cilc.exe
-
-DIRS =
-
-# tools commented here because they were unable to build under linux
-#MONO_TOOLS = monostyle.exe verifier.exe GenerateDelegate.exe EnumCheck.exe IFaceDisco.exe ./type-reflector/type-reflector.exe ./corcompare/CorCompare.exe ./SqlSharp/SqlSharpCli.exe
-
-all: tools
-
-linux: $(MONO_TOOLS)
-
-tools: $(MONO_TOOLS)
-
-windows: $(MONO_TOOLS)
-
-install: all
- if test x$$prefix = x; then \
- echo Usage is: make -f makefile.gnu install prefix=YOURPREFIX; \
- exit 1; \
- fi;
- mkdir -p $(prefix)/bin/
- for i in $(MONO_TOOLS) ; do \
- ($(INSTALL) -m 755 $$i $(prefix)/bin/) || exit 1; \
- done
-
-monostyle.exe: monostyle.cs
- $(CSC) $(CSCFLAGS) monostyle.cs
-
-GenerateDelegate.exe: GenerateDelegate.cs
- $(CSC) $(CSCFLAGS) /out:$@ $<
-
-verifier.exe: verifier.cs
- $(CSC) $(CSCFLAGS) verifier.cs
-
-./SqlSharp/sqlsharp.exe: dummy
- (cd SqlSharp; make)
-
-./corcompare/CorCompare.exe: dummy
- (cd corcompare; make CorCompare.exe)
-
-update: ../../mono/doc/pending-classes
-
-cormissing.xml: ./corcompare/CorCompare.exe ../class/lib/corlib_cmp.dll
- ./corcompare/CorCompare.exe -x cormissing.xml -f corlib -ms mscorlib ../class/lib/corlib_cmp.dll
-
-../../mono/doc/pending-classes: ./corcompare/cormissing.xsl cormissing.xml
- $(CSCRIPT) /nologo ./corcompare/transform.js cormissing.xml ./corcompare/cormissing.xsl > ../../mono/doc/pending-classes
-
-
-EnumCheck: EnumCheck.exe
-
-EnumCheck.exe: EnumCheck.cs EnumCheckAssemblyCollection.cs
- $(CSC) $(CSCFLAGS) /out:EnumCheck.exe EnumCheck.cs EnumCheckAssemblyCollection.cs
-
-IFaceDisco.exe: IFaceDisco.cs XMLUtil.cs
- $(CSC) $(CSCFLAGS) /out:IFaceDisco.exe IFaceDisco.cs XMLUtil.cs
-
-./security/secutil.exe: dummy
- (cd security; make)
-
-./cilc/cilc.exe: dummy
- (cd cilc; make)
-
-clean:
- (cd corcompare; make clean)
- (cd SqlSharp; make clean)
- (cd security; make clean)
- (cd cilc; make clean)
- rm -f *.exe *.pdb *.dbg *.dll
- rm -f cormissing.xml
- rm -f ../../mono/doc/pending-classes.in
-
-dummy:
-
-test:
diff --git a/mcs/tools/mono-xsd/Makefile b/mcs/tools/mono-xsd/Makefile
new file mode 100644
index 00000000000..18795ef70ff
--- /dev/null
+++ b/mcs/tools/mono-xsd/Makefile
@@ -0,0 +1,8 @@
+thisdir = tools/mono-xsd
+SUBDIRS =
+include ../../build/rules.make
+
+LOCAL_MCS_FLAGS = /r:System.Xml.dll
+PROGRAM = monoxsd.exe
+
+include ../../build/executable.make
diff --git a/mcs/tools/mono-xsd/makefile b/mcs/tools/mono-xsd/makefile
deleted file mode 100644
index 1c604e1a8d4..00000000000
--- a/mcs/tools/mono-xsd/makefile
+++ /dev/null
@@ -1,7 +0,0 @@
-LIBDIR=/usr/lib
-CSC=mcs
-
-all: monoxsd
-
-monoxsd:
- $(CSC) /debug /r:System.Xml MonoXSD.cs
diff --git a/mcs/tools/security/Makefile b/mcs/tools/security/Makefile
new file mode 100644
index 00000000000..1cee5d3ae48
--- /dev/null
+++ b/mcs/tools/security/Makefile
@@ -0,0 +1,36 @@
+thisdir = tools/security
+SUBDIRS =
+DIST_ONLY_SUBDIRS = certview
+include ../../build/rules.make
+
+LOCAL_MCS_FLAGS = /r:$(topdir)/class/lib/Mono.Security.dll
+
+SECURITY_PROGRAMS = secutil.exe cert2spc.exe sn.exe MakeCert.exe
+
+DISTFILES = \
+ AssemblyInfo.cs \
+ cert2spc.cs \
+ MakeCert.cs \
+ README \
+ secutil.cs \
+ sn.cs
+
+all-local: $(SECURITY_PROGRAMS)
+
+install-local:
+ $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/bin
+ for p in $(SECURITY_PROGRAMS) ; do \
+ $(INSTALL_BIN) $$p $(DESTDIR)$(prefix)/bin ; \
+ done
+
+test-local:
+
+run-test-local:
+
+clean-local:
+ rm -f *.exe
+
+dist-local: dist-default
+
+%.exe: %.cs AssemblyInfo.cs
+ $(CSCOMPILE) $^
diff --git a/mcs/tools/security/certview/Makefile b/mcs/tools/security/certview/Makefile
new file mode 100644
index 00000000000..32fa459c7c7
--- /dev/null
+++ b/mcs/tools/security/certview/Makefile
@@ -0,0 +1,51 @@
+thisdir = tools/security/certview
+SUBDIRS =
+include ../../../build/rules.make
+
+RESGEN = monoresgen
+LOCAL_MCS_FLAGS = /lib:$(topdir)/class/lib /r:Mono.Security.dll /r:System.Xml.dll
+
+# SWF isn't quite good enough to build this yet.
+
+all-local: certview.exe
+
+install-local:
+ $(MKINSTALLDIRS) $(DESTDIR)$(prefix)/bin
+ $(INSTALL_BIN) certview.exe $(DESTDIR)$(prefix)/bin
+
+clean-local:
+ rm -f *.exe *.resources
+
+test-local run-test-local:
+
+DISTFILES = \
+ CertificateViewer.cs \
+ CertificateFormatter.cs \
+ X509ExtensionsHandler.cs \
+ certview.exe.config \
+ certview.glade \
+ certview.gladep \
+ gcertview.cs \
+ gcertview.exe.config \
+ mono.ico \
+ $(wildcard *.bmp) \
+ $(wildcard *.png)
+
+dist-local: dist-default
+
+# FIXME: should add /win32icon:mono.ico to the flags for certview.exe
+
+sources = CertificateViewer.cs CertificateFormatter.cs X509ExtensionsHandler.cs ../AssemblyInfo.cs
+cv_libs = /r:System.Windows.Forms.dll /r:System.Drawing.dll
+gcv_libs = /r:gdk-sharp.dll /r:glib-sharp.dll /r:glade-sharp.dll /r:gtk-sharp.dll
+
+certview.exe: $(sources) Mono.Tools.CertView.CertificateViewer.resources
+ $(CSCOMPILE) $(cv_libs) /res:Mono.Tools.CertView.CertificateViewer.resources $(sources)
+
+# We can't make this by default since it relies on GTK#
+
+gcertview.exe: gcertview.cs CertificateFormatter.cs X509ExtensionsHandler.cs ../AssemblyInfo.cs
+ $(CSCOMPILE) $(gcv_libs) /unsafe $^
+
+Mono.Tools.CertView.CertificateViewer.resources: CertificateViewer.resx
+ $(RESGEN) $^ $@
diff --git a/mcs/tools/security/certview/makefile b/mcs/tools/security/certview/makefile
deleted file mode 100644
index 80bf2c14cc6..00000000000
--- a/mcs/tools/security/certview/makefile
+++ /dev/null
@@ -1,29 +0,0 @@
-RUNTIME=mono
-CSC = $(RUNTIME) ../../../mcs/mcs.exe
-CSCFLAGS=/target:winexe /nologo /debug+ /debug:full /out:$@ /r:Mono.Security.dll /r:System.Xml.dll
-WINFLAGS=/res:Mono.Tools.CertView.CertificateViewer.resources /r:System.Windows.Forms.dll /r:System.Drawing.dll /win32icon:mono.ico
-LNXFLAGS=/unsafe /r:gdk-sharp.dll /r:glib-sharp.dll /r:glade-sharp.dll /r:gtk-sharp.dll
-RESGEN=monoresgen
-
-windows: certview.exe
-
-linux: gcertview.exe
-
-certview.exe: CertificateViewer.cs CertificateFormatter.cs X509ExtensionsHandler.cs ../AssemblyInfo.cs
- cp ../AssemblyInfo.cs AssemblyInfo.cs
- cp ../../../class/lib/Mono.Security.dll Mono.Security.dll
- $(RESGEN) CertificateViewer.resx Mono.Tools.CertView.CertificateViewer.resources
- $(CSC) $(CSCFLAGS) $(WINFLAGS) CertificateViewer.cs CertificateFormatter.cs X509ExtensionsHandler.cs AssemblyInfo.cs
- rm AssemblyInfo.cs
-
-gcertview.exe: gcertview.cs CertificateFormatter.cs X509ExtensionsHandler.cs ../AssemblyInfo.cs
- cp ../AssemblyInfo.cs AssemblyInfo.cs
- cp ../../../class/lib/Mono.Security.dll Mono.Security.dll
- $(CSC) $(CSCFLAGS) $(LNXFLAGS) gcertview.cs CertificateFormatter.cs X509ExtensionsHandler.cs AssemblyInfo.cs
- rm AssemblyInfo.cs
-
-clean:
- rm -f *.exe *.pdb *.dbg *.dll *.resources
-
-dummy:
-
diff --git a/mcs/tools/security/makefile b/mcs/tools/security/makefile
deleted file mode 100644
index 29e08951fe4..00000000000
--- a/mcs/tools/security/makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-RUNTIME=mono
-CSC = $(RUNTIME) ../../mcs/mcs.exe
-CSCFLAGS=/nologo /debug+ /debug:full /out:$@
-SECFLAGS=/r:../../class/lib/Mono.Security.dll
-
-windows: secutil.exe cert2spc.exe sn.exe makecert.exe
-
-linux: secutil.exe
-
-cert2spc.exe: cert2spc.cs AssemblyInfo.cs
- $(CSC) $(CSCFLAGS) $(SECFLAGS) cert2spc.cs AssemblyInfo.cs
-
-chktrust.exe: chktrust.cs AssemblyInfo.cs
- $(CSC) $(CSCFLAGS) $(SECFLAGS) chktrust.cs AssemblyInfo.cs
-
-makecert.exe: MakeCert.cs AssemblyInfo.cs
- $(CSC) $(CSCFLAGS) $(SECFLAGS) MakeCert.cs AssemblyInfo.cs
-
-secutil.exe: secutil.cs AssemblyInfo.cs
- $(CSC) $(CSCFLAGS) secutil.cs AssemblyInfo.cs
-
-signcode.exe: signcode.cs AssemblyInfo.cs
- $(CSC) $(CSCFLAGS) $(SECFLAGS) signcode.cs AssemblyInfo.cs
-
-sn.exe: sn.cs AssemblyInfo.cs
- $(CSC) $(CSCFLAGS) $(SECFLAGS) sn.cs AssemblyInfo.cs
-
-clean:
- rm -f *.exe *.pdb *.dbg *.dll
-
-dummy:
diff --git a/mcs/tools/security/sectools.build b/mcs/tools/security/sectools.build
deleted file mode 100644
index 19279690a09..00000000000
--- a/mcs/tools/security/sectools.build
+++ /dev/null
@@ -1,78 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-
-<!-- NAnt build file for Security Tools -->
-
-<project name="sectools" default="build">
- <property name="debug" value="false"/>
-
- <target name="build">
- <csc target="exe" output="cert2spc.exe" debug="${debug}">
- <arg value="/r:..\..\class\lib\System.dll"/>
- <arg value="/r:..\..\class\lib\Mono.Security.dll"/>
- <sources basedir=".">
- <includes name="AssemblyInfo.cs"/>
- <includes name="cert2spc.cs"/>
- </sources>
- </csc>
- <!-- csc target="exe" output="chktrust.exe" debug="${debug}">
- <arg value="/r:..\..\class\lib\System.dll"/>
- <arg value="/r:..\..\class\lib\Mono.Security.dll"/>
- <sources basedir=".">
- <includes name="AssemblyInfo.cs"/>
- <includes name="chktrust.cs"/>
- </sources>
- </csc -->
- <csc target="exe" output="makecert.exe" debug="${debug}">
- <arg value="/r:..\..\class\lib\System.dll"/>
- <arg value="/r:..\..\class\lib\Mono.Security.dll"/>
- <sources basedir=".">
- <includes name="AssemblyInfo.cs"/>
- <includes name="MakeCert.cs"/>
- </sources>
- </csc>
- <!-- csc target="exe" output="secutil.exe" debug="${debug}">
- <sources basedir=".">
- <includes name="AssemblyInfo.cs"/>
- <includes name="secutil.cs"/>
- </sources>
- </csc>
- <!-- csc target="exe" output="signcode.exe" debug="${debug}">
- <arg value="/r:..\..\class\lib\Mono.Security.dll"/>
- <sources basedir=".">
- <includes name="AssemblyInfo.cs"/>
- <includes name="signcode.cs"/>
- </sources>
- </csc -->
- <csc target="exe" output="sn.exe" debug="${debug}">
- <arg value="/r:..\..\class\lib\Mono.Security.dll"/>
- <sources basedir=".">
- <includes name="AssemblyInfo.cs"/>
- <includes name="sn.cs"/>
- </sources>
- </csc>
- </target>
-
- <target name="sign">
- <!-- sign (strongname) all tools -->
- <exec program="D:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Bin\sn.exe" commandline="-R secutil.exe sectools.snk"/>
- <!-- sign (authenticode) all tools -->
- </target>
-
- <target name="test">
- </target>
-
- <target name="clean">
- <delete file="cert2spc.exe" failonerror="false"/>
- <delete file="cert2spc.pdb" failonerror="false"/>
- <delete file="chktrust.exe" failonerror="false"/>
- <delete file="chktrust.pdb" failonerror="false"/>
- <delete file="makecert.exe" failonerror="false"/>
- <delete file="makecert.pdb" failonerror="false"/>
- <delete file="secutil.exe" failonerror="false"/>
- <delete file="secutil.pdb" failonerror="false"/>
- <delete file="signcode.exe" failonerror="false"/>
- <delete file="signcode.pdb" failonerror="false"/>
- <delete file="sn.exe" failonerror="false"/>
- <delete file="sn.pdb" failonerror="false"/>
- </target>
-</project>