-CLEANFILES = $(wildcard *.raw) $(wildcard *.flac) $(wildcard *.cmp) \
- $(wildcard ../../test_files/bins/*.raw) \
- $(wildcard ../../test_files/bins/*.flac) \
- $(wildcard ../../test_files/bins/*.cmp) \
- $(wildcard *.log)
+TESTS_ENVIRONMENT = FLAC__TEST_LEVEL=@FLAC__TEST_LEVEL@ FLAC__TEST_WITH_VALGRIND=@FLAC__TEST_WITH_VALGRIND@
+
+SUBDIRS = cuesheets flac-to-flac-metadata-test-files metaflac-test-files pictures
+
+check_SCRIPTS = \
+ test_libFLAC.sh \
+ test_libFLAC++.sh \
+ test_grabbag.sh \
+ test_flac.sh \
+ test_metaflac.sh \
+ test_seeking.sh \
+ test_streams.sh \
+ test_compression.sh
+
+# This one should pass when building out-of-tree (eg 'make distcheck').
+check: $(check_SCRIPTS)
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_libFLAC.sh
+if FLaC__WITH_CPPLIBS
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_libFLAC++.sh
+endif
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_seeking.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_streams.sh
+ $(TESTS_ENVIRONMENT) $(srcdir)/test_compression.sh
+ @echo "----------------"
+ @echo "All tests passed"
+ @echo "----------------"
+
+# This is the full test suite, but only works correctly in-tree.
+# In particular test_grabbag.sh, test_flac.sh and test_metaflac.sh will not
+# run correctly out-of-tree.
+fullcheck: $(check_SCRIPTS)
+ $(TESTS_ENVIRONMENT) ./test_libFLAC.sh
+if FLaC__WITH_CPPLIBS
+ $(TESTS_ENVIRONMENT) ./test_libFLAC++.sh
+endif
+ $(TESTS_ENVIRONMENT) ./test_grabbag.sh
+ $(TESTS_ENVIRONMENT) ./test_flac.sh
+ $(TESTS_ENVIRONMENT) ./test_metaflac.sh
+ $(TESTS_ENVIRONMENT) ./test_seeking.sh
+ $(TESTS_ENVIRONMENT) ./test_streams.sh
+ $(TESTS_ENVIRONMENT) ./test_compression.sh
+ @echo "----------------"
+ @echo "All tests passed"
+ @echo "----------------"
+
+EXTRA_DIST = \
+ Makefile.lite \
+ cuesheet.ok \
+ metaflac.flac.in \
+ metaflac.flac.ok \
+ picture.ok \
+ $(check_SCRIPTS) \
+ test_wrapper.sh \
+ test_bins.sh \
+ write_iff.pl
+
+clean-local:
+ -rm -f *.raw *.flac *.oga *.ogg *.cmp *.aiff *.wav *.w64 *.rf64 *.diff *.log *.cue core