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