2005-06-09 Jordi Mas i Hernandez <jordi@ximian.com>
[mono.git] / mcs / class / Makefile
1 thisdir = class
2
3 MONO_POSIX := Mono.Posix
4 MONO_SYMBOLWRITER := Mono.CompilerServices.SymbolWriter
5
6 bootstrap_dirs := \
7         corlib                                  \
8         System                                  \
9         System.XML                              \
10         Mono.Security                           \
11         System.Security                         \
12         System                                  \
13         $(MONO_SYMBOLWRITER)
14
15 # Note that Mono.Security and System.Security aren't listed.
16 # We may have to add those if 'mcs' starts using them.
17 basic_SUBDIRS := corlib System System.XML System
18
19 net_1_1_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
20 net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs)
21
22 include ../build/rules.make
23
24 # For now, Mono.Security.Win32 is built on Linux too.
25 # However, it isn't tested on Linux, since it depends on a Win32 dll.
26 SUBDIRS = \
27         corlib                          \
28         System                          \
29         System.XML                      \
30         Mono.Security                   \
31         System.Security                 \
32         System                          \
33         I18N                            \
34         System.Drawing                  \
35         System.EnterpriseServices       \
36         Mono.C5                         \
37         Mono.Data.Tds                   \
38         System.Data                     \
39         Mono.Data                       \
40         Mono.GetOptions                 \
41         System.Web                      \
42         System.Web.Services             \
43         System.Runtime.Serialization.Formatters.Soap \
44         System.Runtime.Remoting         \
45         System.Configuration.Install    \
46         System.Management               \
47         $(MONO_SYMBOLWRITER)            \
48         Mono.Data.SqliteClient          \
49         Mono.Data.SybaseClient          \
50         Mono.Data.TdsClient             \
51         System.Data.OracleClient        \
52         $(MONO_POSIX)                   \
53         Accessibility                   \
54         Microsoft.VisualC               \
55         Cscompmgd                       \
56         Managed.Windows.Forms           \
57         Microsoft.VisualBasic           \
58         System.Design                   \
59         PEAPI                           \
60         Npgsql                          \
61         ICSharpCode.SharpZipLib         \
62         ByteFX.Data                     \
63         Commons.Xml.Relaxng             \
64         Novell.Directory.Ldap           \
65         Mono.Security.Win32             \
66         System.DirectoryServices        \
67         System.Messaging                \
68         System.ServiceProcess           \
69         System.Drawing.Design           \
70         Mono.Http                       \
71         Microsoft.Vsa                   \
72         Mono.Cairo                      \
73         IBM.Data.DB2                    \
74         Microsoft.JScript       
75
76 # Starting with Microsoft.Vsa, the libraries above weren't in the
77 # Linux makefile.gnu before, but they build fine, so might as well
78 # include them ...
79 #
80
81 # These libraries below are either unimplemented or don't compile, but
82 # I wrote makefiles for them.
83
84 DIST_ONLY_SUBDIRS = \
85         Custommarshalers                \
86         Mono.Globalization
87
88 # No new makefiles for: System.Messaging, System.Web.Mobile,
89 # System.ServiceProcess
90
91 DISTFILES = \
92         ecma.pub                \
93         mono.pub                \
94         msfinal.pub             \
95         mono.snk                \
96         LICENSE                 \
97         README                  \
98         doc/API-notes           \
99         doc/NUnitGuidelines     \
100         doc/TemplateTest.cs     \
101         notes/BitVecto32.txt    \
102         $(monolite_files)
103
104 .PHONY: all-local $(STD_TARGETS:=-local)
105 all-local $(STD_TARGETS:=-local):
106         @:
107
108 basic_files = mcs.exe mscorlib.dll System.dll System.Xml.dll
109 monolite_files = $(basic_files:%=lib/monolite/%)
110
111 DIST_PROFILE_DIRS = basic net_1_1_bootstrap default net_2_0_bootstrap net_2_0
112
113 lib/monolite:
114         $(MKINSTALLDIRS) $@
115
116 $(monolite_files): lib/monolite/%: lib/basic/% lib/monolite
117         cp -p $< $@
118
119 $(basic_files:%=lib/basic/%):
120         cd $(topdir) && $(MAKE) profile-do--basic--all
121
122 dist-default: $(monolite_files)
123 dist-local: dist-default
124         -$(MKINSTALLDIRS) $(DIST_PROFILE_DIRS:%=$(distdir)/lib/%)