2008-03-12 Jb Evain <jbevain@novell.com>
[mono.git] / mcs / class / Makefile
1 thisdir = class
2
3 MONO_POSIX := Mono.Posix
4 MONO_SYMBOLWRITER := Mono.CompilerServices.SymbolWriter
5
6 ifeq (net_2_0, $(PROFILE))
7 MONO_WEB := Mono.Web
8 endif
9
10 bootstrap_dirs := \
11         corlib                                  \
12         System                                  \
13         System.XML                              \
14         Mono.Security                           \
15         System.Security                         \
16         System.Configuration                    \
17         System                                  \
18         $(MONO_SYMBOLWRITER)
19
20 # Note that Mono.Security and System.Security aren't listed.
21 # We may have to add those if 'mcs' starts using them.
22 basic_SUBDIRS := corlib System System.XML System
23
24 net_1_1_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
25 net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
26
27 net_1_1_java_SUBDIRS = \
28         System.Xml                                      \
29         System.Data                                     \
30         System.Drawing                                  \
31         Novell.Directory.Ldap                           \
32         System.DirectoryServices                        \
33         System.Runtime.Serialization.Formatters.Soap    \
34         System.Runtime.Remoting
35
36 common_dirs := \
37         corlib                          \
38         System                          \
39         System.XML                      \
40         Mono.Security                   \
41         System                          \
42         System.Security                 \
43         System.Configuration            \
44         System                          \
45         System.XML                      \
46         I18N                            \
47         System.Drawing                  \
48         System.Transactions             \
49         System.EnterpriseServices       \
50         Mono.C5                         \
51         Mono.Data.Tds                   \
52         System.Data                     \
53         Mono.Data                       \
54         Mono.GetOptions                 \
55         $(MONO_SYMBOLWRITER)            \
56         $(MONO_POSIX)                   \
57         Accessibility                   \
58         Mono.Mozilla                    \
59         Managed.Windows.Forms           \
60         Mono.Data.Sqlite                \
61         Mono.Data.SqliteClient          \
62         System.Web                      \
63         $(MONO_WEB)                     \
64         System.Web.Services             \
65         System.Web                      \
66         System.Runtime.Serialization.Formatters.Soap \
67         System.Runtime.Remoting         \
68         System.Configuration.Install    \
69         System.Management               \
70         Mono.Data.SybaseClient          \
71         Mono.Data.TdsClient             \
72         System.Data.OracleClient        \
73         Microsoft.VisualC               \
74         Cscompmgd                       \
75         System.Design                   \
76         PEAPI                           \
77         Npgsql                          \
78         Compat.ICSharpCode.SharpZipLib  \
79         ICSharpCode.SharpZipLib         \
80         Compat.ICSharpCode.SharpZipLib  \
81         ByteFX.Data                     \
82         Commons.Xml.Relaxng             \
83         Novell.Directory.Ldap           \
84         Mono.Security.Win32             \
85         System.DirectoryServices        \
86         System.Messaging                \
87         System.ServiceProcess           \
88         System.Drawing.Design           \
89         System.Design                   \
90         Mono.Http                       \
91         Microsoft.Vsa                   \
92         Mono.Cairo                      \
93         IBM.Data.DB2                    \
94         Microsoft.JScript               \
95         CustomMarshalers                \
96         OpenSystem.C
97
98 default_dirs :=         \
99         FirebirdSql.Data.Firebird       \
100         Mono.Cecil                      \
101         Mono.Cecil.Mdb          \
102
103 net_2_0_dirs := \
104         Microsoft.Build.Framework       \
105         Microsoft.Build.Utilities       \
106         Microsoft.Build.Engine          \
107         Microsoft.Build.Tasks           \
108         System.Core                     \
109         System.Web.Extensions           \
110         System.Web.Extensions.Design    \
111         System.Xml.Linq                 \
112         System.Data.Linq
113
114 net_2_1_dirs := \
115         corlib                  \
116         System                  \
117         System.Xml.Core         \
118         System.Core
119
120 net_3_5_dirs := \
121         System.Web.Extensions           \
122         System.Web.Extensions.Design
123
124 default_SUBDIRS := $(common_dirs) $(default_dirs)
125 net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs)
126 net_2_1_bootstrap_SUBDIRS := $(net_2_1_dirs)
127 net_2_1_raw_SUBDIRS := $(net_2_1_dirs)
128 net_3_5_SUBDIRS := $(net_3_5_dirs)
129
130 include ../build/rules.make
131
132 SUBDIRS = $(common_dirs) $(default_dirs) $(net_2_0_dirs) $(net_2_1_dirs) $(net_3_5_dirs)
133
134 # These libraries below are either unimplemented or don't compile, but
135 # I wrote makefiles for them.
136
137 BROKEN_SUBDIRS =
138
139 DIST_ONLY_SUBDIRS = \
140         $(BROKEN_SUBDIRS) Mono.Web
141
142 # No new makefiles for: System.Messaging, System.Web.Mobile,
143 # System.ServiceProcess
144
145 DISTFILES = \
146         ecma.pub                \
147         winfx.pub               \
148         mono.pub                \
149         msfinal.pub             \
150         mono.snk                \
151         LICENSE                 \
152         README                  \
153         doc/API-notes           \
154         doc/NUnitGuidelines     \
155         doc/TemplateTest.cs     \
156         notes/BitVecto32.txt    \
157         MicrosoftAjaxLibrary/License.htm        \
158         $(monolite_files)
159
160 .PHONY: all-local $(STD_TARGETS:=-local)
161 all-local $(STD_TARGETS:=-local):
162         @:
163
164 basic_files = mcs.exe mscorlib.dll System.dll System.Xml.dll
165 monolite_files = $(basic_files:%=lib/monolite/%)
166
167 lib/monolite:
168         $(MKINSTALLDIRS) $@
169
170 $(monolite_files): | lib/monolite
171 $(monolite_files): lib/monolite/%: lib/basic/%
172         cp -p $< $@
173
174 $(basic_files:%=lib/basic/%):
175         cd $(topdir) && $(MAKE) profile-do--basic--all
176
177 dist-default: $(monolite_files)
178 dist-local: dist-default