2007-02-18 Marek Sieradzki <marek.sieradzki@gmail.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.EnterpriseServices       \
45         Mono.C5                         \
46         Mono.Data.Tds                   \
47         System.Transactions             \
48         System.Data                     \
49         Mono.Data                       \
50         Mono.GetOptions                 \
51         $(MONO_SYMBOLWRITER)            \
52         $(MONO_POSIX)                   \
53         Accessibility                   \
54         Managed.Windows.Forms           \
55         System.Web                      \
56         System.Web.Services             \
57         System.Web                      \
58         System.Runtime.Serialization.Formatters.Soap \
59         System.Runtime.Remoting         \
60         System.Configuration.Install    \
61         System.Management               \
62         Mono.Data.SqliteClient          \
63         Mono.Data.SybaseClient          \
64         Mono.Data.TdsClient             \
65         System.Data.OracleClient        \
66         Microsoft.VisualC               \
67         Cscompmgd                       \
68         System.Design                   \
69         PEAPI                           \
70         Npgsql                          \
71         Compat.ICSharpCode.SharpZipLib  \
72         ICSharpCode.SharpZipLib         \
73         Compat.ICSharpCode.SharpZipLib  \
74         ByteFX.Data                     \
75         Commons.Xml.Relaxng             \
76         Novell.Directory.Ldap           \
77         Mono.Security.Win32             \
78         System.DirectoryServices        \
79         System.Messaging                \
80         System.ServiceProcess           \
81         System.Drawing.Design           \
82         Mono.Http                       \
83         Microsoft.Vsa                   \
84         Mono.Cairo                      \
85         IBM.Data.DB2                    \
86         Microsoft.JScript               \
87         CustomMarshalers                \
88         OpenSystem.C
89
90 default_dirs := FirebirdSql.Data.Firebird
91
92 net_2_0_dirs := \
93         System.Core                     \
94         Microsoft.Build.Framework       \
95         Microsoft.Build.Utilities       \
96         Microsoft.Build.Engine          \
97         Microsoft.Build.Tasks
98
99 default_SUBDIRS := $(common_dirs) $(default_dirs)
100 net_2_0_SUBDIRS := $(common_dirs) $(net_2_0_dirs)
101
102 include ../build/rules.make
103
104 SUBDIRS = $(common_dirs) $(default_dirs) $(net_2_0_dirs)
105
106 # These libraries below are either unimplemented or don't compile, but
107 # I wrote makefiles for them.
108
109 BROKEN_SUBDIRS =
110
111 DIST_ONLY_SUBDIRS = \
112         $(BROKEN_SUBDIRS)
113
114 # No new makefiles for: System.Messaging, System.Web.Mobile,
115 # System.ServiceProcess
116
117 DISTFILES = \
118         ecma.pub                \
119         mono.pub                \
120         msfinal.pub             \
121         mono.snk                \
122         LICENSE                 \
123         README                  \
124         doc/API-notes           \
125         doc/NUnitGuidelines     \
126         doc/TemplateTest.cs     \
127         notes/BitVecto32.txt    \
128         $(monolite_files)
129
130 .PHONY: all-local $(STD_TARGETS:=-local)
131 all-local $(STD_TARGETS:=-local):
132         @:
133
134 basic_files = mcs.exe mscorlib.dll System.dll System.Xml.dll
135 monolite_files = $(basic_files:%=lib/monolite/%)
136
137 DIST_PROFILE_DIRS = basic net_1_1_bootstrap default net_2_0_bootstrap net_2_0
138 COMPAT_PROFILE_DIRS = default net_2_0
139
140 lib/monolite:
141         $(MKINSTALLDIRS) $@
142
143 $(monolite_files): lib/monolite/%: lib/basic/% lib/monolite
144         cp -p $< $@
145
146 $(basic_files:%=lib/basic/%):
147         cd $(topdir) && $(MAKE) profile-do--basic--all
148
149 dist-default: $(monolite_files)
150 dist-local: dist-default
151         -$(MKINSTALLDIRS) $(DIST_PROFILE_DIRS:%=$(distdir)/lib/%) $(COMPAT_PROFILE_DIRS:%=$(distdir)/compat/%)