2007-12-13 Marek Habersack <mhabersack@novell.com>
[mono.git] / mcs / class / Makefile
1 thisdir = class
2
3 MONO_POSIX := Mono.Posix
4 MONO_SYMBOLWRITER := Mono.CompilerServices.SymbolWriter
5
6 bootstrap_dirs := \
7         corlib                                  \
8         System                                  \
9         System.XML                              \
10         Mono.Security                           \
11         System.Security                         \
12         System.Configuration                    \
13         System                                  \
14         $(MONO_SYMBOLWRITER)
15
16 # Note that Mono.Security and System.Security aren't listed.
17 # We may have to add those if 'mcs' starts using them.
18 basic_SUBDIRS := corlib System System.XML System
19
20 net_1_1_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
21 net_2_0_bootstrap_SUBDIRS := $(bootstrap_dirs) PEAPI
22
23 net_1_1_java_SUBDIRS = \
24         System.Xml                                      \
25         System.Data                                     \
26         System.Drawing                                  \
27         Novell.Directory.Ldap                           \
28         System.DirectoryServices                        \
29         System.Runtime.Serialization.Formatters.Soap    \
30         System.Runtime.Remoting
31
32 common_dirs := \
33         corlib                          \
34         System                          \
35         System.XML                      \
36         Mono.Security                   \
37         System                          \
38         System.Security                 \
39         System.Configuration            \
40         System                          \
41         System.XML                      \
42         I18N                            \
43         System.Drawing                  \
44         System.Transactions             \
45         System.EnterpriseServices       \
46         Mono.C5                         \
47         Mono.Data.Tds                   \
48         Mono.Cecil                      \
49         Mono.Cecil.Mdb          \
50         System.Data                     \
51         Mono.Data                       \
52         Mono.GetOptions                 \
53         $(MONO_SYMBOLWRITER)            \
54         $(MONO_POSIX)                   \
55         Accessibility                   \
56         Mono.Mozilla                    \
57         Managed.Windows.Forms           \
58         Mono.Data.Sqlite                \
59         Mono.Data.SqliteClient          \
60         System.Web                      \
61         System.Web.Services             \
62         System.Web                      \
63         System.Runtime.Serialization.Formatters.Soap \
64         System.Runtime.Remoting         \
65         System.Configuration.Install    \
66         System.Management               \
67         Mono.Data.SybaseClient          \
68         Mono.Data.TdsClient             \
69         System.Data.OracleClient        \
70         Microsoft.VisualC               \
71         Cscompmgd                       \
72         System.Design                   \
73         PEAPI                           \
74         Npgsql                          \
75         Compat.ICSharpCode.SharpZipLib  \
76         ICSharpCode.SharpZipLib         \
77         Compat.ICSharpCode.SharpZipLib  \
78         ByteFX.Data                     \
79         Commons.Xml.Relaxng             \
80         Novell.Directory.Ldap           \
81         Mono.Security.Win32             \
82         System.DirectoryServices        \
83         System.Messaging                \
84         System.ServiceProcess           \
85         System.Drawing.Design           \
86         System.Design                   \
87         Mono.Http                       \
88         Microsoft.Vsa                   \
89         Mono.Cairo                      \
90         IBM.Data.DB2                    \
91         Microsoft.JScript               \
92         CustomMarshalers                \
93         OpenSystem.C
94
95 default_dirs := FirebirdSql.Data.Firebird
96
97 net_2_0_dirs := \
98         System.Core                     \
99         System.Web.Extensions           \
100         System.Web.Extensions.Design    \
101         Microsoft.Build.Framework       \
102         Microsoft.Build.Utilities       \
103         Microsoft.Build.Engine          \
104         Microsoft.Build.Tasks
105
106 net_2_1_dirs := \
107         corlib                  \
108         System                  \
109         System.Xml.Core \
110         System.Core             \
111         
112 net_3_5_dirs := \
113         System.Xml.Linq                 \
114         System.Web.Extensions           \
115         System.Web.Extensions.Design    \
116
117 default_SUBDIRS := $(common_dirs) $(default_dirs)
118 net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs)
119 net_2_1_SUBDIRS := $(net_2_1_dirs)
120 net_3_5_SUBDIRS := $(net_3_5_dirs)
121
122 include ../build/rules.make
123
124 SUBDIRS = $(common_dirs) $(default_dirs) $(net_2_0_dirs) $(net_2_1_dirs) $(net_3_5_dirs)
125
126 # These libraries below are either unimplemented or don't compile, but
127 # I wrote makefiles for them.
128
129 BROKEN_SUBDIRS =
130
131 DIST_ONLY_SUBDIRS = \
132         $(BROKEN_SUBDIRS)
133
134 # No new makefiles for: System.Messaging, System.Web.Mobile,
135 # System.ServiceProcess
136
137 DISTFILES = \
138         ecma.pub                \
139         winfx.pub               \
140         mono.pub                \
141         msfinal.pub             \
142         mono.snk                \
143         LICENSE                 \
144         README                  \
145         doc/API-notes           \
146         doc/NUnitGuidelines     \
147         doc/TemplateTest.cs     \
148         notes/BitVecto32.txt    \
149         $(monolite_files)
150
151 .PHONY: all-local $(STD_TARGETS:=-local)
152 all-local $(STD_TARGETS:=-local):
153         @:
154
155 basic_files = mcs.exe mscorlib.dll System.dll System.Xml.dll
156 monolite_files = $(basic_files:%=lib/monolite/%)
157
158 lib/monolite:
159         $(MKINSTALLDIRS) $@
160
161 $(monolite_files): | lib/monolite
162 $(monolite_files): lib/monolite/%: lib/basic/%
163         cp -p $< $@
164
165 $(basic_files:%=lib/basic/%):
166         cd $(topdir) && $(MAKE) profile-do--basic--all
167
168 dist-default: $(monolite_files)
169 dist-local: dist-default