X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FMakefile;h=c5f600df757db3b19f3a2cb2cf05d37dbb097ec9;hb=496b8e22e111d25b97c55c1db70ef228ea3cc0aa;hp=201e63c99b7e635b7cdb29ba6fd19c3e96a30c3d;hpb=84b709f11124509f2268722945b803ee7e631d93;p=mono.git diff --git a/mcs/class/Makefile b/mcs/class/Makefile index 201e63c99b7..c5f600df757 100644 --- a/mcs/class/Makefile +++ b/mcs/class/Makefile @@ -1,43 +1,73 @@ thisdir = class -include ../build/rules.make -MONO_POSIX = Mono.Posix -MONO_CSHARP_DEBUGGER = Mono.CSharp.Debugger +MONO_POSIX := Mono.Posix +MONO_SYMBOLWRITER := Mono.CompilerServices.SymbolWriter + +bootstrap_dirs := \ + corlib \ + System \ + System.XML \ + Mono.Security \ + System.Security \ + System.Configuration \ + System \ + $(MONO_SYMBOLWRITER) + +# Note that Mono.Security and System.Security aren't listed. +# We may have to add those if 'mcs' starts using them. +basic_SUBDIRS := corlib System System.XML System + +net_1_1_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI +net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI -SUBDIRS = \ +net_1_1_java_SUBDIRS = \ + System.Xml \ + System.Data \ + System.Drawing \ + Novell.Directory.Ldap \ + System.DirectoryServices \ + System.Runtime.Serialization.Formatters.Soap \ + System.Runtime.Remoting + +common_dirs := \ corlib \ System \ - I18N \ System.XML \ + Mono.Security \ System \ + System.Security \ + System.Configuration \ + System \ + I18N \ System.Drawing \ System.EnterpriseServices \ - Mono.Security \ Mono.Data.Tds \ - System.Security \ System.Data \ + Mono.Data \ Mono.GetOptions \ System.Web \ System.Web.Services \ + System.Web \ System.Runtime.Serialization.Formatters.Soap \ System.Runtime.Remoting \ System.Configuration.Install \ System.Management \ - $(MONO_CSHARP_DEBUGGER) \ + $(MONO_SYMBOLWRITER) \ + $(MONO_POSIX) \ Mono.Data.SqliteClient \ Mono.Data.SybaseClient \ Mono.Data.TdsClient \ System.Data.OracleClient \ - $(MONO_POSIX) \ Accessibility \ - Microsoft.VisualBasic \ Microsoft.VisualC \ Cscompmgd \ - System.Windows.Forms \ + Managed.Windows.Forms \ + Microsoft.VisualBasic \ System.Design \ PEAPI \ Npgsql \ ICSharpCode.SharpZipLib \ + Compat.ICSharpCode.SharpZipLib \ ByteFX.Data \ Commons.Xml.Relaxng \ Novell.Directory.Ldap \ @@ -49,36 +79,69 @@ SUBDIRS = \ Mono.Http \ Microsoft.Vsa \ Mono.Cairo \ - IBM.Data.DB2 -# Microsoft.JScript \ + IBM.Data.DB2 \ + Microsoft.JScript + +default_dirs := FirebirdSql.Data.Firebird + +net_2_0_dirs := \ + Microsoft.Build.Framework \ + Microsoft.Build.Utilities \ + Microsoft.Build.Engine \ + Microsoft.Build.Tasks -# 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. +default_SUBDIRS := $(common_dirs) $(default_dirs) +net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs) + +include ../build/rules.make + +SUBDIRS = $(common_dirs) $(default_dirs) $(net_2_0_dirs) # These libraries below are either unimplemented or don't compile, but # I wrote makefiles for them. -DIST_ONLY_SUBDIRS = \ +BROKEN_SUBDIRS = \ Custommarshalers \ Mono.Globalization +DIST_ONLY_SUBDIRS = \ + $(BROKEN_SUBDIRS) + # No new makefiles for: System.Messaging, System.Web.Mobile, # System.ServiceProcess DISTFILES = \ + ecma.pub \ + mono.pub \ + msfinal.pub \ + mono.snk \ LICENSE \ README \ doc/API-notes \ doc/NUnitGuidelines \ - doc/notes \ - notes/BitVecto32.txt + doc/TemplateTest.cs \ + notes/BitVecto32.txt \ + $(monolite_files) + +.PHONY: all-local $(STD_TARGETS:=-local) +all-local $(STD_TARGETS:=-local): + @: + +basic_files = mcs.exe mscorlib.dll System.dll System.Xml.dll +monolite_files = $(basic_files:%=lib/monolite/%) + +DIST_PROFILE_DIRS = basic net_1_1_bootstrap default net_2_0_bootstrap net_2_0 +COMPAT_PROFILE_DIRS = default net_2_0 + +lib/monolite: + $(MKINSTALLDIRS) $@ + +$(monolite_files): lib/monolite/%: lib/basic/% lib/monolite + cp -p $< $@ -all-local install-local test-local run-test-local clean-local uninstall-local: +$(basic_files:%=lib/basic/%): + cd $(topdir) && $(MAKE) profile-do--basic--all +dist-default: $(monolite_files) dist-local: dist-default - -mkdir $(distdir)/lib + -$(MKINSTALLDIRS) $(DIST_PROFILE_DIRS:%=$(distdir)/lib/%) $(COMPAT_PROFILE_DIRS:%=$(distdir)/compat/%)