1# 2# /**-------------------------------------------------------------------** 3# ** CLooG ** 4# **-------------------------------------------------------------------** 5# ** makefile ** 6# **-------------------------------------------------------------------** 7# ** First version: march 6th 2003 ** 8# **-------------------------------------------------------------------**/ 9# 10# makefile for checking. 11 12#/***************************************************************************** 13# * CLooG : the Chunky Loop Generator (experimental) * 14# ***************************************************************************** 15# * * 16# * Copyright (C) 2003 Cedric Bastoul * 17# * * 18# * This library is free software; you can redistribute it and/or * 19# * modify it under the terms of the GNU Lesser General Public * 20# * License as published by the Free Software Foundation; either * 21# * version 2.1 of the License, or (at your option) any later version. * 22# * * 23# * This library is distributed in the hope that it will be useful, * 24# * but WITHOUT ANY WARRANTY; without even the implied warranty of * 25# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * 26# * Lesser General Public License for more details. * 27# * * 28# * You should have received a copy of the GNU Lesser General Public * 29# * License along with this library; if not, write to the Free Software * 30# * Foundation, Inc., 51 Franklin Street, Fifth Floor, * 31# * Boston, MA 02110-1301 USA * 32# * * 33# * CLooG, the Chunky Loop Generator * 34# * Written by Cedric Bastoul, Cedric.Bastoul@inria.fr * 35# * This file has been written with the help of the Bart Kienhuis's checking * 36# * makefile for PipLib. * 37# * * 38# *****************************************************************************/ 39 40if NO_ISL 41GENERATE_TEST = 42else 43GENERATE_TEST = generate_test 44endif 45noinst_PROGRAMS = $(GENERATE_TEST) 46INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include 47LDADD = ../libcloog-isl.la 48generate_test_SOURCES = generate_test.c 49 50FORCE: 51../libcloog-isl.la: FORCE 52 cd ..; $(MAKE) $(AM_MAKEFLAGS) libcloog-isl.la 53 54ROOT = .. 55 56FINITE_CLOOGTEST_C = \ 57 0D-1 \ 58 0D-2 \ 59 0D-3 \ 60 1point-1 \ 61 1point-2 \ 62 4-param \ 63 basic-bounds-1 \ 64 basic-bounds-2 \ 65 basic-bounds-3 \ 66 basic-bounds-4 \ 67 basic-bounds-5 \ 68 basic-bounds-6 \ 69 block \ 70 block2 \ 71 block3 \ 72 byu98-1-2-3 \ 73 cholesky \ 74 cholesky2 \ 75 christian \ 76 classen \ 77 classen2 \ 78 constant \ 79 constbound \ 80 darte \ 81 dealII \ 82 donotsimp \ 83 dot \ 84 dot2 \ 85 double \ 86 durbin_e_s \ 87 emploi \ 88 esced \ 89 ex1 \ 90 forwardsub-1-1-2 \ 91 forwardsub-2-1-2-3 \ 92 forwardsub-3-1-2 \ 93 gauss \ 94 gesced \ 95 gesced2 \ 96 gesced3 \ 97 guide \ 98 iftest \ 99 iftest2 \ 100 largeur \ 101 levenshtein-1-2-3 \ 102 lex \ 103 lineality-1-2 \ 104 lineality-2-1-2 \ 105 logo \ 106 logopar \ 107 lu \ 108 lu2 \ 109 lub \ 110 lux \ 111 min-1-1 \ 112 min-2-1 \ 113 min-3-1 \ 114 min-4-1 \ 115 mode \ 116 multi-mm-1 \ 117 no_lindep \ 118 orc \ 119 rectangle \ 120 singleton \ 121 square+triangle-1-1-2-3 \ 122 swim \ 123 test \ 124 thomasset \ 125 tiling \ 126 uday_scalars \ 127 union \ 128 vivien \ 129 vivien2 \ 130 walters \ 131 walters2 \ 132 walters3 \ 133 wavefront \ 134 yosr \ 135 yosr2 \ 136 non_optimal/nul_complex1 \ 137 non_optimal/usvd_e_t \ 138 non_optimal/youcef \ 139 reservoir/cholesky2 \ 140 reservoir/fusion1 \ 141 reservoir/fusion2 \ 142 reservoir/jacobi2 \ 143 reservoir/jacobi3 \ 144 reservoir/lim-lam1 \ 145 reservoir/lim-lam2 \ 146 reservoir/lim-lam3 \ 147 reservoir/lim-lam4 \ 148 reservoir/lim-lam5 \ 149 reservoir/lim-lam6 \ 150 reservoir/liu-zhuge1 \ 151 reservoir/loechner3 \ 152 reservoir/loechner4 \ 153 reservoir/loechner5 \ 154 reservoir/mg-interp2 \ 155 reservoir/mg-interp \ 156 reservoir/mg-psinv \ 157 reservoir/mg-resid \ 158 reservoir/mg-rprj3 \ 159 reservoir/pingali1 \ 160 reservoir/pingali2 \ 161 reservoir/pingali3 \ 162 reservoir/pingali4 \ 163 reservoir/pingali5 \ 164 reservoir/pingali6 \ 165 reservoir/QR \ 166 reservoir/tang-xue1 \ 167 reservoir/two 168 169CLOOG_ISL_TEST_C = \ 170 isl/mod \ 171 isl/mod2 \ 172 isl/mod3 \ 173 isl/mod4 174 175CLOOGTEST_C = \ 176 infinite \ 177 infinite2 \ 178 infinite3 \ 179 infinite4 \ 180 $(FINITE_CLOOGTEST_C) \ 181 $(CLOOG_ISL_TEST_C) 182 183CLOOGTEST_FORTRAN = \ 184 dartef \ 185 iftestf \ 186 levenshtein-1-2-3f \ 187 yosrf 188 189CLOOG_ISL_TEST_STRIDED = \ 190 isl/mxm-shared 191 192CLOOGTEST_STRIDED = \ 193 basic-bounds-2 \ 194 mod4 \ 195 nul_basic1 \ 196 nul_basic2 \ 197 nul_lcpc \ 198 multi-stride \ 199 multi-stride2 \ 200 stride3 \ 201 stride4 \ 202 reservoir/bastoul3 \ 203 reservoir/stride \ 204 reservoir/stride2 \ 205 $(CLOOG_ISL_TEST_STRIDED) 206 207if NO_OSL 208CLOOGTEST_OPENSCOP = 209else 210CLOOGTEST_OPENSCOP = \ 211 openscop/matmult \ 212 openscop/empty \ 213 openscop/union 214endif 215 216SPECIAL_TESTS = \ 217 isl/unroll \ 218 isl/jacobi-shared \ 219 isl/unroll2 \ 220 backtrack \ 221 vasilache \ 222 merge \ 223 equality \ 224 equality2 \ 225 otl \ 226 param-split \ 227 pouchet \ 228 stride \ 229 stride2 \ 230 sor1d 231 232SPECIAL_OPTIONS = \ 233 'isl/unroll -first-unroll 1' \ 234 'isl/jacobi-shared -f 4 -l -1 -override -strides 1 -sh 1' \ 235 'isl/unroll2 -first-unroll 1' \ 236 'backtrack -f 1 -backtrack' \ 237 'vasilache -f 8 -l 9' \ 238 'merge -f -1' \ 239 'equality -f -1 -l 2 -override' \ 240 'equality2 -f -1 -l 4 -esp 1 -override' \ 241 'otl -block 1 -esp 0 -otl 0' \ 242 'param-split -f -1' \ 243 'pouchet -f 3 -l 7' \ 244 'stride -f -1 -strides 1' \ 245 'stride2 -f -1 -strides 1' \ 246 'sor1d -f -1' 247 248generate: 249 @echo " /*-----------------------------------------------*" 250 @echo " * Generate files *" 251 @echo " *-----------------------------------------------*/" 252 @for x in $(CLOOGTEST_C) ; do \ 253 echo "Generate $$x.c" ; \ 254 $(top_builddir)/cloog $(srcdir)/$$x.cloog -o $(srcdir)/$$x.c ; \ 255 done ; \ 256 for x in $(CLOOGTEST_FORTRAN) ; do \ 257 echo "Generate $$x.f" ; \ 258 $(top_builddir)/cloog $(srcdir)/$$x.cloog -o $(srcdir)/$$x.f ; \ 259 done ; \ 260 for x in $(CLOOGTEST_STRIDED) ; do \ 261 echo "Generate $$x.c" ; \ 262 $(top_builddir)/cloog $(srcdir)/$$x.cloog \ 263 -strides 1 -o $(srcdir)/$$x.c ; \ 264 done ; \ 265 for x in $(CLOOGTEST_OPENSCOP) ; do \ 266 echo "Generate $$x.c" ; \ 267 $(top_builddir)/cloog $(srcdir)/$$x.scop \ 268 -openscop -o $(srcdir)/$$x.c ; \ 269 done ; \ 270 for line in $(SPECIAL_OPTIONS); do \ 271 options=`echo $$line | sed -e 's/^[^ ]* //'`; \ 272 x=`echo $$line | sed -e 's/ .*//'`; \ 273 echo "Generate file $$x ($$options)" ; \ 274 $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog \ 275 $$options > $(srcdir)/$$x.c ; \ 276 done 277 278generate_good: 279 @for x in $(FINITE_CLOOGTEST_C) ; do \ 280 echo "Generate $$x.good.c" ; \ 281 $(top_builddir)/cloog$(EXEEXT) -callable 1 $(srcdir)/$$x.cloog -o $(srcdir)/$$x.good.c ; \ 282 done; \ 283 for line in $(SPECIAL_OPTIONS); do echo $$line | while read x options; do \ 284 echo "Generate $$x.good.c ($$options)" ; \ 285 $(top_builddir)/cloog$(EXEEXT) -callable 1 $$options $(srcdir)/$$x.cloog -o $(srcdir)/$$x.good.c ; \ 286 done; done 287 288valgrind: 289 @echo " /*-----------------------------------------------*" 290 @echo " * Checking files by Valgrind *" 291 @echo " *-----------------------------------------------*/" 292 for x in $(CLOOGTEST_C) ; do \ 293 echo "Valgrinding $$x.c" ; \ 294 valgrind $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog ; \ 295 done ; \ 296 for x in $(CLOOGTEST_FORTRAN) ; do \ 297 echo "Valgrinding $$x.f" ; \ 298 valgrind $(top_builddir)/cloog$(EXEEXT) $(srcdir)/$$x.cloog ; \ 299 done 300 301CHECKER := "$(srcdir)/checker.sh" 302 303TESTS_ENVIRONMENT = \ 304 top_builddir=$(top_builddir) \ 305 srcdir=$(srcdir) \ 306 EXEXT=$(EXEEXT) \ 307 CHECKER=$(CHECKER) \ 308 COMPILE="$(COMPILE)" \ 309 LINK="$(LINK)" \ 310 FINITE_CLOOGTEST_C="$(FINITE_CLOOGTEST_C)" \ 311 CLOOGTEST_C="$(CLOOGTEST_C)" \ 312 CLOOGTEST_FORTRAN="$(CLOOGTEST_FORTRAN)" \ 313 CLOOGTEST_STRIDED="$(CLOOGTEST_STRIDED)" \ 314 CLOOGTEST_OPENSCOP="$(CLOOGTEST_OPENSCOP)" \ 315 SPECIAL_OPTIONS="$(SPECIAL_OPTIONS)" 316 317test_run: generate_test$(EXEEXT) 318 $(TESTS_ENVIRONMENT) \ 319 $(srcdir)/check_run.sh 320 321check_SCRIPTS = \ 322 $(srcdir)/check_c.sh \ 323 $(srcdir)/check_fortran.sh \ 324 $(srcdir)/check_strided.sh \ 325 $(srcdir)/check_openscop.sh \ 326 $(srcdir)/check_special.sh 327 328TESTS = $(check_SCRIPTS) 329 330EXTRA_DIST = \ 331 $(check_SCRIPTS) \ 332 $(srcdir)/checker.sh \ 333 $(srcdir)/check_run.sh \ 334 $(CLOOGTEST_C:%=%.cloog) \ 335 $(CLOOGTEST_C:%=%.c) \ 336 $(FINITE_CLOOGTEST_C:%=%.good.c) \ 337 $(CLOOGTEST_FORTRAN:%=%.cloog) \ 338 $(CLOOGTEST_FORTRAN:%=%.f) \ 339 $(CLOOGTEST_STRIDED:%=%.cloog) \ 340 $(CLOOGTEST_STRIDED:%=%.c) \ 341 $(CLOOGTEST_OPENSCOP:%=%.scop) \ 342 $(CLOOGTEST_OPENSCOP:%=%.c) \ 343 $(SPECIAL_TESTS:%=%.cloog) \ 344 $(SPECIAL_TESTS:%=%.c) \ 345 $(SPECIAL_TESTS:%=%.good.c) 346