2006-02-29 Carlos Alberto Cortez <calberto.cortez@gmail.com>
[mono.git] / mcs / class / Makefile
index 9e88ce31e67be51b2957b595b6cca51163d7d391..c5f600df757db3b19f3a2cb2cf05d37dbb097ec9 100644 (file)
@@ -1,59 +1,73 @@
 thisdir = class
 
 MONO_POSIX := Mono.Posix
-MONO_CSHARP_DEBUGGER := Mono.CSharp.Debugger
+MONO_SYMBOLWRITER := Mono.CompilerServices.SymbolWriter
 
 bootstrap_dirs := \
-       corlib                                  \
+       corlib                                  \
        System                                  \
        System.XML                              \
+       Mono.Security                           \
+       System.Security                         \
+       System.Configuration                    \
        System                                  \
-       $(MONO_CSHARP_DEBUGGER)
+       $(MONO_SYMBOLWRITER)
 
-basic_SUBDIRS := corlib System System.XML
-net_1_1_bootstrap_SUBDIRS := $(bootstrap_dirs) Mono.Security
-net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs)
+# 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
 
-include ../build/rules.make
+net_1_1_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
+net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
+
+net_1_1_java_SUBDIRS = \
+       System.Xml                                      \
+       System.Data                                     \
+       System.Drawing                                  \
+       Novell.Directory.Ldap                           \
+       System.DirectoryServices                        \
+       System.Runtime.Serialization.Formatters.Soap    \
+       System.Runtime.Remoting
 
-# For now, Mono.Security.Win32 is built on Linux too.
-# However, it isn't tested on Linux, since it depends on a Win32 dll.
-SUBDIRS = \
+common_dirs := \
        corlib                          \
        System                          \
-       I18N                            \
        System.XML                      \
+       Mono.Security                   \
+       System                          \
+       System.Security                 \
+       System.Configuration            \
        System                          \
+       I18N                            \
        System.Drawing                  \
        System.EnterpriseServices       \
-       Mono.C5                         \
-       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.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           \
@@ -65,23 +79,33 @@ 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
+
+default_SUBDIRS := $(common_dirs) $(default_dirs)
+net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs)
+
+include ../build/rules.make
 
-# 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 ...
-#
+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.
 
-# Managed.Windows.Forms will move to the main SUBDIRS soon.
+BROKEN_SUBDIRS = \
+       Custommarshalers                \
+       Mono.Globalization
 
 DIST_ONLY_SUBDIRS = \
-       Custommarshalers                \
-       Mono.Globalization              \
-       Managed.Windows.Forms
+       $(BROKEN_SUBDIRS)
 
 # No new makefiles for: System.Messaging, System.Web.Mobile,
 # System.ServiceProcess
@@ -96,19 +120,28 @@ DISTFILES = \
        doc/API-notes           \
        doc/NUnitGuidelines     \
        doc/TemplateTest.cs     \
-       notes/BitVecto32.txt
+       notes/BitVecto32.txt    \
+       $(monolite_files)
 
 .PHONY: all-local $(STD_TARGETS:=-local)
 all-local $(STD_TARGETS:=-local):
        @:
 
-basic_files = mcs.exe mscorlib.dll System.dll
+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 $< $@
 
-lib/basic.tar.gz: $(basic_files:%=lib/basic/%)
-       cd lib && { tar cvf - $(basic_files:%=basic/%) | gzip > basic.tar.gz; }
+$(basic_files:%=lib/basic/%):
+       cd $(topdir) && $(MAKE) profile-do--basic--all
 
-dist-local: dist-default lib/basic.tar.gz
-       -$(MKINSTALLDIRS) $(DIST_PROFILE_DIRS:%=$(distdir)/lib/%)
-       cp lib/basic.tar.gz $(distdir)/lib
+dist-default: $(monolite_files)
+dist-local: dist-default
+       -$(MKINSTALLDIRS) $(DIST_PROFILE_DIRS:%=$(distdir)/lib/%) $(COMPAT_PROFILE_DIRS:%=$(distdir)/compat/%)