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