* Updated to jitcache-arm-x86 branch d4f6023b26c5+d1b5b1c106ac
[cacao.git] / src / vm / jit / Makefile.am
1 ## src/vm/jit/Makefile.am
2 ##
3 ## Copyright (C) 1996-2005, 2006, 2007, 2008
4 ## CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
5 ##
6 ## This file is part of CACAO.
7 ##
8 ## This program is free software; you can redistribute it and/or
9 ## modify it under the terms of the GNU General Public License as
10 ## published by the Free Software Foundation; either version 2, or (at
11 ## your option) any later version.
12 ##
13 ## This program is distributed in the hope that it will be useful, but
14 ## WITHOUT ANY WARRANTY; without even the implied warranty of
15 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16 ## General Public License for more details.
17 ##
18 ## You should have received a copy of the GNU General Public License
19 ## along with this program; if not, write to the Free Software
20 ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 ## 02110-1301, USA.
22
23
24 AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/src/vm/jit/$(ARCH_DIR) -I$(top_srcdir)/src/vm/jit/$(ARCH_DIR)/$(OS_DIR) -I$(top_builddir)/src -I$(top_srcdir)/contrib/vmlog
25
26 LIBS =
27
28 DIST_SUBDIRS = \
29         allocator \
30         inline \
31         ir \
32         loop \
33         optimizing \
34         schedule \
35         verify \
36         \
37         intrp \
38         alpha \
39         arm \
40         i386 \
41         m68k \
42         mips \
43         parisc \
44         powerpc \
45         powerpc64 \
46         s390 \
47         sparc64 \
48         x86_64
49
50 SUBDIRS = \
51         ir \
52         optimizing \
53         $(ARCH_DIR)
54
55 ARCH_LIB = \
56         $(ARCH_DIR)/libarch.la
57
58 if ENABLE_JIT
59 SUBDIRS += \
60         allocator
61
62 OPTIMIZING_LIB = \
63         optimizing/liboptimizing.la
64 endif
65
66 if ENABLE_INTRP
67 SUBDIRS += \
68         intrp
69
70 INTRP_LIB = \
71         intrp/libintrp.la
72 endif
73
74 if ENABLE_INLINING
75 SUBDIRS += \
76         inline
77
78 INLINE_LIB = \
79         inline/libinline.la
80 endif
81
82 if ENABLE_LOOP
83 SUBDIRS += \
84         loop
85
86 LOOP_LIB = \
87         loop/libloop.la
88 endif
89
90 if USE_SCHEDULER
91 SUBDIRS += \
92         schedule
93
94 SCHEDULE_LIB = \
95         schedule/libschedule.la
96 endif
97
98 REPLACE_SOURCES =
99
100 if ENABLE_JIT
101 REG_SOURCES = \
102         reg.c \
103         reg.h
104
105 REPLACE_SOURCES += \
106         replace.hpp
107
108 STACK_SOURCES = \
109         stack.c \
110         stack.h
111
112 TRAP_SOURCES = \
113         trap.c \
114         trap.h
115 endif
116
117 if ENABLE_JITCACHE
118 JITCACHE_SOURCES = \
119         jitcache.cpp \
120         jitcache.hpp
121
122 endif
123
124
125 if ENABLE_REPLACEMENT
126 REPLACE_SOURCES += \
127         replace.cpp
128 endif
129
130 if ENABLE_VERIFIER
131 SUBDIRS += \
132         verify
133
134 VERIFIER_LIB = \
135         verify/libverify.la
136 endif
137
138 if ENABLE_OPAGENT
139 OPAGENT_SOURCES = \
140         oprofile-agent.cpp \
141         oprofile-agent.hpp
142
143 endif
144
145 if WITH_BINUTILS_DISASSEMBLER
146 DISASS_SOURCES = disass-common.c
147 endif
148
149 noinst_HEADERS = \
150         abi.h \
151         abi-asm.h \
152         asmpart.h \
153         methodheader.h
154
155 noinst_LTLIBRARIES = \
156         libjit.la
157
158 libjit_la_SOURCES = \
159         argument.cpp \
160         argument.hpp \
161         builtin.cpp \
162         builtin.hpp \
163         builtintable.inc \
164         code.cpp \
165         code.hpp \
166         codegen-common.cpp \
167         codegen-common.hpp \
168         disass.h \
169         $(DISASS_SOURCES) \
170         dseg.c \
171         dseg.h \
172         emit-common.cpp \
173         emit-common.hpp \
174         exceptiontable.c \
175         exceptiontable.h \
176         executionstate.c \
177         executionstate.h \
178         jit.cpp \
179         jit.hpp \
180         linenumbertable.cpp \
181         linenumbertable.hpp \
182         methodtree.c \
183         methodtree.h \
184         parse.c \
185         parse.h \
186         patcher-common.cpp \
187         patcher-common.hpp \
188         $(RECOMPILE_SOURCES) \
189         $(REG_SOURCES) \
190         $(JITCACHE_SOURCES) \
191         $(REPLACE_SOURCES) \
192         show.cpp \
193         show.hpp \
194         $(STACK_SOURCES) \
195         stacktrace.cpp \
196         stacktrace.hpp \
197         stubs.cpp \
198         stubs.hpp \
199         trace.cpp \
200         trace.hpp \
201         $(TRAP_SOURCES) \
202         $(OPAGENT_SOURCES)
203
204 libjit_la_SOURCES += \
205         cfg.c \
206         cfg.h
207
208 libjit_la_LIBADD = \
209         allocator/liballocator.la \
210         $(INLINE_LIB) \
211         ir/libir.la \
212         $(LOOP_LIB) \
213         $(OPTIMIZING_LIB) \
214         $(PROFILE_LIB) \
215         $(SCHEDULE_LIB) \
216         $(VERIFIER_LIB) \
217         $(INTRP_LIB) \
218         $(ARCH_LIB)
219
220 if ENABLE_PYTHON
221 libjit_la_SOURCES += \
222         python.c
223 AM_CPPFLAGS += \
224         @PYTHON_CSPEC@
225 LIBS += \
226         @PYTHON_LSPEC@
227 endif
228
229
230 ## Local variables:
231 ## mode: Makefile
232 ## indent-tabs-mode: t
233 ## c-basic-offset: 4
234 ## tab-width: 8
235 ## compile-command: "automake --add-missing"
236 ## End: