* src/vm/jit/jitcache.cpp: Make sure all included C headers use C linkage.
[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.h
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.c
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.c \
160         argument.h \
161         code.c \
162         code.h \
163         codegen-common.c \
164         codegen-common.h \
165         disass.h \
166         $(DISASS_SOURCES) \
167         dseg.c \
168         dseg.h \
169         emit-common.c \
170         emit-common.h \
171         exceptiontable.c \
172         exceptiontable.h \
173         executionstate.c \
174         executionstate.h \
175         icmdtable.inc \
176         jit.c \
177         jit.h \
178         linenumbertable.c \
179         linenumbertable.h \
180         methodtree.c \
181         methodtree.h \
182         parse.c \
183         parse.h \
184         patcher-common.c \
185         patcher-common.h \
186         $(RECOMPILE_SOURCES) \
187         $(REG_SOURCES) \
188         $(JITCACHE_SOURCES) \
189         $(REPLACE_SOURCES) \
190         show.c \
191         show.h \
192         $(STACK_SOURCES) \
193         stacktrace.cpp \
194         stacktrace.hpp \
195         trace.cpp \
196         trace.hpp \
197         $(TRAP_SOURCES) \
198         $(OPAGENT_SOURCES)
199
200 libjit_la_SOURCES += \
201         cfg.c \
202         cfg.h
203
204 libjit_la_LIBADD = \
205         allocator/liballocator.la \
206         $(INLINE_LIB) \
207         ir/libir.la \
208         $(LOOP_LIB) \
209         $(OPTIMIZING_LIB) \
210         $(PROFILE_LIB) \
211         $(SCHEDULE_LIB) \
212         $(VERIFIER_LIB) \
213         $(INTRP_LIB) \
214         $(ARCH_LIB)
215
216 if ENABLE_PYTHON
217 libjit_la_SOURCES += \
218         python.c
219 AM_CPPFLAGS += \
220         @PYTHON_CSPEC@
221 LIBS += \
222         @PYTHON_LSPEC@
223 endif
224
225
226 ## Local variables:
227 ## mode: Makefile
228 ## indent-tabs-mode: t
229 ## c-basic-offset: 4
230 ## tab-width: 8
231 ## compile-command: "automake --add-missing"
232 ## End: