## Main user-visible multiprecision arithmetic.
pkginclude_HEADERS += mp.h
libmath_la_SOURCES += mp-arith.c
-TESTS += mp-arith.$t
+TESTS += mp-arith.t$(EXEEXT)
libmath_la_SOURCES += mp-const.c
libmath_la_SOURCES += mp-exp.c mp-exp.h
libmath_la_SOURCES += mp-gcd.c
-TESTS += mp-gcd.$t
+TESTS += mp-gcd.t$(EXEEXT)
libmath_la_SOURCES += mp-io.c
libmath_la_SOURCES += mp-jacobi.c
-TESTS += mp-jacobi.$t
+TESTS += mp-jacobi.t$(EXEEXT)
libmath_la_SOURCES += mp-mem.c
libmath_la_SOURCES += mp-misc.c
libmath_la_SOURCES += mp-modexp.c
-TESTS += mp-modexp.$t
+TESTS += mp-modexp.t$(EXEEXT)
libmath_la_SOURCES += mp-modsqrt.c
-TESTS += mp-modsqrt.$t
+TESTS += mp-modsqrt.t$(EXEEXT)
libmath_la_SOURCES += mp-sqrt.c
-TESTS += mp-sqrt.$t
+TESTS += mp-sqrt.t$(EXEEXT)
libmath_la_SOURCES += mp-test.c
EXTRA_DIST += t/mp
## Computing Fibonacci numbers.
pkginclude_HEADERS += mp-fibonacci.h
libmath_la_SOURCES += mp-fibonacci.c
-TESTS += mp-fibonacci.$t
+TESTS += mp-fibonacci.t$(EXEEXT)
## Special memory allocation for multiprecision integers.
pkginclude_HEADERS += mparena.h
## Barrett reduction, an efficient method for modular reduction.
pkginclude_HEADERS += mpbarrett.h
libmath_la_SOURCES += mpbarrett.c
-TESTS += mpbarrett.$t
+TESTS += mpbarrett.t$(EXEEXT)
libmath_la_SOURCES += mpbarrett-exp.c mpbarrett-mexp.c mpbarrett-exp.h
-TESTS += mpbarrett-exp.$t mpbarrett-mexp.$t
-TESTS += mpbarrett.$t
+TESTS += mpbarrett-exp.t$(EXEEXT) mpbarrett-mexp.t$(EXEEXT)
+TESTS += mpbarrett.t$(EXEEXT)
EXTRA_DIST += t/mpbarrett
## Solving congruences using the Chinese Remainder Theorem.
pkginclude_HEADERS += mpcrt.h
libmath_la_SOURCES += mpcrt.c
-TESTS += mpcrt.$t
+TESTS += mpcrt.t$(EXEEXT)
EXTRA_DIST += t/mpcrt
## Conversions between machine-native and multiprecision integers.
pkginclude_HEADERS += mpint.h
libmath_la_SOURCES += mpint.c
-TESTS += mpint.$t
+TESTS += mpint.t$(EXEEXT)
EXTRA_DIST += t/mpint
## Montgomery reduction, a clever method for modular arithmetic.
pkginclude_HEADERS += mpmont.h
libmath_la_SOURCES += mpmont.c
-TESTS += mpmont.$t
+TESTS += mpmont.t$(EXEEXT)
libmath_la_SOURCES += mpmont-exp.c mpmont-mexp.c mpmont-exp.h
-TESTS += mpmont-exp.$t mpmont-mexp.$t
+TESTS += mpmont-exp.t$(EXEEXT) mpmont-mexp.t$(EXEEXT)
EXTRA_DIST += t/mpmont
## Efficient multiplication of many small numbers.
pkginclude_HEADERS += mpmul.h
libmath_la_SOURCES += mpmul.c
-TESTS += mpmul.$t
+TESTS += mpmul.t$(EXEEXT)
## Generating random numbers.
pkginclude_HEADERS += mprand.h
## representations.
pkginclude_HEADERS += mpreduce.h
libmath_la_SOURCES += mpreduce.c mpreduce-exp.h
-TESTS += mpreduce.$t
+TESTS += mpreduce.t$(EXEEXT)
EXTRA_DIST += t/mpreduce
## Iteratiion over the bianry representation of multiprecision integers.
## representations.
pkginclude_HEADERS += mptext.h
libmath_la_SOURCES += mptext.c
-TESTS += mptext.$t
+TESTS += mptext.t$(EXEEXT)
libmath_la_SOURCES += mptext-dstr.c
libmath_la_SOURCES += mptext-file.c
libmath_la_SOURCES += mptext-len.c
## Low-level multiprecision arithmetic.
pkginclude_HEADERS += mpx.h bitops.h mpw.h
libmath_la_SOURCES += mpx.c
-TESTS += mpx.$t
+TESTS += mpx.t$(EXEEXT)
libmath_la_SOURCES += karatsuba.h mpx-kmul.c mpx-ksqr.c
-TESTS += mpx-kmul.$t mpx-ksqr.$t
+TESTS += mpx-kmul.t$(EXEEXT) mpx-ksqr.t$(EXEEXT)
noinst_PROGRAMS += bittest
TESTS += bittest
EXTRA_DIST += t/mpx
## Pollard's `rho' algorithm for determining discrete logarithms.
pkginclude_HEADERS += rho.h
libmath_la_SOURCES += rho.c
-TESTS += rho.$t
+TESTS += rho.t$(EXEEXT)
###--------------------------------------------------------------------------
### Prime number checking, searching, and related jobs.
$(precomp)/math/primetab.h: $(precomp)/math/primetab.c
$(precomp)/math/primetab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/math
- $(AM_V_at)$(MAKE) genprimes$e
+ $(AM_V_at)$(MAKE) genprimes$(EXEEXT)
$(AM_V_GEN)./genprimes -sCATACOMB_PRIMETAB_H \
-h$(precomp)/math/primetab.h -c$(precomp)/math/primetab.c \
-n256 -t"unsigned short" -iprimetab
libmath_la_SOURCES += pgen-gcd.c
libmath_la_SOURCES += pgen-simul.c
libmath_la_SOURCES += pgen-stdev.c
-TESTS += pgen.$t
+TESTS += pgen.t$(EXEEXT)
EXTRA_DIST += t/pgen
## Finding primitive elements in finite fields.
## Iterating over all prime numbers from a given starting point.
pkginclude_HEADERS += primeiter.h
libmath_la_SOURCES += primeiter.c
-TESTS += primeiter.$t
+TESTS += primeiter.t$(EXEEXT)
primeiter.lo: $(precomp)/math/wheel.h
## The Miller--Rabin primality test.
$(precomp)/math/wheel.h: $(precomp)/math/wheel.c
$(precomp)/math/wheel.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/math
- $(AM_V_at)$(MAKE) genwheel$e
+ $(AM_V_at)$(MAKE) genwheel$(EXEEXT)
$(AM_V_GEN)./genwheel -sCATACOMB_WHEEL_H \
-h$(precomp)/math/wheel.h -c$(precomp)/math/wheel.c \
-n5 -t"unsigned char" -iwheel
## User-visible binary polynomial arithmetic.
pkginclude_HEADERS += gf.h
libmath_la_SOURCES += gf-arith.c
-TESTS += gf-arith.$t
+TESTS += gf-arith.t$(EXEEXT)
libmath_la_SOURCES += gf-exp.c gf-exp.h
libmath_la_SOURCES += gf-gcd.c
-TESTS += gf-gcd.$t
+TESTS += gf-gcd.t$(EXEEXT)
EXTRA_DIST += t/gf
## Low-level binary polynomial arithmetic.
pkginclude_HEADERS += gfx.h
libmath_la_SOURCES += gfx.c
-TESTS += gfx.$t
+TESTS += gfx.t$(EXEEXT)
libmath_la_SOURCES += gfx-kmul.c
-TESTS += gfx-kmul.$t
+TESTS += gfx-kmul.t$(EXEEXT)
libmath_la_SOURCES += gfx-sqr.c
nodist_libmath_la_SOURCES += ../precomp/math/gfx-sqrtab.c
PRECOMPS += $(precomp)/math/gfx-sqrtab.c
if !CROSS_COMPILING
$(precomp)/math/gfx-sqrtab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/math
- $(AM_V_at)$(MAKE) gfx-sqr-mktab$e
+ $(AM_V_at)$(MAKE) gfx-sqr-mktab$(EXEEXT)
$(AM_V_GEN)./gfx-sqr-mktab >$(precomp)/math/gfx-sqrtab.c.new && \
mv $(precomp)/math/gfx-sqrtab.c.new \
$(precomp)/math/gfx-sqrtab.c
endif
-TESTS += gfx-sqr.$t
+TESTS += gfx-sqr.t$(EXEEXT)
EXTRA_DIST += t/gfx
## Conversions between normal and polynomial basis representations for binary
## fields.
pkginclude_HEADERS += gfn.h
libmath_la_SOURCES += gfn.c
-TESTS += gfn.$t
+TESTS += gfn.t$(EXEEXT)
EXTRA_DIST += t/gfn
## Efficient reduction modulo sparse polynomials.
pkginclude_HEADERS += gfreduce.h
libmath_la_SOURCES += gfreduce.c gfreduce-exp.h
-TESTS += gfreduce.$t
+TESTS += gfreduce.t$(EXEEXT)
EXTRA_DIST += t/gfreduce
###--------------------------------------------------------------------------
libmath_la_SOURCES += g-prime.c
libmath_la_SOURCES += g-ec.c
EXTRA_DIST += group-test.c
-TESTS += group-test.$t
+TESTS += group-test.t$(EXEEXT)
EXTRA_DIST += t/group
## Abstract finite fields.
libmath_la_SOURCES += ec.c
libmath_la_SOURCES += ec-exp.c ec-exp.h
libmath_la_SOURCES += ec-info.c
-TESTS += ec-info.$t
+TESTS += ec-info.t$(EXEEXT)
libmath_la_SOURCES += ec-bin.c
-TESTS += ec-bin.$t
+TESTS += ec-bin.t$(EXEEXT)
libmath_la_SOURCES += ec-prime.c
-TESTS += ec-prime.$t
+TESTS += ec-prime.t$(EXEEXT)
EXTRA_DIST += t/ec
## The standard `raw' encoding (`EC2OSP') of elliptic curve points.
## Test infrastructure for elliptic curves.
pkginclude_HEADERS += ec-test.h
libmath_la_SOURCES += ec-test.c
-TESTS += ec-test.$t
+TESTS += ec-test.t$(EXEEXT)
## Table of built-in elliptic-curve groups.
pkginclude_HEADERS += ectab.h
if !CROSS_COMPILING
$(precomp)/misc/gfshare-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/misc
- $(AM_V_at)$(MAKE) gfshare-mktab$e
+ $(AM_V_at)$(MAKE) gfshare-mktab$(EXEEXT)
$(AM_V_GEN)./gfshare-mktab >$(precomp)/misc/gfshare-tab.c.new && \
mv $(precomp)/misc/gfshare-tab.c.new \
$(precomp)/misc/gfshare-tab.c
endif
-TESTS += gfshare.$t
+TESTS += gfshare.t$(EXEEXT)
## Number-theoretic sharing over GF(p).
pkginclude_HEADERS += share.h
libmisc_la_SOURCES += share.c
-TESTS += share.$t
+TESTS += share.t$(EXEEXT)
###----- That's all, folks --------------------------------------------------
libpub_la_SOURCES += bbs-fetch.c
libpub_la_SOURCES += bbs-gen.c
libpub_la_SOURCES += bbs-jump.c
-TESTS += bbs-jump.$t
+TESTS += bbs-jump.t$(EXEEXT)
libpub_la_SOURCES += bbs-rand.c
-TESTS += bbs-rand.$t
+TESTS += bbs-rand.t$(EXEEXT)
EXTRA_DIST += t/bbs
## Plain Diffie--Hellman, in Schorr groups.
libpub_la_SOURCES += dh-kcdsa.c
libpub_la_SOURCES += dh-limlee.c
libpub_la_SOURCES += dh-param.c
-TESTS += dh-param.$t
+TESTS += dh-param.t$(EXEEXT)
## The National Security Agency's Digital Signature Algorithm.
pkginclude_HEADERS += dsa.h
libpub_la_SOURCES += dsa-gen.c
-TESTS += dsa-gen.$t
+TESTS += dsa-gen.t$(EXEEXT)
libpub_la_SOURCES += dsa-misc.c
libpub_la_SOURCES += dsa-sign.c
-TESTS += dsa-sign.$t
+TESTS += dsa-sign.t$(EXEEXT)
libpub_la_SOURCES += dsa-verify.c
-TESTS += dsa-verify.$t
+TESTS += dsa-verify.t$(EXEEXT)
libpub_la_SOURCES += dsa-check.c
EXTRA_DIST += t/dsa
## Generalization of DSA to arbitrary cyclic groups.
pkginclude_HEADERS += gdsa.h
libpub_la_SOURCES += gdsa.c
-TESTS += gdsa.$t
+TESTS += gdsa.t$(EXEEXT)
EXTRA_DIST += t/gdsa
## KISA `KCDSA', generalized to arbitrary cyclic groups.
pkginclude_HEADERS += gkcdsa.h
libpub_la_SOURCES += gkcdsa.c
-TESTS += gkcdsa.$t
+TESTS += gkcdsa.t$(EXEEXT)
EXTRA_DIST += t/gkcdsa
## General key validity checking machinery.
libpub_la_SOURCES += pkcs1.c
libpub_la_SOURCES += pss.c
EXTRA_DIST += rsa-test.c
-TESTS += rsa-test.$t
+TESTS += rsa-test.t$(EXEEXT)
EXTRA_DIST += t/rsa
###----- That's all, folks --------------------------------------------------
## A simple linear-congruential generator.
pkginclude_HEADERS += lcrand.h
librand_la_SOURCES += lcrand.c
-TESTS += lcrand.$t
+TESTS += lcrand.t$(EXEEXT)
EXTRA_DIST += t/lcrand
## Maurer's universal statistical test.
## The SSL v3 pseudorandom function.
pkginclude_HEADERS += sslprf.h
librand_la_SOURCES += sslprf.c
-TESTS += sslprf.$t
+TESTS += sslprf.t$(EXEEXT)
EXTRA_DIST += t/sslprf
## The TLS v1 pseudorandom function.
pkginclude_HEADERS += tlsprf.h
librand_la_SOURCES += tlsprf.c
-TESTS += tlsprf.$t
+TESTS += tlsprf.t$(EXEEXT)
EXTRA_DIST += t/tlsprf
###----- That's all, folks --------------------------------------------------
if !CROSS_COMPILING
$(precomp)/symm/blowfish-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/symm
- $(AM_V_at)$(MAKE) blowfish-mktab$e
+ $(AM_V_at)$(MAKE) blowfish-mktab$(EXEEXT)
$(AM_V_GEN)./blowfish-mktab >$(precomp)/symm/blowfish-tab.c.new && \
mv $(precomp)/symm/blowfish-tab.c.new \
$(precomp)/symm/blowfish-tab.c
## Adams and Tavares' `CAST' block ciphers.
BLKCS += cast128 cast256
libsymm_la_SOURCES += cast-s.c cast-sk.c cast-base.h
-cast256.$t: t/cast256
+cast256.t$(EXEEXT): t/cast256
EXTRA_DIST += t/cast256.aes
MAINTAINERCLEANFILES += $(srcdir)/t/cast256
t/cast256: t/cast256.aes
if !CROSS_COMPILING
$(precomp)/symm/des-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/symm
- $(AM_V_at)$(MAKE) des-mktab$e
+ $(AM_V_at)$(MAKE) des-mktab$(EXEEXT)
$(AM_V_GEN)./des-mktab >$(precomp)/symm/des-tab.c.new && \
mv $(precomp)/symm/des-tab.c.new $(precomp)/symm/des-tab.c
endif
if !CROSS_COMPILING
$(precomp)/symm/mars-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/symm
- $(AM_V_at)$(MAKE) mars-mktab$e
+ $(AM_V_at)$(MAKE) mars-mktab$(EXEEXT)
$(AM_V_GEN)./mars-mktab >$(precomp)/symm/mars-tab.c.new && \
mv $(precomp)/symm/mars-tab.c.new $(precomp)/symm/mars-tab.c
endif
-mars.$t: t/mars
+mars.t$(EXEEXT): t/mars
EXTRA_DIST += t/mars.aes
MAINTAINERCLEANFILES += $(srcdir)/t/mars
t/mars: t/mars.aes
if !CROSS_COMPILING
$(precomp)/symm/rijndael-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/symm
- $(AM_V_at)$(MAKE) rijndael-mktab$e
+ $(AM_V_at)$(MAKE) rijndael-mktab$(EXEEXT)
$(AM_V_GEN)./rijndael-mktab >$(precomp)/symm/rijndael-tab.c.new && \
mv $(precomp)/symm/rijndael-tab.c.new \
$(precomp)/symm/rijndael-tab.c
endif
-rijndael.$t: t/rijndael
+rijndael.t$(EXEEXT): t/rijndael
EXTRA_DIST += t/rijndael.aes
MAINTAINERCLEANFILES += $(srcdir)/t/rijndael
t/rijndael: t/rijndael.aes
if !CROSS_COMPILING
$(precomp)/symm/safer-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/symm
- $(AM_V_at)$(MAKE) safer-mktab$e
+ $(AM_V_at)$(MAKE) safer-mktab$(EXEEXT)
$(AM_V_GEN)./safer-mktab >$(precomp)/symm/safer-tab.c.new && \
mv $(precomp)/symm/safer-tab.c.new \
$(precomp)/symm/safer-tab.c
libsymm_la_SOURCES += serpent-sbox.h
check_PROGRAMS += serpent-check
TESTS += serpent-check
-serpent.$t: t/serpent
+serpent.t$(EXEEXT): t/serpent
EXTRA_DIST += t/serpent.aes
MAINTAINERCLEANFILES += $(srcdir)/t/serpent
t/serpent: t/serpent.aes
if !CROSS_COMPILING
$(precomp)/symm/square-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/symm
- $(AM_V_at)$(MAKE) square-mktab$e
+ $(AM_V_at)$(MAKE) square-mktab$(EXEEXT)
$(AM_V_GEN)./square-mktab >$(precomp)/symm/square-tab.c.new && \
mv $(precomp)/symm/square-tab.c.new \
$(precomp)/symm/square-tab.c
if !CROSS_COMPILING
$(precomp)/symm/twofish-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/symm
- $(AM_V_at)$(MAKE) twofish-mktab$e
+ $(AM_V_at)$(MAKE) twofish-mktab$(EXEEXT)
$(AM_V_GEN)./twofish-mktab >$(precomp)/symm/twofish-tab.c.new && \
mv $(precomp)/symm/twofish-tab.c.new \
$(precomp)/symm/twofish-tab.c
endif
-twofish.$t: t/twofish
+twofish.t$(EXEEXT): t/twofish
EXTRA_DIST += t/twofish.aes
MAINTAINERCLEANFILES += $(srcdir)/t/twofish
t/twofish: t/twofish.aes
if !CROSS_COMPILING
$(precomp)/symm/tiger-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/symm
- $(AM_V_at)$(MAKE) tiger-mktab$e
+ $(AM_V_at)$(MAKE) tiger-mktab$(EXEEXT)
$(AM_V_GEN)./tiger-mktab >$(precomp)/symm/tiger-tab.c.new && \
mv $(precomp)/symm/tiger-tab.c.new \
$(precomp)/symm/tiger-tab.c
if !CROSS_COMPILING
$(precomp)/symm/whirlpool-tab.c:
$(AM_V_at)$(MKDIR_P) $(precomp)/symm
- $(AM_V_at)$(MAKE) whirlpool-mktab$e
+ $(AM_V_at)$(MAKE) whirlpool-mktab$(EXEEXT)
$(AM_V_GEN)./whirlpool-mktab \
>$(precomp)/symm/whirlpool-tab.c.new && \
mv $(precomp)/symm/whirlpool-tab.c.new \
## Rivest's `RC4' stream cipher.
pkginclude_HEADERS += rc4.h
libsymm_la_SOURCES += rc4.c
-TESTS += rc4.$t
+TESTS += rc4.t$(EXEEXT)
EXTRA_DIST += t/rc4
ALL_CIPHERS += rc4
## Coppersmith and Rogaway's `SEAL' pseudorandom function.
pkginclude_HEADERS += seal.h
libsymm_la_SOURCES += seal.c
-TESTS += seal.$t
+TESTS += seal.t$(EXEEXT)
EXTRA_DIST += t/seal
ALL_CIPHERS += seal
EXTRA_DIST += salsa20-tvconv
pkginclude_HEADERS += salsa20.h salsa20-core.h
libsymm_la_SOURCES += salsa20.c
-TESTS += salsa20.$t
+TESTS += salsa20.t$(EXEEXT)
ALL_CIPHERS += salsa20 salsa2012 salsa208
ALL_CIPHERS += xsalsa20 xsalsa2012 xsalsa208
STUBS_HDR += Salsa20/12,salsa2012,salsa20
STUBS_HDR += XSalsa20/8,xsalsa208,salsa20
EXTRA_DIST += t/salsa20
MAINTAINERCLEANFILES += t/salsa20
-salsa20.$t: t/salsa20
+salsa20.t$(EXEEXT): t/salsa20
SALSA20_ESTREAM_TV = t/salsa20.estream
SALSA20_ESTREAM_TV += t/salsa2012.estream
SALSA20_ESTREAM_TV += t/salsa208.estream
## Bernstein's `ChaCha' stream cipher.
pkginclude_HEADERS += chacha.h chacha-core.h
libsymm_la_SOURCES += chacha.c
-TESTS += chacha.$t
+TESTS += chacha.t$(EXEEXT)
EXTRA_DIST += t/chacha
ALL_CIPHERS += chacha20 chacha12 chacha8
ALL_CIPHERS += xchacha20 xchacha12 xchacha8
EXTRA_DIST += daftstory.h
## Clean the debris from the `modes' subdirectory.
-CLEANFILES += modes/*.to modes/*.$t
+CLEANFILES += modes/*.to modes/*.t$(EXEEXT)
###----- That's all, folks --------------------------------------------------
%repeat
GENMODES_C += modes/@blkc-@blkcmode.c
GENMODES_H += modes/@blkc-@blkcmode.h
-SYMM_TESTS += modes/@blkc-@blkcmode.$t
+SYMM_TESTS += modes/@blkc-@blkcmode.t$(EXEEXT)
%end
## Hash function modes.
%repeat
GENMODES_C += modes/@hash-@hashmode.c
GENMODES_H += modes/@hash-@hashmode.h
-SYMM_TESTS += modes/@hash-@hashmode.$t
+SYMM_TESTS += modes/@hash-@hashmode.t$(EXEEXT)
%end
## Interface and implementation headers for the various modes.
%repeat
BLKC_C += @blkc.c
BLKC_H += @blkc.h
-SYMM_TESTS += @blkc.$t
+SYMM_TESTS += @blkc.t$(EXEEXT)
%end
## Hash function interfaces and implementations.
%repeat
HASH_C += @hash.c
HASH_H += @hash.h
-SYMM_TESTS += @hash.$t
+SYMM_TESTS += @hash.t$(EXEEXT)
%end
## Modes for symmetric encryption.
###--------------------------------------------------------------------------
### Miscellaneous useful definitions.
-## Some convenient abbreviations for file suffixes.
-e = $(EXEEXT)
-o = $(OBJEXT)
-t = t$e
-
## Installation directories.
archincludedir = $(pkglibdir)/include
###--------------------------------------------------------------------------
### Testing.
-SUFFIXES += .c .$t .to
+SUFFIXES += .c .t$(EXEEXT) .to
.c.to:
$(AM_V_CC)$(COMPILE) -c -DTEST_RIG -DSRCDIR=\"$(srcdir)\" $< -o $@
-.to.$t:
+.to.t$(EXEEXT):
$(AM_V_CCLD)$(LINK) $< $(TEST_LIBS) $(top_builddir)/libcatacomb.la \
$(mLib_LIBS) $(CATACOMB_LIBS) $(LIBS)
.PRECIOUS: %.to
-CLEANFILES += *.to *.$t
+CLEANFILES += *.to *.t$(EXEEXT)
###----- That's all, folks --------------------------------------------------