2005-11-17 Atsushi Enomoto <atsushi@ximian.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)
22
23 include ../build/rules.make
24
25 ifeq (net_1_1_java, $(PROFILE))
26 SUBDIRS = \
27         System.Xml      \
28         System.Data     \
29         System.Drawing  \
30         Novell.Directory.Ldap   \
31         System.DirectoryServices \
32         System.Runtime.Serialization.Formatters.Soap \
33         System.Runtime.Remoting
34
35 else
36 # For now, Mono.Security.Win32 is built on Linux too.
37 # However, it isn't tested on Linux, since it depends on a Win32 dll.
38 SUBDIRS = \
39         corlib                          \
40         System                          \
41         System.XML                      \
42         Mono.Security                   \
43         System.Configuration    \
44         System                          \
45         System.Security                 \
46         I18N                            \
47         System.Drawing                  \
48         System.EnterpriseServices       \
49         Mono.C5                         \
50         Mono.Data.Tds                   \
51         System.Data                     \
52         Mono.Data                       \
53         Mono.GetOptions                 \
54         System.Web                      \
55         System.Web.Services             \
56         System.Runtime.Serialization.Formatters.Soap \
57         System.Runtime.Remoting         \
58         System.Configuration.Install    \
59         System.Management               \
60         $(MONO_SYMBOLWRITER)            \
61         $(MONO_POSIX)                   \
62         Mono.Data.SqliteClient          \
63         Mono.Data.SybaseClient          \
64         Mono.Data.TdsClient             \
65         System.Data.OracleClient        \
66         Accessibility                   \
67         Microsoft.VisualC               \
68         Cscompmgd                       \
69         Managed.Windows.Forms           \
70         Microsoft.VisualBasic           \
71         System.Design                   \
72         PEAPI                           \
73         Npgsql                          \
74         ICSharpCode.SharpZipLib         \
75         ByteFX.Data                     \
76         Commons.Xml.Relaxng             \
77         Novell.Directory.Ldap           \
78         Mono.Security.Win32             \
79         System.DirectoryServices        \
80         System.Messaging                \
81         System.ServiceProcess           \
82         System.Drawing.Design           \
83         Mono.Http                       \
84         Microsoft.Vsa                   \
85         Mono.Cairo                      \
86         IBM.Data.DB2                    \
87         Microsoft.JScript               \
88         FirebirdSql.Data.Firebird
89 endif
90 # Starting with Microsoft.Vsa, the libraries above weren't in the
91 # Linux makefile.gnu before, but they build fine, so might as well
92 # include them ...
93 #
94
95 # These libraries below are either unimplemented or don't compile, but
96 # I wrote makefiles for them.
97
98 DIST_ONLY_SUBDIRS = \
99         Custommarshalers                \
100         Mono.Globalization
101
102 # No new makefiles for: System.Messaging, System.Web.Mobile,
103 # System.ServiceProcess
104
105 DISTFILES = \
106         ecma.pub                \
107         mono.pub                \
108         msfinal.pub             \
109         mono.snk                \
110         LICENSE                 \
111         README                  \
112         doc/API-notes           \
113         doc/NUnitGuidelines     \
114         doc/TemplateTest.cs     \
115         notes/BitVecto32.txt    \
116         $(monolite_files)
117
118 .PHONY: all-local $(STD_TARGETS:=-local)
119 all-local $(STD_TARGETS:=-local):
120         @:
121
122 basic_files = mcs.exe mscorlib.dll System.dll System.Xml.dll
123 monolite_files = $(basic_files:%=lib/monolite/%)
124
125 DIST_PROFILE_DIRS = basic net_1_1_bootstrap default net_2_0_bootstrap net_2_0
126
127 lib/monolite:
128         $(MKINSTALLDIRS) $@
129
130 $(monolite_files): lib/monolite/%: lib/basic/% lib/monolite
131         cp -p $< $@
132
133 $(basic_files:%=lib/basic/%):
134         cd $(topdir) && $(MAKE) profile-do--basic--all
135
136 dist-default: $(monolite_files)
137 dist-local: dist-default
138         -$(MKINSTALLDIRS) $(DIST_PROFILE_DIRS:%=$(distdir)/lib/%)