2009-10-30 Veerapuram Varadhan <vvaradhan@novell.com>
[mono.git] / mcs / class / Makefile
1 thisdir = class
2
3 bootstrap_dirs := \
4         corlib                                  \
5         Mono.CompilerServices.SymbolWriter      \
6         System                                  \
7         System.XML                              \
8         Mono.Security                           \
9         System.Security                         \
10         System.Configuration                    \
11         System
12
13
14 # Note that Mono.Security and System.Security aren't listed.
15 # We may have to add those if 'mcs' starts using them.
16 basic_SUBDIRS := corlib System System.XML System Mono.Security Mono.CompilerServices.SymbolWriter
17
18 net_1_1_java_SUBDIRS = \
19         System.Xml                                      \
20         System.Data                                     \
21         System.Drawing                                  \
22         Novell.Directory.Ldap                           \
23         System.DirectoryServices                        \
24         System.Runtime.Serialization.Formatters.Soap    \
25         System.Runtime.Remoting
26
27 common_dirs := \
28         corlib                          \
29         System                          \
30         System.XML                      \
31         Mono.CompilerServices.SymbolWriter \
32         Mono.Posix                      \
33         System.Core                     \
34         Mono.Security                   \
35         System                          \
36         System.Security                 \
37         System.Configuration            \
38         System                          \
39         System.XML                      \
40         I18N                            \
41         System.Drawing                  \
42         System.Transactions             \
43         System.EnterpriseServices       \
44         Mono.Data.Tds                   \
45         System.Data                     \
46         Mono.Data                       \
47         Mono.GetOptions                 \
48         Accessibility                   \
49         Mono.WebBrowser                 \
50         Managed.Windows.Forms           \
51         Mono.Data.Sqlite                \
52         Mono.Data.SqliteClient          \
53         System.Web                      \
54         Mono.Web                        \
55         System.Web.Services             \
56         System.Web                      \
57         System.Runtime.Serialization.Formatters.Soap \
58         System.Runtime.Remoting         \
59         System.Configuration.Install    \
60         System.Management               \
61         Mono.Data.SybaseClient          \
62         Mono.Data.TdsClient             \
63         System.Data.OracleClient        \
64         Microsoft.VisualC               \
65         Cscompmgd                       \
66         System.Design                   \
67         PEAPI                           \
68         Npgsql                          \
69         Compat.ICSharpCode.SharpZipLib  \
70         ICSharpCode.SharpZipLib         \
71         Compat.ICSharpCode.SharpZipLib  \
72         ByteFX.Data                     \
73         Commons.Xml.Relaxng             \
74         Novell.Directory.Ldap           \
75         Mono.Security.Win32             \
76         System.DirectoryServices        \
77         RabbitMQ.Client                 \
78         Mono.Messaging                  \
79         System.Messaging                \
80         Mono.Messaging.RabbitMQ         \
81         System.ServiceProcess           \
82         System.Drawing.Design           \
83         System.Design                   \
84         Mono.Http                       \
85         Microsoft.Vsa                   \
86         Mono.Cairo                      \
87         IBM.Data.DB2                    \
88         Microsoft.JScript               \
89         CustomMarshalers                \
90         OpenSystem.C                    \
91         Mono.Cecil                      \
92         Mono.Cecil.Mdb                  \
93         SystemWebTestShim
94
95 net_1_1_dirs :=         \
96         FirebirdSql.Data.Firebird
97
98 net_2_0_dirs := \
99         Microsoft.Build.Framework       \
100         Microsoft.Build.Utilities       \
101         Microsoft.Build.Engine          \
102         Microsoft.Build.Tasks           \
103         System.Xml.Linq                 \
104         System.Runtime.Serialization    \
105         System.Data.DataSetExtensions   \
106         System.Data.Linq                \
107         System.Web                      \
108         System.Web.Abstractions         \
109         System.Web.Routing              \
110         System.IdentityModel            \
111         System.IdentityModel.Selectors  \
112         System.ServiceModel             \
113         System.Web.Extensions           \
114         System.Web.Extensions.Design    \
115         System.ComponentModel.DataAnnotations   \
116         System.Web.DynamicData          \
117         System.ServiceModel.Web         \
118         System.Web.Mvc                  \
119         Mono.C5                         \
120         Mono.Management                 \
121         Mono.Options                    \
122         Mono.Simd                       \
123         Mono.Tasklets                   \
124         WindowsBase
125
126 net_2_0_only_dirs := \
127         System.Web.Extensions_1.0       \
128         System.Web.Extensions.Design_1.0
129
130 net_2_1_dirs := \
131         corlib                  \
132         Mono.CompilerServices.SymbolWriter \
133         System                  \
134         System.Net              \
135         System.XML              \
136         System.Core             \
137         System.Xml.Linq \
138         System.Runtime.Serialization    \
139         System.ServiceModel     \
140         System.ServiceModel.Web
141
142 monotouch_dirs := \
143         corlib  \
144         Mono.CompilerServices.SymbolWriter      \
145         System  \
146         System.XML      \
147         Mono.Security   \
148         System  \
149         I18N            \
150         System.Core     \
151         System.Json     \
152         System.Xml.Linq \
153         System.Runtime.Serialization    \
154         System.ServiceModel     \
155         System.ServiceModel.Web \
156         System.Web.Services     \
157         Mono.Data.Tds   \
158         System.Transactions     \
159         System.Data     \
160         Mono.Data.Sqlite
161
162 net_3_5_dirs := \
163         Microsoft.Build.Framework       \
164         Microsoft.Build.Utilities       \
165         Microsoft.Build.Engine          \
166         Microsoft.Build.Tasks           \
167         System.Web.Extensions.Design    
168
169 net_4_0_dirs := \
170         System.Dynamic          \
171         System.Numerics         \
172         Microsoft.CSharp        \
173         System.Windows.Forms.DataVisualization
174
175 net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs)
176 net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs) $(net_2_0_only_dirs)
177 net_2_1_bootstrap_SUBDIRS := corlib System Mono.CompilerServices.SymbolWriter
178 net_2_1_raw_SUBDIRS := $(net_2_1_dirs)
179 monotouch_bootstrap_SUBDIRS := corlib System Mono.CompilerServices.SymbolWriter
180 monotouch_SUBDIRS := $(monotouch_dirs)
181 net_3_5_SUBDIRS := $(net_3_5_dirs)
182 net_4_0_bootstrap_SUBDIRS := $(bootstrap_dirs) Mono.Posix System.Core
183 net_4_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs) $(net_4_0_dirs)
184
185 include ../build/rules.make
186
187 SUBDIRS = $(common_dirs) $(net_1_1_dirs) $(net_2_0_dirs) $(net_2_0_only_dirs) $(net_2_1_dirs) $(net_3_5_dirs) $(net_4_0_dirs)
188
189 # These libraries below are either unimplemented or don't compile, but
190 #BROKEN_SUBDIRS =
191 #DIST_ONLY_SUBDIRS = $(BROKEN_SUBDIRS)
192
193 # No new makefiles for: System.Messaging, System.Web.Mobile,
194 # System.ServiceProcess
195
196 DISTFILES = \
197         ecma.pub                \
198         winfx.pub               \
199         winfx3.pub              \
200         mono.pub                \
201         msfinal.pub             \
202         silverlight.pub         \
203         mono.snk                \
204         LICENSE                 \
205         README                  \
206         doc/API-notes           \
207         doc/NUnitGuidelines     \
208         doc/TemplateTest.cs     \
209         notes/BitVecto32.txt    \
210         MicrosoftAjaxLibrary/License.htm        \
211         $(monolite_files)
212
213 .PHONY: all-local $(STD_TARGETS:=-local)
214 all-local $(STD_TARGETS:=-local):
215         @:
216
217 # What is this used for ?
218
219 basic_files = gmcs.exe mscorlib.dll System.dll System.Xml.dll Mono.Security.dll
220 monolite_files = $(basic_files:%=lib/monolite/%)
221
222 lib/monolite:
223         $(MKINSTALLDIRS) $@
224
225 $(monolite_files): | lib/monolite
226 $(monolite_files): lib/monolite/%: lib/basic/%
227         cp -p $< $@
228
229 $(basic_files:%=lib/basic/%):
230         cd $(topdir) && $(MAKE) profile-do--basic--all
231
232 dist-default: $(monolite_files)
233 dist-local: dist-default
234
235 csproj-local:
236