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