fix ref count in symbol::Libraries
[scilab.git] / scilab / modules / ast / Makefile.am
1 ##
2 ##  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 ##  Copyright (C) 2007-2008 - DIGITEO - Bruno JOFRET
4 ##  Copyright (C) 2007-2008 - DIGITEO - Antoine ELIAS
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
14 pkglib_LTLIBRARIES      = libsciast.la
15
16 libsciast_la_SOURCES = \
17 src/c/operations/doublecomplex.c \
18 src/c/operations/invert_matrix.c \
19 src/c/operations/matrix_addition.c \
20 src/c/operations/matrix_division.c \
21 src/c/operations/matrix_finite.c \
22 src/c/operations/matrix_kronecker.c \
23 src/c/operations/matrix_multiplication.c \
24 src/c/operations/matrix_power.c \
25 src/c/operations/matrix_transpose.c \
26 src/c/operations/operations_tools.c \
27 src/cpp/ast/debugvisitor.cpp \
28 src/cpp/ast/expHistory.cpp \
29 src/cpp/ast/macrovarvisitor.cpp \
30 src/cpp/ast/mutevisitor.cpp \
31 src/cpp/ast/printvisitor.cpp \
32 src/cpp/ast/runvisitor.cpp \
33 src/cpp/ast/shortcutvisitor.cpp \
34 src/cpp/ast/treevisitor.cpp \
35 src/cpp/ast/visitor_common.cpp \
36 src/cpp/operations/interface_addition.cpp \
37 src/cpp/operations/operations.cpp \
38 src/cpp/operations/types_addition.cpp \
39 src/cpp/operations/types_and.cpp \
40 src/cpp/operations/types_comparison_eq.cpp \
41 src/cpp/operations/types_comparison_lt_le_gt_ge.cpp \
42 src/cpp/operations/types_comparison_ne.cpp \
43 src/cpp/operations/types_divide.cpp \
44 src/cpp/operations/types_dotdivide.cpp \
45 src/cpp/operations/types_dotmultiplication.cpp \
46 src/cpp/operations/types_finite.cpp \
47 src/cpp/operations/types_kronecker.cpp \
48 src/cpp/operations/types_ldivide.cpp \
49 src/cpp/operations/types_multiplication.cpp \
50 src/cpp/operations/types_opposite.cpp \
51 src/cpp/operations/types_or.cpp \
52 src/cpp/operations/types_power.cpp \
53 src/cpp/operations/types_subtraction.cpp \
54 src/cpp/parse/parser.cpp \
55 src/cpp/parse/parsescilab.cpp \
56 src/cpp/parse/printerror.cpp \
57 src/cpp/parse/scanscilab.cpp \
58 src/cpp/symbol/context.cpp \
59 src/cpp/symbol/libraries.cpp \
60 src/cpp/symbol/symbol.cpp \
61 src/cpp/symbol/variables.cpp \
62 src/cpp/system_env/configvariable.cpp \
63 src/cpp/system_env/configvariable_interface.cpp \
64 src/cpp/system_env/context_get.cpp \
65 src/cpp/system_env/dynamic_module.cpp \
66 src/cpp/system_env/home.cpp \
67 src/cpp/system_env/lasterror.cpp \
68 src/cpp/system_env/sci_home.cpp \
69 src/cpp/system_env/sci_path.cpp \
70 src/cpp/system_env/sci_tmpdir.cpp \
71 src/cpp/system_env/setenvvar.cpp \
72 src/cpp/system_env/threadmanagement.cpp \
73 src/cpp/system_env/numericconstants.cpp \
74 src/cpp/system_env/numericconstants_interface.cpp \
75 src/cpp/types/addfunction.cpp \
76 src/cpp/types/arrayof.cpp \
77 src/cpp/types/bool.cpp \
78 src/cpp/types/callable.cpp \
79 src/cpp/types/cell.cpp \
80 src/cpp/types/double.cpp \
81 src/cpp/types/file.cpp \
82 src/cpp/types/function.cpp \
83 src/cpp/types/graphichandle.cpp \
84 src/cpp/types/implicitlist.cpp \
85 src/cpp/types/int.cpp \
86 src/cpp/types/library.cpp \
87 src/cpp/types/list.cpp \
88 src/cpp/types/listdelete.cpp \
89 src/cpp/types/listinsert.cpp \
90 src/cpp/types/listoperation.cpp \
91 src/cpp/types/listundefined.cpp \
92 src/cpp/types/macro.cpp \
93 src/cpp/types/macrofile.cpp \
94 src/cpp/types/mlist.cpp \
95 src/cpp/types/overload.cpp \
96 src/cpp/types/polynom.cpp \
97 src/cpp/types/singlepoly.cpp \
98 src/cpp/types/singlestruct.cpp \
99 src/cpp/types/sparse.cpp \
100 src/cpp/types/string.cpp \
101 src/cpp/types/struct.cpp \
102 src/cpp/types/test-types.cpp \
103 src/cpp/types/threadId.cpp \
104 src/cpp/types/tlist.cpp \
105 src/cpp/types/tostring_common.cpp \
106 src/cpp/types/types.cpp \
107 src/cpp/types/types_tools.cpp \
108 src/cpp/types/void.cpp
109
110 if ENABLE_DEBUG
111 libsciast_la_SOURCES += src/cpp/types/inspector.cpp
112 endif
113
114
115 libsciast_la_CPPFLAGS = \
116         -I$(srcdir)/includes/ast \
117         -I$(srcdir)/includes/exps \
118         -I$(srcdir)/includes/operations \
119         -I$(srcdir)/includes/parse \
120         -I$(srcdir)/includes/symbol \
121         -I$(srcdir)/includes/system_env \
122         -I$(srcdir)/includes/types \
123         -I$(srcdir)/includes/analysis \
124         -I$(srcdir)/src/cpp \
125         -I$(top_srcdir)/modules/dynamic_link/includes \
126         -I$(top_srcdir)/modules/functions_manager/includes \
127         -I$(top_srcdir)/modules/console/includes \
128         -I$(top_srcdir)/modules/elementary_functions/includes \
129         -I$(top_srcdir)/modules/output_stream/includes \
130         -I$(top_srcdir)/modules/api_scilab/includes \
131         -I$(top_srcdir)/modules/string/includes \
132         -I$(top_srcdir)/modules/threads/includes \
133         -I$(top_srcdir)/modules/localization/includes \
134         -I$(top_srcdir)/modules/io/includes \
135         -I$(top_srcdir)/modules/fileio/includes \
136         $(EIGEN_CPPFLAGS) \
137         $(AM_CPPFLAGS)
138
139
140 libsciast_la_includedir=$(pkgincludedir)
141 libsciast_la_include_HEADERS =
142
143
144 #### Target ######
145 modulename=ast
146
147 ####io : init scripts ####
148 libsciast_la_etcdir = $(mydatadir)/etc
149 libsciast_la_etc_DATA = \
150     etc/ast.quit \
151     etc/ast.start
152
153
154 #### ast : include files ####
155 # find includes/ src/ -type f -name '*.h' -or -name '*.hxx' -or -name '*.hpp' | sort |xargs printf '%s \\\n'
156 libsciast_gvn_scilab_la_includedir=$(pkgincludedir)/gvn/
157 libsciast_gvn_scilab_la_include_HEADERS = \
158 includes/analysis/gvn/ConstraintManager.hxx \
159 includes/analysis/gvn/GVN.hxx \
160 includes/analysis/gvn/InferenceConstraint.hxx \
161 includes/analysis/gvn/MultivariateMonomial.hxx \
162 includes/analysis/gvn/MultivariatePolynomial.hxx \
163 includes/analysis/gvn/OpValue.hxx \
164 includes/analysis/gvn/SymbolicDimension.hxx \
165 includes/analysis/gvn/SymbolicRange.hxx \
166 includes/analysis/gvn/TestGVNVisitor.hxx \
167 includes/analysis/gvn/VarExp.hxx
168
169 libsciast_call_scilab_la_includedir=$(pkgincludedir)/call/
170 libsciast_call_scilab_la_include_HEADERS = \
171 includes/analysis/call/Call.hxx
172
173 libsciast_scilab_la_includedir=$(pkgincludedir)
174 libsciast_scilab_la_include_HEADERS = \
175 includes/analysis/AnalysisVisitor.hxx \
176 includes/analysis/checkers/Checkers.hxx \
177 includes/analysis/ConstantValue.hxx \
178 includes/analysis/Decorator.hxx \
179 includes/analysis/ForList.hxx \
180 includes/analysis/Result.hxx \
181 includes/analysis/SymInfo.hxx \
182 includes/analysis/TIType.hxx \
183 includes/analysis/tools.hxx \
184 includes/ast/debugvisitor.hxx \
185 includes/ast/deserializervisitor.hxx \
186 includes/ast/dummyvisitor.hxx \
187 includes/ast/dynlib_ast.h \
188 includes/ast/execvisitor.hxx \
189 includes/ast/expHistory.hxx \
190 includes/ast/macrovarvisitor.hxx \
191 includes/ast/mutevisitor.hxx \
192 includes/ast/printvisitor.hxx \
193 includes/ast/runvisitor.hxx \
194 includes/ast/scilabexception.hxx \
195 includes/ast/serializervisitor.hxx \
196 includes/ast/shortcutvisitor.hxx \
197 includes/ast/stepvisitor.hxx \
198 includes/ast/timedvisitor.hxx \
199 includes/ast/visitor_common.hxx \
200 includes/ast/visitor.hxx \
201 includes/exps/alldec.hxx \
202 includes/exps/allexp.hxx \
203 includes/exps/all.hxx \
204 includes/exps/allvar.hxx \
205 includes/exps/arraylistexp.hxx \
206 includes/exps/arraylistvar.hxx \
207 includes/exps/assignexp.hxx \
208 includes/exps/assignlistexp.hxx \
209 includes/exps/ast.hxx \
210 includes/exps/boolexp.hxx \
211 includes/exps/breakexp.hxx \
212 includes/exps/callexp.hxx \
213 includes/exps/caseexp.hxx \
214 includes/exps/cellcallexp.hxx \
215 includes/exps/cellexp.hxx \
216 includes/exps/colonvar.hxx \
217 includes/exps/commentexp.hxx \
218 includes/exps/constexp.hxx \
219 includes/exps/continueexp.hxx \
220 includes/exps/controlexp.hxx \
221 includes/exps/daxpyexp.hxx \
222 includes/exps/dec.hxx \
223 includes/exps/decls.hxx \
224 includes/exps/dollarvar.hxx \
225 includes/exps/doubleexp.hxx \
226 includes/exps/exp.hxx \
227 includes/exps/fieldexp.hxx \
228 includes/exps/forexp.hxx \
229 includes/exps/functiondec.hxx \
230 includes/exps/ifexp.hxx \
231 includes/exps/listexp.hxx \
232 includes/exps/location.hxx \
233 includes/exps/logicalopexp.hxx \
234 includes/exps/mathexp.hxx \
235 includes/exps/matrixexp.hxx \
236 includes/exps/matrixlineexp.hxx \
237 includes/exps/nilexp.hxx \
238 includes/exps/notexp.hxx \
239 includes/exps/opexp.hxx \
240 includes/exps/optimizedexp.hxx \
241 includes/exps/returnexp.hxx \
242 includes/exps/selectexp.hxx \
243 includes/exps/seqexp.hxx \
244 includes/exps/simplevar.hxx \
245 includes/exps/stepvisitor.hxx \
246 includes/exps/stringexp.hxx \
247 includes/exps/token.hxx \
248 includes/exps/transposeexp.hxx \
249 includes/exps/trycatchexp.hxx \
250 includes/exps/vardec.hxx \
251 includes/exps/var.hxx \
252 includes/exps/whileexp.hxx \
253 includes/operations/doublecomplex.h \
254 includes/operations/generic_operations.hxx \
255 includes/operations/interface_addition.h \
256 includes/operations/invert_matrix.h \
257 includes/operations/matrix_addition.h \
258 includes/operations/matrix_division.h \
259 includes/operations/matrix_finite.h \
260 includes/operations/matrix_kronecker.h \
261 includes/operations/matrix_left_division.h \
262 includes/operations/matrix_multiplication.h \
263 includes/operations/matrix_power.h \
264 includes/operations/matrix_right_division.h \
265 includes/operations/matrix_transpose.h \
266 includes/operations/operation_f.h \
267 includes/operations/operations.hxx \
268 includes/operations/operations_tools.h \
269 includes/operations/types_addition.hxx \
270 includes/operations/types_and.hxx \
271 includes/operations/types_comparison_eq.hxx \
272 includes/operations/types_comparison_lt_le_gt_ge.hxx \
273 includes/operations/types_comparison_ne.hxx \
274 includes/operations/types_divide.hxx \
275 includes/operations/types_dotdivide.hxx \
276 includes/operations/types_dotmultiplication.hxx \
277 includes/operations/types_finite.hxx \
278 includes/operations/types_kronecker.hxx \
279 includes/operations/types_ldivide.hxx \
280 includes/operations/types_multiplication.hxx \
281 includes/operations/types_opposite.hxx \
282 includes/operations/types_or.hxx \
283 includes/operations/types_power.hxx \
284 includes/operations/types_subtraction.hxx \
285 includes/operations/types_transposition.hxx \
286 includes/parse/isatty.hxx \
287 includes/parse/parse.hxx \
288 includes/parse/parser.hxx \
289 includes/parse/parser_private.hxx \
290 includes/parse/parsescilab.hxx \
291 includes/symbol/context.hxx \
292 includes/symbol/libraries.hxx \
293 includes/symbol/symbol.hxx \
294 includes/symbol/variables.hxx \
295 includes/system_env/configvariable.hxx \
296 includes/system_env/configvariable_interface.h \
297 includes/system_env/context_get.h \
298 includes/system_env/dynamic_module.h \
299 includes/system_env/home.h \
300 includes/system_env/lasterror.h \
301 includes/system_env/sci_home.h \
302 includes/system_env/sci_path.h \
303 includes/system_env/sci_tmpdir.h \
304 includes/system_env/setenvvar.h \
305 includes/types/addfunction.h \
306 includes/types/alltypes.hxx \
307 includes/types/arrayof.hxx \
308 includes/types/bool.hxx \
309 includes/types/callable.hxx \
310 includes/types/cell.hxx \
311 includes/types/c_gateway_prototype.h \
312 includes/types/colon.hxx \
313 includes/types/container.hxx \
314 includes/types/cpp_gateway_prototype.hxx \
315 includes/types/double.hxx \
316 includes/types/file.hxx \
317 includes/types/function.hxx \
318 includes/types/gatewaystruct.hxx \
319 includes/types/graphichandle.hxx \
320 includes/types/implicitlist.hxx \
321 includes/types/inspector.hxx \
322 includes/types/internal.hxx \
323 includes/types/int.hxx \
324 includes/types/keepForSparse.hxx \
325 includes/types/library.hxx \
326 includes/types/listdelete.hxx \
327 includes/types/list.hxx \
328 includes/types/listinsert.hxx \
329 includes/types/listoperation.hxx \
330 includes/types/listundefined.hxx \
331 includes/types/macrofile.hxx \
332 includes/types/macro.hxx \
333 includes/types/matrixiterator.hxx \
334 includes/types/mlist.hxx \
335 includes/types/overload.hxx \
336 includes/types/pointer.hxx \
337 includes/types/polynom.hxx \
338 includes/types/singlepoly.hxx \
339 includes/types/singlestruct.hxx \
340 includes/types/sparse.hxx \
341 includes/types/sparseOp.hxx \
342 includes/types/string.hxx \
343 includes/types/struct.hxx \
344 includes/types/threadId.hxx \
345 includes/types/tlist.hxx \
346 includes/types/tostring_common.hxx \
347 includes/types/typesdecl.hxx \
348 includes/types/types.hxx \
349 includes/types/types_tools.hxx \
350 includes/types/type_traits.hxx \
351 includes/types/user.hxx \
352 includes/types/void.hxx \
353 src/cpp/ast/run_AssignExp.hpp \
354 src/cpp/ast/run_CallExp.hpp \
355 src/cpp/ast/run_MatrixExp.hpp \
356 src/cpp/ast/run_OpExp.hpp
357
358 if BUILD_PARSER
359
360 BUILT_SOURCES = $(FLEX_SCANSCILAB_CXX) $(BISON_PARSESCILAB_CXX)
361
362 LFLAGS = --noline --nounistd -o $(FLEX_SCANSCILAB_CXX)
363 FLEX_SCANSCILAB_LL      = src/cpp/parse/flex/scanscilab.ll
364 FLEX_SCANSCILAB_CXX     = src/cpp/parse/scanscilab.cpp
365
366 BISON_FLAGS = --no-lines -dvy -ra -Werror=conflicts-sr -Werror=conflicts-rr
367 BISON_PARSESCILAB_YY    = src/cpp/parse/bison/parsescilab.yy
368 BISON_PARSESCILAB_OUTPUT= src/cpp/parse/bison/parsescilab.output
369 BISON_PARSESCILAB_HXX   = includes/parse/parsescilab.hxx
370 BISON_PARSESCILAB_CXX = src/cpp/parse/parsescilab.cpp
371
372 $(FLEX_SCANSCILAB_CXX): $(FLEX_SCANSCILAB_LL)
373         $(LEX) $(AM_FLAGS) $(LFLAGS) $(FLEX_SCANSCILAB_LL)
374
375 $(BISON_PARSESCILAB_CXX): $(BISON_PARSESCILAB_YY)
376         $(YACC) $(AM_FLAGS) $(BISON_FLAGS) $(YFLAGS) $(BISON_PARSESCILAB_YY) \
377         && mv y.tab.c $(BISON_PARSESCILAB_CXX) \
378         && mv y.tab.h $(BISON_PARSESCILAB_HXX) \
379         && mv y.output $(BISON_PARSESCILAB_OUTPUT)
380 endif
381
382
383 include $(top_srcdir)/Makefile.incl.am