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