Further changes.
[cacao.git] / Makefile.am
1 ## Process this file with automake to produce Makefile.in
2
3 # $Id: Makefile.am 1572 2004-11-23 16:05:40Z twisti $
4
5 @SET_MAKE@
6
7 MAINTAINERCLEANFILES = Makefile.in configure
8 ALLSUBDIRS = mm toolbox threads jit nat tst doc jvmtst classpath
9 SUBDIRS = $(ALLSUBDIRS)
10 DIST_SUBDIRS = $(ALLSUBDIRS)
11
12 EXTRA_DIST = \
13         html/cacaoinstall.html \
14         html/cacaoman.html \
15         html/index.html \
16         main.h \
17         natcalls.h \
18         nativecalls.h
19
20 CLEANFILES = \
21         nativetable.inc
22
23 bin_PROGRAMS = cacao cacaoh
24 noinst_PROGRAMS = gennativetable genoffsets
25
26 INCLUDES = -I$(top_srcdir)/jit/@ARCH_DIR@
27
28 BOEHM_LIBS = mm/libboehm.a mm/boehm-gc/.libs/libgc.a
29
30 if USE_ZLIB
31 ZLIB_OBJ = unzip.c
32 endif
33
34 cacao_SOURCES = \
35         builtin.c \
36         exceptions.c \
37         jni.c \
38         loader.c \
39         main.c \
40         native.c \
41         options.c \
42         statistics.c \
43         tables.c \
44         typeinfo.c \
45         $(ZLIB_OBJ)
46
47 cacao_LDADD = \
48         jit/libjit.a \
49         jit/loop/libloop.a \
50         jit/@ARCH_DIR@/libarch.a \
51         nat/libnat.a \
52         $(BOEHM_LIBS) \
53         @THREAD_OBJ@ \
54         toolbox/libtoolbox.a \
55         @STATIC_CLASSPATH_LIBS@ \
56         @DYNAMIC_CLASSPATH_LIBS@ \
57         @AWT_OBJS@
58
59
60 cacao_DEPENDENCIES = \
61         jit/libjit.a \
62         jit/loop/libloop.a \
63         jit/@ARCH_DIR@/libarch.a \
64         nat/libnat.a \
65         $(BOEHM_LIBS) \
66         @THREAD_OBJ@ \
67         toolbox/libtoolbox.a \
68         @STATIC_CLASSPATH_LIBS@ \
69         nativetable.inc \
70         @AWT_OBJS@
71
72 cacaoh_SOURCES = \
73         builtin.c \
74         cacaoh.c \
75         exceptions.c \
76         headers.c \
77         loader.c \
78         options.c \
79         statistics.c \
80         tables.c \
81         $(ZLIB_OBJ)
82
83 cacaoh_LDADD = \
84         $(BOEHM_LIBS) \
85         classpath/native/jni/java-lang/.libs/libjavalang.a \
86         @THREAD_OBJ@ \
87         toolbox/libtoolbox.a
88
89 cacaoh_DEPENDENCIES = \
90         $(BOEHM_LIBS) \
91         classpath/native/jni/java-lang/.libs/libjavalang.a \
92         @THREAD_OBJ@ \
93         toolbox/libtoolbox.a
94
95 gennativetable_SOURCES = \
96         builtin.c \
97         exceptions.c \
98         gennativetable.c \
99         headers.c \
100         loader.c \
101         options.c \
102         tables.c \
103         statistics.c \
104         $(ZLIB_OBJ)
105
106 gennativetable_LDADD = \
107         $(BOEHM_LIBS) \
108         classpath/native/jni/java-lang/.libs/libjavalang.a \
109         @THREAD_OBJ@ \
110         toolbox/libtoolbox.a
111
112 gennativetable_DEPENDENCIES = \
113         $(BOEHM_LIBS) \
114         classpath/native/jni/java-lang/.libs/libjavalang.a \
115         @THREAD_OBJ@ \
116         toolbox/libtoolbox.a
117
118 all: cacaoh genoffsets gennativetable cacao
119
120 mm/libboehm.a:
121         make -C mm
122
123 classpath/native/jni/java-lang/.libs/libjavalang.a:
124         make -C classpath/native/
125
126 threads/libthreads.a:
127         make -C threads
128
129 toolbox/libtoolbox.a:
130         make -C toolbox
131
132 jit/libjit.a:
133         make -C jit
134
135 nat/libnat.a:
136         make -C nat
137
138 natheaders: cacaoh
139         CLASSPATH=$(top_srcdir)/classpath/lib/bootstrap.zip \
140         ./cacaoh -d nat/ \
141         $(CLASSES)
142
143 nativetable.inc: gennativetable nat/implementednatives.data
144         CLASSPATH=$(top_srcdir)/classpath/lib/bootstrap.zip \
145         $(top_srcdir)/gennativetable \
146         $(NOGEN_CLASSES) \
147         $(CLASSES) \
148         > nativetable.inc
149
150 nat/implementednatives.data:
151         make -C nat implementednatives
152
153 native.c: nativetable.inc
154
155 CLASSES= \
156         java.lang.JOWENNTest1 \
157         \
158         java.lang.reflect.Field \
159         java.lang.SecurityManager \
160         java.net.DatagramPacket \
161         java.net.InetAddress \
162         java.net.SocketImpl \
163         java.util.Properties \
164         \
165         gnu.classpath.Configuration \
166         gnu.classpath.RawData \
167         gnu.java.lang.reflect.TypeSignature \
168         gnu.java.math.MPN \
169         gnu.java.net.PlainDatagramSocketImpl \
170         gnu.java.net.PlainSocketImpl \
171         gnu.java.nio.FileLockImpl \
172         gnu.java.nio.SelectorImpl \
173         gnu.java.nio.channels.FileChannelImpl \
174         gnu.java.security.x509.X509Certificate  \
175         java.beans.PropertyEditor \
176         java.io.DataInput \
177         java.io.DataInputStream \
178         java.io.File \
179         java.io.FileDescriptor \
180         java.io.FileInputStream \
181         java.io.FileWriter \
182         java.io.ObjectInputStream \
183         java.io.OutputStream \
184         java.io.OutputStreamWriter \
185         java.io.PrintStream \
186         java.io.PrintWriter \
187         java.io.RandomAccessFile \
188         java.io.VMFile \
189         java.io.VMObjectStreamClass \
190         java.io.Writer \
191         java.lang.Boolean \
192         java.lang.Byte \
193         java.lang.Character \
194         java.lang.Class \
195         java.lang.Compiler \
196         java.lang.Double \
197         java.lang.Float \
198         java.lang.Integer \
199         java.lang.Long \
200         java.lang.Math \
201         java.lang.Process \
202         java.lang.Runtime \
203         java.lang.RuntimePermission \
204         java.lang.Short \
205         java.lang.StackTraceElement \
206         java.lang.StrictMath \
207         java.lang.StringBuffer \
208         java.lang.System \
209         java.lang.UnsatisfiedLinkError \
210         java.lang.VMClass \
211         java.lang.VMClassLoader \
212         java.lang.VMDouble \
213         java.lang.VMFloat \
214         java.lang.VMRuntime \
215         java.lang.VMSecurityManager \
216         java.lang.VMString \
217         java.lang.VMSystem \
218         java.lang.VMThrowable \
219         java.lang.reflect.Array \
220         java.lang.reflect.Constructor \
221         java.lang.reflect.Method \
222         java.lang.reflect.Modifier \
223         java.lang.reflect.Proxy \
224         java.net.DatagramSocketImpl \
225         java.net.NetworkInterface \
226         java.nio.ByteOrder \
227         java.nio.CharBufferImpl \
228         java.nio.DirectByteBufferImpl \
229         java.nio.DoubleBufferImpl \
230         java.nio.FloatBufferImpl \
231         java.nio.IntBufferImpl \
232         java.nio.LongBufferImpl \
233         java.nio.ShortBufferImpl \
234         java.security.AccessController \
235         java.security.ProtectionDomain \
236         java.security.cert.Certificate \
237         java.security.cert.X509Certificate \
238         java.sql.Connection \
239         java.text.Collator \
240         java.util.Hashtable \
241         java.util.Locale \
242         java.util.TimeZone \
243         java.util.VMTimeZone \
244         java.util.zip.Deflater \
245         java.util.zip.Inflater \
246         javax.swing.Popup \
247         javax.swing.UIManager \
248         @AWTPEERS@
249
250 NOGEN_CLASSES = \
251         java.lang.ClassLoader \
252         java.lang.Cloneable \
253         java.lang.Object \
254         java.lang.String \
255         java.lang.ThreadGroup \
256         java.lang.Throwable \
257         java.lang.VMObject \
258         java.lang.VMThread
259
260 checkjvm:
261         $(MAKE) -C jvmtst $@
262
263
264 ## Local variables:
265 ## mode: Makefile
266 ## indent-tabs-mode: t
267 ## c-basic-offset: 4
268 ## tab-width: 8
269 ## compile-command: "automake --add-missing"
270 ## End: