cannam@125: #!/usr/bin/make -f cannam@125: cannam@125: # This is probably only going to work with GNU Make. cannam@125: # This in a separate file instead of in Makefile.am because Automake complains cannam@125: # about the GNU Make-isms. cannam@125: cannam@125: EXEEXT = @EXEEXT@ cannam@125: cannam@125: PACKAGE_VERSION = @PACKAGE_VERSION@ cannam@125: cannam@125: HOST_TRIPLET = @HOST_TRIPLET@ cannam@125: cannam@125: SRC_BINDIR = @SRC_BINDIR@ cannam@125: TEST_BINDIR = @TEST_BINDIR@ cannam@125: cannam@125: LIBRARY := $(SRC_BINDIR)libsndfile.so.$(LIB_VERSION) cannam@125: cannam@125: LIB_VERSION := $(shell echo $(PACKAGE_VERSION) | sed -e 's/[a-z].*//') cannam@125: cannam@125: TESTNAME = libsndfile-testsuite-$(HOST_TRIPLET)-$(PACKAGE_VERSION) cannam@125: cannam@125: TARBALL = $(TESTNAME).tar.gz cannam@125: cannam@125: # Find the test programs by grepping the script for the programs it executes. cannam@125: testprogs := $(shell grep '^\./' tests/test_wrapper.sh | sed -e "s|./||" -e "s/ .*//" | sort | uniq) cannam@125: # Also add the programs not found by the above. cannam@125: testprogs += sfversion@EXEEXT@ stdin_test@EXEEXT@ stdout_test@EXEEXT@ cpp_test@EXEEXT@ win32_test@EXEEXT@ cannam@125: cannam@125: # Find the single test program in src/ . cannam@125: srcprogs := $(shell if test -x src/.libs/test_main$(EXEEXT) ; then echo "src/.libs/test_main$(EXEEXT)" ; else echo "src/test_main$(EXEEXT)" ; fi) cannam@125: cannam@125: libfiles := $(shell if test ! -z $(EXEEXT) ; then echo "src/libsndfile-1.def src/.libs/libsndfile-1.dll" ; elif test -f $(LIBRARY) ; then echo $(LIBRARY) ; fi ; fi) cannam@125: cannam@125: testbins := $(addprefix $(TEST_BINDIR),$(subst @EXEEXT@,$(EXEEXT),$(testprogs))) $(libfiles) $(srcprogs) cannam@125: cannam@125: cannam@125: all : $(TARBALL) cannam@125: cannam@125: clean : cannam@125: rm -rf $(TARBALL) $(TESTNAME)/ cannam@125: cannam@125: check : $(TESTNAME)/test_wrapper.sh cannam@125: (cd ./$(TESTNAME)/ && ./test_wrapper.sh) cannam@125: cannam@125: $(TARBALL) : $(TESTNAME)/test_wrapper.sh cannam@125: tar zcf $@ $(TESTNAME) cannam@125: rm -rf $(TESTNAME) cannam@125: @echo cannam@125: @echo "Created : $(TARBALL)" cannam@125: @echo cannam@125: cannam@125: $(TESTNAME)/test_wrapper.sh : $(testbins) tests/test_wrapper.sh tests/pedantic-header-test.sh cannam@125: rm -rf $(TESTNAME) cannam@125: mkdir -p $(TESTNAME)/tests/ cannam@125: cp $(testbins) $(TESTNAME)/tests/ cannam@125: cp tests/test_wrapper.sh $(TESTNAME)/ cannam@125: cp tests/pedantic-header-test.sh $(TESTNAME)/tests/ cannam@125: chmod u+x $@ cannam@125: cannam@125: tests/test_wrapper.sh : tests/test_wrapper.sh.in cannam@125: (cd tests/ ; make $@)