Move jit code into a dedicated modules (was in core)
[scilab.git] / scilab / modules / Makefile.am
1 #
2 # Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 # Copyright (C) INRIA - 2006-2008 - Sylvestre Ledru
4 # Copyright (C) DIGITEO - 2009 - Sylvestre Ledru
5 #
6 # This file must be used under the terms of the CeCILL.
7 # This source file is licensed as described in the file COPYING, which
8 # you should have received as part of this distribution.  The terms
9 # are also available at
10 # http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
11 #
12
13 # The order DOES matter !!!
14
15 # core is the main module of Scilab. All the compilation deps has been removed
16 # since it already linked almost the whole world
17
18
19 SUBDIRS = \
20 prebuildjava \
21 threads \
22 operations \
23 output_stream \
24 arnoldi \
25 elementary_functions \
26 functions_manager \
27 fileio \
28 mexlib \
29 functions \
30 parameters \
31 boolean \
32 cacsd \
33 signal_processing \
34 core \
35 call_scilab \
36 api_scilab \
37 data_structures \
38 differential_equations \
39 elementary_functions \
40 integer \
41 io \
42 linear_algebra \
43 localization \
44 polynomials \
45 special_functions \
46 time \
47 windows_tools \
48 sparse \
49 completion \
50 history_manager \
51 output_stream \
52 string \
53 hdf5 \
54 fftw \
55 statistics \
56 dynamic_link \
57 console \
58 arnoldi \
59 spreadsheet \
60 tclsci \
61 commons \
62 jvm \
63 action_binding \
64 graphic_objects \
65 renderer \
66 graphic_export \
67 gui \
68 graphics \
69 optimization \
70 symbolic \
71 randlib \
72 interpolation \
73 sound \
74 overloading \
75 m2sci \
76 development_tools \
77 compatibility_functions \
78 helptools \
79 umfpack \
80 demo_tools \
81 genetic_algorithms \
82 simulated_annealing \
83 parameters \
84 matio \
85 atoms \
86 hdf5 \
87 graph \
88 xcos \
89 system_env \
90 ast \
91 jit \
92 symbol \
93 parse \
94 scinotes \
95 parallel \
96 modules_manager \
97 ui_data \
98 history_browser \
99 preferences \
100 xml \
101 types \
102 external_objects
103
104 if XCOS
105 SUBDIRS += scicos_blocks
106 endif
107
108 SUBDIRS += scicos
109
110 SUBDIRS += .
111
112 # javasci should be compile at the end because it needs libscilab.la
113 # Don't forget that the order in subdirs does matter !!!
114 if JAVASCI
115 SUBDIRS += javasci
116 endif
117
118 #### Basic files ####
119 libscilab_la_rootdir = $(mydatadir)
120
121 # libscilab is the full library with the GUI
122 # libscilab-cli is for scilab-cli (without GUI)
123 pkglib_LTLIBRARIES = libscilab-cli.la libscilab.la
124 libscilab_la_SOURCES =
125 #libscilab_cli_la_SOURCES =
126
127 libscilab_la_LDFLAGS = $(LAPACK_LIBS) $(BLAS_LIBS) $(AM_LDFLAGS)
128 #libscilab_cli_la_LDFLAGS = $(LAPACK_LIBS) $(BLAS_LIBS) -lstdc++
129
130
131 GUI_LIBS =      $(top_builddir)/modules/gui/libscigui.la \
132         $(top_builddir)/modules/renderer/libscirenderer.la \
133         $(top_builddir)/modules/graphics/libscigraphics.la \
134         $(top_builddir)/modules/graphic_export/libscigraphic_export.la \
135         $(top_builddir)/modules/console/libsciconsole.la \
136         $(top_builddir)/modules/action_binding/libsciaction_binding.la \
137         $(top_builddir)/modules/jvm/libscijvm.la \
138         $(top_builddir)/modules/graphic_objects/libscigraphic_objects.la \
139         $(top_builddir)/modules/scinotes/libsciscinotes.la \
140         $(top_builddir)/modules/ui_data/libsciui_data.la \
141         $(top_builddir)/modules/history_browser/libscihistory_browser.la \
142         $(top_builddir)/modules/commons/libscicommons.la \
143         $(top_builddir)/modules/tclsci/libscitclsci.la \
144         $(top_builddir)/modules/preferences/libscipreferences.la
145
146 NO_GUI_LIBS = $(top_builddir)/modules/gui/libscigui-disable.la \
147         $(top_builddir)/modules/graphics/libscigraphics-disable.la \
148         $(top_builddir)/modules/graphic_export/libscigraphic_export-disable.la \
149         $(top_builddir)/modules/console/libsciconsole-minimal.la \
150         $(top_builddir)/modules/action_binding/libsciaction_binding-disable.la \
151         $(top_builddir)/modules/jvm/libscijvm-disable.la \
152         $(top_builddir)/modules/xcos/libscixcos-disable.la \
153         $(top_builddir)/modules/graphic_objects/libscigraphic_objects-disable.la \
154         $(top_builddir)/modules/scinotes/libsciscinotes-disable.la \
155         $(top_builddir)/modules/ui_data/libsciui_data-disable.la \
156         $(top_builddir)/modules/history_browser/libscihistory_browser-disable.la \
157         $(top_builddir)/modules/commons/libscicommons-disable.la \
158         $(top_builddir)/modules/helptools/libscihelptools-disable.la
159
160
161 ENGINE_LIBS =   $(top_builddir)/modules/fileio/libscifileio.la \
162         $(top_builddir)/modules/mexlib/libmex.la \
163         $(top_builddir)/modules/functions/libscifunctions.la \
164         $(top_builddir)/modules/parameters/libsciparameters.la \
165         $(top_builddir)/modules/boolean/libsciboolean.la \
166         $(top_builddir)/modules/cacsd/libscicacsd.la \
167         $(top_builddir)/modules/api_scilab/libsciapi_scilab.la \
168         $(top_builddir)/modules/core/libscicore.la \
169         $(top_builddir)/modules/call_scilab/libscicall_scilab.la \
170         $(top_builddir)/modules/data_structures/libscidata_structures.la \
171         $(top_builddir)/modules/differential_equations/libscidifferential_equations.la \
172         $(top_builddir)/modules/elementary_functions/libscielementary_functions.la \
173         $(top_builddir)/modules/integer/libsciinteger.la \
174         $(top_builddir)/modules/io/libsciio.la \
175         $(top_builddir)/modules/linear_algebra/libscilinear_algebra.la \
176         $(top_builddir)/modules/localization/libscilocalization.la \
177         $(top_builddir)/modules/polynomials/libscipolynomials.la \
178         $(top_builddir)/modules/special_functions/libscispecial_functions.la \
179         $(top_builddir)/modules/time/libscitime.la \
180         $(top_builddir)/modules/windows_tools/libsciwindows_tools.la \
181         $(top_builddir)/modules/sparse/libscisparse.la \
182         $(top_builddir)/modules/completion/libscicompletion.la \
183         $(top_builddir)/modules/history_manager/libscihistory_manager.la \
184         $(top_builddir)/modules/output_stream/libscioutput_stream.la \
185         $(top_builddir)/modules/string/libscistring.la \
186         $(top_builddir)/modules/threads/libscithreads.la \
187         $(top_builddir)/modules/hdf5/libscihdf5.la \
188         $(top_builddir)/modules/ast/libsciast.la \
189         $(top_builddir)/modules/jit/libscijit.la \
190         $(top_builddir)/modules/symbol/libscisymbol.la \
191         $(top_builddir)/modules/parse/libsciparse.la \
192         $(top_builddir)/modules/system_env/libscisystem_env.la \
193         $(top_builddir)/modules/functions_manager/libscifunctions_manager.la \
194         $(top_builddir)/modules/functions/libscifunctions.la \
195         $(top_builddir)/modules/parallel/libsciparallel.la \
196         $(top_builddir)/modules/fftw/libscifftw.la \
197         $(top_builddir)/modules/signal_processing/libscisignal_processing.la \
198         $(top_builddir)/modules/matio/libscimatio.la \
199         $(top_builddir)/modules/operations/libscioperations.la \
200         $(top_builddir)/modules/dynamic_link/libscidynamic_link.la \
201         $(top_builddir)/modules/statistics/libscistatistics.la \
202         $(top_builddir)/modules/xml/libscixml.la \
203         $(top_builddir)/modules/types/libscitypes.la \
204         $(top_builddir)/modules/external_objects/libsciexternal_objects.la \
205         $(top_builddir)/modules/preferences/libscipreferences-cli.la
206
207 # These libraries are loaded dynamically from Scilab.
208 ENGINE_LIBS_DYNAMIC_LOAD = \
209         $(top_builddir)/modules/optimization/libscioptimization.la \
210         $(top_builddir)/modules/signal_processing/libscisignal_processing.la \
211         $(top_builddir)/modules/interpolation/libsciinterpolation.la \
212         $(top_builddir)/modules/symbolic/libscisymbolic.la \
213         $(top_builddir)/modules/arnoldi/libsciarnoldi.la \
214         $(top_builddir)/modules/randlib/libscirandlib.la \
215         $(top_builddir)/modules/xcos/libscixcos.la \
216         $(top_builddir)/modules/scicos_blocks/libsciscicos_blocks.la \
217         $(top_builddir)/modules/scicos/libsciscicos.la \
218         $(top_builddir)/modules/sound/libscisound.la \
219         $(top_builddir)/modules/spreadsheet/libscispreadsheet.la \
220         $(top_builddir)/modules/umfpack/libsciumfpack.la \
221         $(top_builddir)/modules/matio/libscimatio.la \
222         $(top_builddir)/modules/helptools/libscihelptools.la \
223         $(top_builddir)/modules/parallel/libsciparallel.la
224
225
226 # Core modules
227 #libscilab_cli_la_LIBADD = $(ENGINE_LIBS) $(NO_GUI_LIBS) $(OTHER_LIBS) $(EXTERNAL_LIBS)
228
229 libscilab_la_LIBADD =
230
231 if GUI
232 # Force the libscijvm to be linked first. Under Debian, this avoid some reordering issues during the link
233 libscilab_la_LIBADD += $(top_builddir)/modules/jvm/libscijvm.la $(GUI_LIBS)
234 else
235 libscilab_la_LIBADD += $(NO_GUI_LIBS)
236 endif
237
238 # Core modules
239 libscilab_la_LIBADD += $(OTHER_LIBS) $(EXTERNAL_LIBS)
240
241 if FORCE_LINK
242 # This should never be used in production. It forces the explicit link
243 # between libscilab and some "on-the-fly" loaded libraries.
244 # It has been added to make sure that the full link is correctly done
245 # and all symbols resolved.
246 libscilab_la_LIBADD += $(ENGINE_LIBS_DYNAMIC_LOAD)
247 endif
248
249 libscilab_la_LIBADD += $(top_builddir)/modules/libscilab-cli.la
250
251 ################## libscilab-cli  ##################
252
253 libscilab_cli_la_SOURCES =
254
255 libscilab_cli_la_LDFLAGS = $(LAPACK_LIBS) $(BLAS_LIBS) $(AM_LDFLAGS)
256
257 # Core modules
258 libscilab_cli_la_LIBADD = $(ENGINE_LIBS) $(NO_GUI_LIBS) $(OTHER_LIBS) $(EXTERNAL_LIBS)
259
260 .NOTPARALLEL: libscilab-cli.la libscilab.la