f957e1558ae9a3788e190e7f31426bf1f5ac41f3
[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
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.Security                   \
33         System                          \
34         System.Security                 \
35         System.Configuration            \
36         System                          \
37         System.XML                      \
38         I18N                            \
39         System.Drawing                  \
40         System.Transactions             \
41         System.EnterpriseServices       \
42         Mono.Data.Tds                   \
43         System.Data                     \
44         Mono.Data                       \
45         Mono.GetOptions                 \
46         Mono.Posix                      \
47         Accessibility                   \
48         Mono.WebBrowser                 \
49         Managed.Windows.Forms           \
50         Mono.Data.Sqlite                \
51         Mono.Data.SqliteClient          \
52         System.Web                      \
53         Mono.Web                        \
54         System.Web.Services             \
55         System.Web                      \
56         System.Runtime.Serialization.Formatters.Soap \
57         System.Runtime.Remoting         \
58         System.Configuration.Install    \
59         System.Management               \
60         Mono.Data.SybaseClient          \
61         Mono.Data.TdsClient             \
62         System.Data.OracleClient        \
63         Microsoft.VisualC               \
64         Cscompmgd                       \
65         System.Design                   \
66         PEAPI                           \
67         Npgsql                          \
68         Compat.ICSharpCode.SharpZipLib  \
69         ICSharpCode.SharpZipLib         \
70         Compat.ICSharpCode.SharpZipLib  \
71         ByteFX.Data                     \
72         Commons.Xml.Relaxng             \
73         Novell.Directory.Ldap           \
74         Mono.Security.Win32             \
75         System.DirectoryServices        \
76         RabbitMQ.Client                 \
77         Mono.Messaging                  \
78         System.Messaging                \
79         Mono.Messaging.RabbitMQ         \
80         System.ServiceProcess           \
81         System.Drawing.Design           \
82         System.Design                   \
83         Mono.Http                       \
84         Microsoft.Vsa                   \
85         Mono.Cairo                      \
86         IBM.Data.DB2                    \
87         Microsoft.JScript               \
88         CustomMarshalers                \
89         OpenSystem.C                    \
90         Mono.Cecil                      \
91         Mono.Cecil.Mdb                  \
92         SystemWebTestShim
93
94 net_1_1_dirs :=         \
95         FirebirdSql.Data.Firebird
96
97 net_2_0_dirs := \
98         Microsoft.Build.Framework       \
99         Microsoft.Build.Utilities       \
100         Microsoft.Build.Engine          \
101         System.Core                     \
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.Web.Extensions           \
111         System.Web.Extensions.Design    \
112         System.ComponentModel.DataAnnotations   \
113         System.Web.DynamicData          \
114         System.IdentityModel            \
115         System.IdentityModel.Selectors  \
116         System.ServiceModel             \
117         System.ServiceModel.Web         \
118         System.Web.Mvc                  \
119         Mono.C5                         \
120         Mono.Management                 \
121         Mono.Options                    \
122         Mono.Simd                       \
123         Mono.Tasklets       
124
125 net_2_0_only_dirs := \
126         System.Web.Extensions_1.0       \
127         System.Web.Extensions.Design_1.0
128
129 net_2_1_dirs := \
130         corlib                  \
131         Mono.CompilerServices.SymbolWriter \
132         System                  \
133         System.Net              \
134         System.XML              \
135         System.Core             \
136         System.Xml.Linq \
137         System.Runtime.Serialization    \
138         System.ServiceModel     \
139         System.ServiceModel.Web
140
141 monotouch_dirs := \
142         corlib  \
143         Mono.CompilerServices.SymbolWriter      \
144         System  \
145         System.XML      \
146         System.Core     \
147         System.Xml.Linq \
148         System.Runtime.Serialization    \
149         System.ServiceModel     \
150         System.ServiceModel.Web
151
152 net_3_5_dirs := \
153         Microsoft.Build.Framework       \
154         Microsoft.Build.Utilities       \
155         Microsoft.Build.Engine          \
156         Microsoft.Build.Tasks           \
157         System.Web.Extensions.Design    
158
159 net_4_0_dirs := \
160         System.Dynamic          \
161         Microsoft.CSharp
162
163 net_1_1_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
164 net_1_1_SUBDIRS := $(common_dirs) $(net_1_1_dirs)
165 net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
166 net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs) $(net_2_0_only_dirs)
167 net_2_1_bootstrap_SUBDIRS := corlib System Mono.CompilerServices.SymbolWriter
168 net_2_1_raw_SUBDIRS := $(net_2_1_dirs)
169 monotouch_SUBDIRS := $(monotouch_dirs)
170 net_3_5_SUBDIRS := $(net_3_5_dirs)
171 net_4_0_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
172 net_4_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs) $(net_4_0_dirs)
173
174 include ../build/rules.make
175
176 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)
177
178 # These libraries below are either unimplemented or don't compile, but
179 #BROKEN_SUBDIRS =
180 #DIST_ONLY_SUBDIRS = $(BROKEN_SUBDIRS)
181
182 # No new makefiles for: System.Messaging, System.Web.Mobile,
183 # System.ServiceProcess
184
185 DISTFILES = \
186         ecma.pub                \
187         winfx.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 basic_files = mcs.exe mscorlib.dll System.dll System.Xml.dll
206 monolite_files = $(basic_files:%=lib/monolite/%)
207
208 lib/monolite:
209         $(MKINSTALLDIRS) $@
210
211 $(monolite_files): | lib/monolite
212 $(monolite_files): lib/monolite/%: lib/basic/%
213         cp -p $< $@
214
215 $(basic_files:%=lib/basic/%):
216         cd $(topdir) && $(MAKE) profile-do--basic--all
217
218 dist-default: $(monolite_files)
219 dist-local: dist-default
220
221 csproj-local:
222