1# Automake source file for the Parma Polyhedra Library.
2# Copyright (C) 2001-2010 Roberto Bagnara <bagnara@cs.unipr.it>
3# Copyright (C) 2010-2016 BUGSENG srl (http://bugseng.com)
4#
5# This file is part of the Parma Polyhedra Library (PPL).
6#
7# The PPL is free software; you can redistribute it and/or modify it
8# under the terms of the GNU General Public License as published by the
9# Free Software Foundation; either version 3 of the License, or (at your
10# option) any later version.
11#
12# The PPL is distributed in the hope that it will be useful, but WITHOUT
13# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
15# for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with this program; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1307, USA.
20#
21# For the most up-to-date information see the Parma Polyhedra Library
22# site: http://bugseng.com/products/ppl/ .
23
24if VALGRIND_TESTS_ENABLED
25
26CHECKER = \
27libtool --mode=execute \
28$(VALGRIND) --tool=memcheck -q --trace-children=yes --leak-check=yes \
29--num-callers=40 --leak-resolution=high \
30--suppressions=$(top_srcdir)/tests/valgrind_suppressions
31
32else !VALGRIND_TESTS_ENABLED
33
34CHECKER =
35
36endif !VALGRIND_TESTS_ENABLED
37
38TESTS_ENVIRONMENT = $(CHECKER)
39
40AM_CPPFLAGS = \
41-I$(top_builddir)/src \
42-I$(top_srcdir)/src -I$(top_srcdir)/tests \
43-I$(top_srcdir)/utils \
44@extra_includes@ \
45@debug_flag@
46
47LDADD = \
48$(top_builddir)/utils/libppl_utils.a \
49$(top_builddir)/tests/libppl_tests.a \
50$(top_builddir)/src/libppl.la \
51@extra_libraries@
52
53TESTS = \
54addcongruence1 \
55addcongruences1 \
56addconstraint1 \
57addconstraints1 \
58addgenerator1 \
59addgenerators1 \
60addspacedims1 \
61affinedim1 \
62affineimage1 affineimage2 \
63affinepreimage1 affinepreimage2 \
64approximatepartition1 \
65asciidumpload1 asciidumpload2 asciidumpload3 asciidumpload4 asciidumpload5 \
66asciidumpload6 \
67bhz03widening1 \
68bounded1 \
69bounds1 \
70boundedaffineimage1 \
71boundedaffinepreimage1 \
72certificate1 \
73concatenate1 \
74congruence1 \
75congruences1 \
76congruences2 \
77constraints1 \
78contains1 \
79containsintegerpoint1 \
80discrete1 \
81disjoint1 \
82dropnonintegerpoints1 \
83equals1 \
84expandspacedim1 \
85foldspacedims1 \
86frequency1 \
87frombdshape1 \
88frombox1 \
89fromgrid1 \
90fromoctagonalshape1 \
91frompolyhedron1 \
92generalizedaffineimage1 generalizedaffineimage2 generalizedaffineimage3 \
93generalizedaffinepreimage1 generalizedaffinepreimage2 \
94generalizedaffinepreimage3 \
95generator1 \
96generators1 generators2 \
97grid1 grid2 grid3 \
98griddifference1 \
99intersection1 \
100isempty1 \
101isuniverse1 \
102limitedextrapolation1 limitedextrapolation2 limitedextrapolation3 \
103mapspacedims1 \
104maxmin1 \
105membytes1 \
106mingenerators1 \
107mincongruences1 \
108outputoperator1 outputoperator2 outputoperator3 \
109partition1 \
110powersetdifference1 \
111powersetgeometricallycovers1 \
112powersetgeometricallyequals1 \
113refinewithcongruences1 \
114refinewithconstraints1 \
115relations1 relations2 relations3 \
116removespacedims1 removespacedims2 \
117simplifyusingcontext1 \
118timeelapse1 \
119topclosed1 \
120topclosure1 \
121unconstrain1 \
122upperbound1 upperbound2 \
123widening1 widening2  widening3 \
124wrap1 \
125writecongruencesystem
126
127XFAIL_TESTS =
128
129#
130# Sources for the tests
131#
132
133addcongruence1_SOURCES = addcongruence1.cc
134
135addcongruences1_SOURCES = addcongruences1.cc
136
137addconstraint1_SOURCES = addconstraint1.cc
138
139addconstraints1_SOURCES = addconstraints1.cc
140
141addgenerator1_SOURCES = addgenerator1.cc
142
143addgenerators1_SOURCES = addgenerators1.cc
144
145addspacedims1_SOURCES = addspacedims1.cc
146
147affinedim1_SOURCES = affinedim1.cc
148
149affineimage1_SOURCES = affineimage1.cc
150affineimage2_SOURCES = affineimage2.cc
151
152affinepreimage1_SOURCES = affinepreimage1.cc
153affinepreimage2_SOURCES = affinepreimage2.cc
154
155approximatepartition1_SOURCES = approximatepartition1.cc
156
157asciidumpload1_SOURCES = asciidumpload1.cc
158asciidumpload2_SOURCES = asciidumpload2.cc
159asciidumpload3_SOURCES = asciidumpload3.cc
160asciidumpload4_SOURCES = asciidumpload4.cc
161asciidumpload5_SOURCES = asciidumpload5.cc
162asciidumpload6_SOURCES = asciidumpload6.cc
163
164bhz03widening1_SOURCES = bhz03widening1.cc
165
166bounded1_SOURCES = bounded1.cc
167
168bounds1_SOURCES = bounds1.cc
169
170boundedaffineimage1_SOURCES = boundedaffineimage1.cc
171
172boundedaffinepreimage1_SOURCES = boundedaffinepreimage1.cc
173
174certificate1_SOURCES = certificate1.cc
175
176concatenate1_SOURCES = concatenate1.cc
177
178congruence1_SOURCES = congruence1.cc
179
180congruences1_SOURCES = congruences1.cc
181congruences2_SOURCES = congruences2.cc
182
183constraints1_SOURCES = constraints1.cc
184
185contains1_SOURCES = contains1.cc
186
187containsintegerpoint1_SOURCES = containsintegerpoint1.cc
188
189discrete1_SOURCES = discrete1.cc
190
191disjoint1_SOURCES = disjoint1.cc
192
193dropnonintegerpoints1_SOURCES = dropnonintegerpoints1.cc
194
195equals1_SOURCES = equals1.cc
196
197expandspacedim1_SOURCES = expandspacedim1.cc
198
199frequency1_SOURCES = frequency1.cc
200
201frombdshape1_SOURCES = frombdshape1.cc
202
203frombox1_SOURCES = frombox1.cc
204
205fromgrid1_SOURCES = fromgrid1.cc
206
207fromoctagonalshape1_SOURCES = fromoctagonalshape1.cc
208
209frompolyhedron1_SOURCES = frompolyhedron1.cc
210
211foldspacedims1_SOURCES = foldspacedims1.cc
212
213generalizedaffineimage1_SOURCES = generalizedaffineimage1.cc
214generalizedaffineimage2_SOURCES = generalizedaffineimage2.cc
215generalizedaffineimage3_SOURCES = generalizedaffineimage3.cc
216
217generalizedaffinepreimage1_SOURCES = generalizedaffinepreimage1.cc
218generalizedaffinepreimage2_SOURCES = generalizedaffinepreimage2.cc
219generalizedaffinepreimage3_SOURCES = generalizedaffinepreimage3.cc
220
221generator1_SOURCES = generator1.cc
222
223generators1_SOURCES = generators1.cc
224generators2_SOURCES = generators2.cc
225
226grid1_SOURCES = grid1.cc
227grid2_SOURCES = grid2.cc
228grid3_SOURCES = grid3.cc
229
230griddifference1_SOURCES = griddifference1.cc
231
232intersection1_SOURCES = intersection1.cc
233
234isempty1_SOURCES = isempty1.cc
235
236isuniverse1_SOURCES = isuniverse1.cc
237
238limitedextrapolation1_SOURCES = limitedextrapolation1.cc
239limitedextrapolation2_SOURCES = limitedextrapolation2.cc
240limitedextrapolation3_SOURCES = limitedextrapolation3.cc
241
242mapspacedims1_SOURCES = mapspacedims1.cc
243
244maxmin1_SOURCES = maxmin1.cc
245
246membytes1_SOURCES = membytes1.cc
247
248mincongruences1_SOURCES = mincongruences1.cc
249
250mingenerators1_SOURCES = mingenerators1.cc
251
252outputoperator1_SOURCES = outputoperator1.cc
253outputoperator2_SOURCES = outputoperator2.cc
254outputoperator3_SOURCES = outputoperator3.cc
255
256partition1_SOURCES = partition1.cc
257
258powersetdifference1_SOURCES = powersetdifference1.cc
259powersetgeometricallycovers1_SOURCES = powersetgeometricallycovers1.cc
260powersetgeometricallyequals1_SOURCES = powersetgeometricallyequals1.cc
261
262refinewithcongruences1_SOURCES = refinewithcongruences1.cc
263refinewithconstraints1_SOURCES = refinewithconstraints1.cc
264
265relations1_SOURCES = relations1.cc
266relations2_SOURCES = relations2.cc
267relations3_SOURCES = relations3.cc
268
269removespacedims1_SOURCES = removespacedims1.cc
270removespacedims2_SOURCES = removespacedims2.cc
271
272simplifyusingcontext1_SOURCES = simplifyusingcontext1.cc
273
274timeelapse1_SOURCES = timeelapse1.cc
275
276topclosed1_SOURCES = topclosed1.cc
277
278topclosure1_SOURCES = topclosure1.cc
279
280unconstrain1_SOURCES = unconstrain1.cc
281
282upperbound1_SOURCES = upperbound1.cc
283upperbound2_SOURCES = upperbound2.cc
284
285widening1_SOURCES = widening1.cc
286widening2_SOURCES = widening2.cc
287widening3_SOURCES = widening3.cc
288
289writecongruencesystem_SOURCES = writecongruencesystem.cc
290
291wrap1_SOURCES = wrap1.cc
292
293check_PROGRAMS = $(TESTS)
294
295MOSTLYCLEANFILES = \
296ascii_dump_load1.dat \
297ascii_dump_load2.dat \
298ascii_dump_load3.dat \
299ascii_dump_load4.dat \
300ascii_dump_load5.dat \
301ascii_dump_load6.dat
302
303$(top_builddir)/utils/libppl_utils.a:
304	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/utils libppl_utils.a
305
306$(top_builddir)/tests/libppl_tests.a:
307	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/tests libppl_tests.a
308
309$(top_builddir)/src/libppl.la:
310	$(MAKE) $(AM_MAKEFLAGS) -C $(top_builddir)/src libppl.la
311