2009-07-11 Michael Barker <mike@middlesoft.co.uk>
[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.C5                         \
43         Mono.Data.Tds                   \
44         System.Data                     \
45         Mono.Data                       \
46         Mono.GetOptions                 \
47         Mono.Posix                      \
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         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         Microsoft.Build.Tasks           \
102         System.Core                     \
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.Management                 \
120         Mono.Options                    \
121         Mono.Simd                       \
122         Mono.Tasklets       \
123         Mono.Messaging.RabbitMQ
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 net_3_5_dirs := \
142         Microsoft.Build.Framework       \
143         Microsoft.Build.Utilities       \
144         Microsoft.Build.Engine          \
145         Microsoft.Build.Tasks           \
146         System.Web.Extensions.Design    
147
148 net_4_0_dirs := \
149         System.Dynamic          \
150         Microsoft.CSharp
151
152 net_1_1_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
153 net_1_1_SUBDIRS := $(common_dirs) $(net_1_1_dirs)
154 net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
155 net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs) $(net_2_0_only_dirs)
156 net_2_1_bootstrap_SUBDIRS := corlib System Mono.CompilerServices.SymbolWriter
157 net_2_1_raw_SUBDIRS := $(net_2_1_dirs)
158 net_3_5_SUBDIRS := $(net_3_5_dirs)
159 net_4_0_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
160 net_4_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs) $(net_4_0_dirs)
161
162 include ../build/rules.make
163
164 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)
165
166 # These libraries below are either unimplemented or don't compile, but
167 #BROKEN_SUBDIRS =
168 #DIST_ONLY_SUBDIRS = $(BROKEN_SUBDIRS)
169
170 # No new makefiles for: System.Messaging, System.Web.Mobile,
171 # System.ServiceProcess
172
173 DISTFILES = \
174         ecma.pub                \
175         winfx.pub               \
176         mono.pub                \
177         msfinal.pub             \
178         silverlight.pub         \
179         mono.snk                \
180         LICENSE                 \
181         README                  \
182         doc/API-notes           \
183         doc/NUnitGuidelines     \
184         doc/TemplateTest.cs     \
185         notes/BitVecto32.txt    \
186         MicrosoftAjaxLibrary/License.htm        \
187         $(monolite_files)
188
189 .PHONY: all-local $(STD_TARGETS:=-local)
190 all-local $(STD_TARGETS:=-local):
191         @:
192
193 basic_files = mcs.exe mscorlib.dll System.dll System.Xml.dll
194 monolite_files = $(basic_files:%=lib/monolite/%)
195
196 lib/monolite:
197         $(MKINSTALLDIRS) $@
198
199 $(monolite_files): | lib/monolite
200 $(monolite_files): lib/monolite/%: lib/basic/%
201         cp -p $< $@
202
203 $(basic_files:%=lib/basic/%):
204         cd $(topdir) && $(MAKE) profile-do--basic--all
205
206 dist-default: $(monolite_files)
207 dist-local: dist-default
208
209 csproj-local:
210