Moved and integrated the exiting threads.
[mono.git] / mcs / class / Makefile
index 201e63c99b7e635b7cdb29ba6fd19c3e96a30c3d..696220b46c84937e7f02ab6be908c4785531ae59 100644 (file)
@@ -1,21 +1,37 @@
 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                              \
+       System                                  \
+       $(MONO_SYMBOLWRITER)
 
+basic_SUBDIRS := corlib System System.XML System
+net_1_1_bootstrap_SUBDIRS := $(bootstrap_dirs) Mono.Security
+net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs)
+
+include ../build/rules.make
+
+# 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 = \
        corlib                          \
        System                          \
-       I18N                            \
        System.XML                      \
        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             \
@@ -23,17 +39,17 @@ SUBDIRS = \
        System.Runtime.Remoting         \
        System.Configuration.Install    \
        System.Management               \
-       $(MONO_CSHARP_DEBUGGER)         \
+       $(MONO_SYMBOLWRITER)            \
        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                          \
@@ -56,9 +72,6 @@ SUBDIRS = \
 # 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.
@@ -71,14 +84,33 @@ DIST_ONLY_SUBDIRS = \
 # 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
+
+lib/monolite:
+       $(MKINSTALLDIRS) $@
 
-all-local install-local test-local run-test-local clean-local uninstall-local:
+$(monolite_files): lib/monolite/%: lib/basic/% lib/monolite
+       cp -p $< $@
 
+dist-default: $(monolite_files)
 dist-local: dist-default
-       -mkdir $(distdir)/lib
+       -$(MKINSTALLDIRS) $(DIST_PROFILE_DIRS:%=$(distdir)/lib/%)