# Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@


VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
noinst_PROGRAMS = misc_test$(EXEEXT) termination_test$(EXEEXT) \
	simple_test$(EXEEXT) callback_test$(EXEEXT) \
	reset_test$(EXEEXT) multi_channel_test$(EXEEXT) \
	snr_bw_test$(EXEEXT) float_short_test$(EXEEXT) \
	varispeed_test$(EXEEXT) callback_hang_test$(EXEEXT) \
	src-evaluate$(EXEEXT) throughput_test$(EXEEXT) \
	multichan_throughput_test$(EXEEXT) downsample_test$(EXEEXT)
subdir = tests
DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
	$(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/M4/check_signal.m4 \
	$(top_srcdir)/M4/clip_mode.m4 $(top_srcdir)/M4/endian.m4 \
	$(top_srcdir)/M4/libtool.m4 $(top_srcdir)/M4/lrint.m4 \
	$(top_srcdir)/M4/lrintf.m4 $(top_srcdir)/M4/ltoptions.m4 \
	$(top_srcdir)/M4/ltsugar.m4 $(top_srcdir)/M4/ltversion.m4 \
	$(top_srcdir)/M4/lt~obsolete.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/src/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
am_callback_hang_test_OBJECTS = callback_hang_test.$(OBJEXT) \
	util.$(OBJEXT)
callback_hang_test_OBJECTS = $(am_callback_hang_test_OBJECTS)
callback_hang_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
am_callback_test_OBJECTS = callback_test-callback_test.$(OBJEXT) \
	callback_test-util.$(OBJEXT)
callback_test_OBJECTS = $(am_callback_test_OBJECTS)
callback_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la
callback_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(callback_test_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am_downsample_test_OBJECTS = downsample_test.$(OBJEXT) util.$(OBJEXT)
downsample_test_OBJECTS = $(am_downsample_test_OBJECTS)
downsample_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la
am_float_short_test_OBJECTS = float_short_test.$(OBJEXT) \
	util.$(OBJEXT)
float_short_test_OBJECTS = $(am_float_short_test_OBJECTS)
float_short_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la
am_misc_test_OBJECTS = misc_test.$(OBJEXT) util.$(OBJEXT)
misc_test_OBJECTS = $(am_misc_test_OBJECTS)
misc_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la
am_multi_channel_test_OBJECTS =  \
	multi_channel_test-multi_channel_test.$(OBJEXT) \
	multi_channel_test-util.$(OBJEXT) \
	multi_channel_test-calc_snr.$(OBJEXT)
multi_channel_test_OBJECTS = $(am_multi_channel_test_OBJECTS)
am__DEPENDENCIES_1 =
multi_channel_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la \
	$(am__DEPENDENCIES_1)
multi_channel_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(multi_channel_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
am_multichan_throughput_test_OBJECTS =  \
	multichan_throughput_test-multichan_throughput_test.$(OBJEXT) \
	multichan_throughput_test-util.$(OBJEXT) \
	multichan_throughput_test-calc_snr.$(OBJEXT)
multichan_throughput_test_OBJECTS =  \
	$(am_multichan_throughput_test_OBJECTS)
multichan_throughput_test_DEPENDENCIES =  \
	$(SAMPLRATEDIR)/libsamplerate.la $(am__DEPENDENCIES_1)
multichan_throughput_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(multichan_throughput_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
am_reset_test_OBJECTS = reset_test.$(OBJEXT) util.$(OBJEXT)
reset_test_OBJECTS = $(am_reset_test_OBJECTS)
reset_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la
am_simple_test_OBJECTS = simple_test.$(OBJEXT) util.$(OBJEXT)
simple_test_OBJECTS = $(am_simple_test_OBJECTS)
simple_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la
am_snr_bw_test_OBJECTS = snr_bw_test-snr_bw_test.$(OBJEXT) \
	snr_bw_test-calc_snr.$(OBJEXT) snr_bw_test-util.$(OBJEXT)
snr_bw_test_OBJECTS = $(am_snr_bw_test_OBJECTS)
snr_bw_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la \
	$(am__DEPENDENCIES_1)
snr_bw_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(snr_bw_test_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am_src_evaluate_OBJECTS = src_evaluate-src-evaluate.$(OBJEXT) \
	src_evaluate-calc_snr.$(OBJEXT) src_evaluate-util.$(OBJEXT)
src_evaluate_OBJECTS = $(am_src_evaluate_OBJECTS)
src_evaluate_DEPENDENCIES = $(am__DEPENDENCIES_1) \
	$(am__DEPENDENCIES_1)
src_evaluate_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(src_evaluate_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am_termination_test_OBJECTS = termination_test.$(OBJEXT) \
	util.$(OBJEXT)
termination_test_OBJECTS = $(am_termination_test_OBJECTS)
termination_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la
am_throughput_test_OBJECTS =  \
	throughput_test-throughput_test.$(OBJEXT) \
	throughput_test-util.$(OBJEXT) \
	throughput_test-calc_snr.$(OBJEXT)
throughput_test_OBJECTS = $(am_throughput_test_OBJECTS)
throughput_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la \
	$(am__DEPENDENCIES_1)
throughput_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(throughput_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
	-o $@
am_varispeed_test_OBJECTS = varispeed_test-varispeed_test.$(OBJEXT) \
	varispeed_test-util.$(OBJEXT) \
	varispeed_test-calc_snr.$(OBJEXT)
varispeed_test_OBJECTS = $(am_varispeed_test_OBJECTS)
varispeed_test_DEPENDENCIES = $(SAMPLRATEDIR)/libsamplerate.la \
	$(am__DEPENDENCIES_1)
varispeed_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(varispeed_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o \
	$@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
depcomp = $(SHELL) $(top_srcdir)/Cfg/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo "  CC    " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo "  CCLD  " $@;
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo "  GEN   " $@;
SOURCES = $(callback_hang_test_SOURCES) $(callback_test_SOURCES) \
	$(downsample_test_SOURCES) $(float_short_test_SOURCES) \
	$(misc_test_SOURCES) $(multi_channel_test_SOURCES) \
	$(multichan_throughput_test_SOURCES) $(reset_test_SOURCES) \
	$(simple_test_SOURCES) $(snr_bw_test_SOURCES) \
	$(src_evaluate_SOURCES) $(termination_test_SOURCES) \
	$(throughput_test_SOURCES) $(varispeed_test_SOURCES)
DIST_SOURCES = $(callback_hang_test_SOURCES) $(callback_test_SOURCES) \
	$(downsample_test_SOURCES) $(float_short_test_SOURCES) \
	$(misc_test_SOURCES) $(multi_channel_test_SOURCES) \
	$(multichan_throughput_test_SOURCES) $(reset_test_SOURCES) \
	$(simple_test_SOURCES) $(snr_bw_test_SOURCES) \
	$(src_evaluate_SOURCES) $(termination_test_SOURCES) \
	$(throughput_test_SOURCES) $(varispeed_test_SOURCES)
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
COMPILER_IS_GCC = @COMPILER_IS_GCC@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DLLWRAP = @DLLWRAP@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FFTW3_CFLAGS = @FFTW3_CFLAGS@
FFTW3_LIBS = @FFTW3_LIBS@
FGREP = @FGREP@
GCC_MAJOR_VERSION = @GCC_MAJOR_VERSION@
GREP = @GREP@
HAVE_FFTW3 = @HAVE_FFTW3@
HAVE_SNDFILE = @HAVE_SNDFILE@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_SPECIFIC_INCLUDES = @OS_SPECIFIC_INCLUDES@
OS_SPECIFIC_LINKS = @OS_SPECIFIC_LINKS@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PEXPORTS = @PEXPORTS@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
RC = @RC@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHARED_VERSION_INFO = @SHARED_VERSION_INFO@
SHELL = @SHELL@
SHLIB_VERSION_ARG = @SHLIB_VERSION_ARG@
SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
SNDFILE_LIBS = @SNDFILE_LIBS@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
htmldocdir = @htmldocdir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
SAMPLRATEDIR = ../src
INCLUDES = -I$(srcdir)/$(SAMPLRATEDIR)
noinst_HEADERS = util.h

#===============================================================================
misc_test_SOURCES = misc_test.c util.c util.h
misc_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la
termination_test_SOURCES = termination_test.c util.c util.h
termination_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la
callback_hang_test_SOURCES = callback_hang_test.c util.c util.h
callback_hang_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la
simple_test_SOURCES = simple_test.c util.c util.h
simple_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la
reset_test_SOURCES = reset_test.c util.c util.h
reset_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la
multi_channel_test_SOURCES = multi_channel_test.c util.c calc_snr.c
multi_channel_test_CFLAGS = @FFTW3_CFLAGS@
multi_channel_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la $(FFTW3_LIBS)
snr_bw_test_SOURCES = snr_bw_test.c calc_snr.c util.c util.h
snr_bw_test_CFLAGS = @FFTW3_CFLAGS@
snr_bw_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la $(FFTW3_LIBS)
callback_test_SOURCES = callback_test.c util.c util.h
callback_test_CFLAGS = @FFTW3_CFLAGS@
callback_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la
float_short_test_SOURCES = float_short_test.c util.c util.h
float_short_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la
downsample_test_SOURCES = downsample_test.c util.c util.h
downsample_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la
varispeed_test_SOURCES = varispeed_test.c util.c util.h calc_snr.c
varispeed_test_CFLAGS = @FFTW3_CFLAGS@
varispeed_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la $(FFTW3_LIBS)

# This program is for evaluating other sample rate converters.
throughput_test_CFLAGS = $(AM_CFLAGS) @FFTW3_CFLAGS@
throughput_test_SOURCES = throughput_test.c  util.c calc_snr.c
throughput_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la $(FFTW3_LIBS)
multichan_throughput_test_CFLAGS = $(AM_CFLAGS) @FFTW3_CFLAGS@
multichan_throughput_test_SOURCES = multichan_throughput_test.c  util.c calc_snr.c
multichan_throughput_test_LDADD = $(SAMPLRATEDIR)/libsamplerate.la $(FFTW3_LIBS)
src_evaluate_SOURCES = src-evaluate.c calc_snr.c util.c
src_evaluate_CFLAGS = @SNDFILE_CFLAGS@ @FFTW3_CFLAGS@
src_evaluate_LDADD = $(SNDFILE_LIBS) $(FFTW3_LIBS)
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnu tests/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure:  $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

clean-noinstPROGRAMS:
	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
callback_hang_test$(EXEEXT): $(callback_hang_test_OBJECTS) $(callback_hang_test_DEPENDENCIES) 
	@rm -f callback_hang_test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(callback_hang_test_OBJECTS) $(callback_hang_test_LDADD) $(LIBS)
callback_test$(EXEEXT): $(callback_test_OBJECTS) $(callback_test_DEPENDENCIES) 
	@rm -f callback_test$(EXEEXT)
	$(AM_V_CCLD)$(callback_test_LINK) $(callback_test_OBJECTS) $(callback_test_LDADD) $(LIBS)
downsample_test$(EXEEXT): $(downsample_test_OBJECTS) $(downsample_test_DEPENDENCIES) 
	@rm -f downsample_test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(downsample_test_OBJECTS) $(downsample_test_LDADD) $(LIBS)
float_short_test$(EXEEXT): $(float_short_test_OBJECTS) $(float_short_test_DEPENDENCIES) 
	@rm -f float_short_test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(float_short_test_OBJECTS) $(float_short_test_LDADD) $(LIBS)
misc_test$(EXEEXT): $(misc_test_OBJECTS) $(misc_test_DEPENDENCIES) 
	@rm -f misc_test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(misc_test_OBJECTS) $(misc_test_LDADD) $(LIBS)
multi_channel_test$(EXEEXT): $(multi_channel_test_OBJECTS) $(multi_channel_test_DEPENDENCIES) 
	@rm -f multi_channel_test$(EXEEXT)
	$(AM_V_CCLD)$(multi_channel_test_LINK) $(multi_channel_test_OBJECTS) $(multi_channel_test_LDADD) $(LIBS)
multichan_throughput_test$(EXEEXT): $(multichan_throughput_test_OBJECTS) $(multichan_throughput_test_DEPENDENCIES) 
	@rm -f multichan_throughput_test$(EXEEXT)
	$(AM_V_CCLD)$(multichan_throughput_test_LINK) $(multichan_throughput_test_OBJECTS) $(multichan_throughput_test_LDADD) $(LIBS)
reset_test$(EXEEXT): $(reset_test_OBJECTS) $(reset_test_DEPENDENCIES) 
	@rm -f reset_test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(reset_test_OBJECTS) $(reset_test_LDADD) $(LIBS)
simple_test$(EXEEXT): $(simple_test_OBJECTS) $(simple_test_DEPENDENCIES) 
	@rm -f simple_test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(simple_test_OBJECTS) $(simple_test_LDADD) $(LIBS)
snr_bw_test$(EXEEXT): $(snr_bw_test_OBJECTS) $(snr_bw_test_DEPENDENCIES) 
	@rm -f snr_bw_test$(EXEEXT)
	$(AM_V_CCLD)$(snr_bw_test_LINK) $(snr_bw_test_OBJECTS) $(snr_bw_test_LDADD) $(LIBS)
src-evaluate$(EXEEXT): $(src_evaluate_OBJECTS) $(src_evaluate_DEPENDENCIES) 
	@rm -f src-evaluate$(EXEEXT)
	$(AM_V_CCLD)$(src_evaluate_LINK) $(src_evaluate_OBJECTS) $(src_evaluate_LDADD) $(LIBS)
termination_test$(EXEEXT): $(termination_test_OBJECTS) $(termination_test_DEPENDENCIES) 
	@rm -f termination_test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(termination_test_OBJECTS) $(termination_test_LDADD) $(LIBS)
throughput_test$(EXEEXT): $(throughput_test_OBJECTS) $(throughput_test_DEPENDENCIES) 
	@rm -f throughput_test$(EXEEXT)
	$(AM_V_CCLD)$(throughput_test_LINK) $(throughput_test_OBJECTS) $(throughput_test_LDADD) $(LIBS)
varispeed_test$(EXEEXT): $(varispeed_test_OBJECTS) $(varispeed_test_DEPENDENCIES) 
	@rm -f varispeed_test$(EXEEXT)
	$(AM_V_CCLD)$(varispeed_test_LINK) $(varispeed_test_OBJECTS) $(varispeed_test_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)

distclean-compile:
	-rm -f *.tab.c

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callback_hang_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callback_test-callback_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callback_test-util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/downsample_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/float_short_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi_channel_test-calc_snr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi_channel_test-multi_channel_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multi_channel_test-util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multichan_throughput_test-calc_snr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multichan_throughput_test-multichan_throughput_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multichan_throughput_test-util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reset_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snr_bw_test-calc_snr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snr_bw_test-snr_bw_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/snr_bw_test-util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/src_evaluate-calc_snr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/src_evaluate-src-evaluate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/src_evaluate-util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/termination_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/throughput_test-calc_snr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/throughput_test-throughput_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/throughput_test-util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/varispeed_test-calc_snr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/varispeed_test-util.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/varispeed_test-varispeed_test.Po@am__quote@

.c.o:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c $<

.c.obj:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`

.c.lo:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<

callback_test-callback_test.o: callback_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(callback_test_CFLAGS) $(CFLAGS) -MT callback_test-callback_test.o -MD -MP -MF $(DEPDIR)/callback_test-callback_test.Tpo -c -o callback_test-callback_test.o `test -f 'callback_test.c' || echo '$(srcdir)/'`callback_test.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/callback_test-callback_test.Tpo $(DEPDIR)/callback_test-callback_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='callback_test.c' object='callback_test-callback_test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(callback_test_CFLAGS) $(CFLAGS) -c -o callback_test-callback_test.o `test -f 'callback_test.c' || echo '$(srcdir)/'`callback_test.c

callback_test-callback_test.obj: callback_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(callback_test_CFLAGS) $(CFLAGS) -MT callback_test-callback_test.obj -MD -MP -MF $(DEPDIR)/callback_test-callback_test.Tpo -c -o callback_test-callback_test.obj `if test -f 'callback_test.c'; then $(CYGPATH_W) 'callback_test.c'; else $(CYGPATH_W) '$(srcdir)/callback_test.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/callback_test-callback_test.Tpo $(DEPDIR)/callback_test-callback_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='callback_test.c' object='callback_test-callback_test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(callback_test_CFLAGS) $(CFLAGS) -c -o callback_test-callback_test.obj `if test -f 'callback_test.c'; then $(CYGPATH_W) 'callback_test.c'; else $(CYGPATH_W) '$(srcdir)/callback_test.c'; fi`

callback_test-util.o: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(callback_test_CFLAGS) $(CFLAGS) -MT callback_test-util.o -MD -MP -MF $(DEPDIR)/callback_test-util.Tpo -c -o callback_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/callback_test-util.Tpo $(DEPDIR)/callback_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='callback_test-util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(callback_test_CFLAGS) $(CFLAGS) -c -o callback_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c

callback_test-util.obj: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(callback_test_CFLAGS) $(CFLAGS) -MT callback_test-util.obj -MD -MP -MF $(DEPDIR)/callback_test-util.Tpo -c -o callback_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/callback_test-util.Tpo $(DEPDIR)/callback_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='callback_test-util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(callback_test_CFLAGS) $(CFLAGS) -c -o callback_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`

multi_channel_test-multi_channel_test.o: multi_channel_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -MT multi_channel_test-multi_channel_test.o -MD -MP -MF $(DEPDIR)/multi_channel_test-multi_channel_test.Tpo -c -o multi_channel_test-multi_channel_test.o `test -f 'multi_channel_test.c' || echo '$(srcdir)/'`multi_channel_test.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multi_channel_test-multi_channel_test.Tpo $(DEPDIR)/multi_channel_test-multi_channel_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='multi_channel_test.c' object='multi_channel_test-multi_channel_test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -c -o multi_channel_test-multi_channel_test.o `test -f 'multi_channel_test.c' || echo '$(srcdir)/'`multi_channel_test.c

multi_channel_test-multi_channel_test.obj: multi_channel_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -MT multi_channel_test-multi_channel_test.obj -MD -MP -MF $(DEPDIR)/multi_channel_test-multi_channel_test.Tpo -c -o multi_channel_test-multi_channel_test.obj `if test -f 'multi_channel_test.c'; then $(CYGPATH_W) 'multi_channel_test.c'; else $(CYGPATH_W) '$(srcdir)/multi_channel_test.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multi_channel_test-multi_channel_test.Tpo $(DEPDIR)/multi_channel_test-multi_channel_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='multi_channel_test.c' object='multi_channel_test-multi_channel_test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -c -o multi_channel_test-multi_channel_test.obj `if test -f 'multi_channel_test.c'; then $(CYGPATH_W) 'multi_channel_test.c'; else $(CYGPATH_W) '$(srcdir)/multi_channel_test.c'; fi`

multi_channel_test-util.o: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -MT multi_channel_test-util.o -MD -MP -MF $(DEPDIR)/multi_channel_test-util.Tpo -c -o multi_channel_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multi_channel_test-util.Tpo $(DEPDIR)/multi_channel_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='multi_channel_test-util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -c -o multi_channel_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c

multi_channel_test-util.obj: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -MT multi_channel_test-util.obj -MD -MP -MF $(DEPDIR)/multi_channel_test-util.Tpo -c -o multi_channel_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multi_channel_test-util.Tpo $(DEPDIR)/multi_channel_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='multi_channel_test-util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -c -o multi_channel_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`

multi_channel_test-calc_snr.o: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -MT multi_channel_test-calc_snr.o -MD -MP -MF $(DEPDIR)/multi_channel_test-calc_snr.Tpo -c -o multi_channel_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multi_channel_test-calc_snr.Tpo $(DEPDIR)/multi_channel_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='multi_channel_test-calc_snr.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -c -o multi_channel_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c

multi_channel_test-calc_snr.obj: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -MT multi_channel_test-calc_snr.obj -MD -MP -MF $(DEPDIR)/multi_channel_test-calc_snr.Tpo -c -o multi_channel_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multi_channel_test-calc_snr.Tpo $(DEPDIR)/multi_channel_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='multi_channel_test-calc_snr.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multi_channel_test_CFLAGS) $(CFLAGS) -c -o multi_channel_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`

multichan_throughput_test-multichan_throughput_test.o: multichan_throughput_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -MT multichan_throughput_test-multichan_throughput_test.o -MD -MP -MF $(DEPDIR)/multichan_throughput_test-multichan_throughput_test.Tpo -c -o multichan_throughput_test-multichan_throughput_test.o `test -f 'multichan_throughput_test.c' || echo '$(srcdir)/'`multichan_throughput_test.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multichan_throughput_test-multichan_throughput_test.Tpo $(DEPDIR)/multichan_throughput_test-multichan_throughput_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='multichan_throughput_test.c' object='multichan_throughput_test-multichan_throughput_test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -c -o multichan_throughput_test-multichan_throughput_test.o `test -f 'multichan_throughput_test.c' || echo '$(srcdir)/'`multichan_throughput_test.c

multichan_throughput_test-multichan_throughput_test.obj: multichan_throughput_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -MT multichan_throughput_test-multichan_throughput_test.obj -MD -MP -MF $(DEPDIR)/multichan_throughput_test-multichan_throughput_test.Tpo -c -o multichan_throughput_test-multichan_throughput_test.obj `if test -f 'multichan_throughput_test.c'; then $(CYGPATH_W) 'multichan_throughput_test.c'; else $(CYGPATH_W) '$(srcdir)/multichan_throughput_test.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multichan_throughput_test-multichan_throughput_test.Tpo $(DEPDIR)/multichan_throughput_test-multichan_throughput_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='multichan_throughput_test.c' object='multichan_throughput_test-multichan_throughput_test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -c -o multichan_throughput_test-multichan_throughput_test.obj `if test -f 'multichan_throughput_test.c'; then $(CYGPATH_W) 'multichan_throughput_test.c'; else $(CYGPATH_W) '$(srcdir)/multichan_throughput_test.c'; fi`

multichan_throughput_test-util.o: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -MT multichan_throughput_test-util.o -MD -MP -MF $(DEPDIR)/multichan_throughput_test-util.Tpo -c -o multichan_throughput_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multichan_throughput_test-util.Tpo $(DEPDIR)/multichan_throughput_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='multichan_throughput_test-util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -c -o multichan_throughput_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c

multichan_throughput_test-util.obj: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -MT multichan_throughput_test-util.obj -MD -MP -MF $(DEPDIR)/multichan_throughput_test-util.Tpo -c -o multichan_throughput_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multichan_throughput_test-util.Tpo $(DEPDIR)/multichan_throughput_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='multichan_throughput_test-util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -c -o multichan_throughput_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`

multichan_throughput_test-calc_snr.o: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -MT multichan_throughput_test-calc_snr.o -MD -MP -MF $(DEPDIR)/multichan_throughput_test-calc_snr.Tpo -c -o multichan_throughput_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multichan_throughput_test-calc_snr.Tpo $(DEPDIR)/multichan_throughput_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='multichan_throughput_test-calc_snr.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -c -o multichan_throughput_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c

multichan_throughput_test-calc_snr.obj: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -MT multichan_throughput_test-calc_snr.obj -MD -MP -MF $(DEPDIR)/multichan_throughput_test-calc_snr.Tpo -c -o multichan_throughput_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/multichan_throughput_test-calc_snr.Tpo $(DEPDIR)/multichan_throughput_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='multichan_throughput_test-calc_snr.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(multichan_throughput_test_CFLAGS) $(CFLAGS) -c -o multichan_throughput_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`

snr_bw_test-snr_bw_test.o: snr_bw_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -MT snr_bw_test-snr_bw_test.o -MD -MP -MF $(DEPDIR)/snr_bw_test-snr_bw_test.Tpo -c -o snr_bw_test-snr_bw_test.o `test -f 'snr_bw_test.c' || echo '$(srcdir)/'`snr_bw_test.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snr_bw_test-snr_bw_test.Tpo $(DEPDIR)/snr_bw_test-snr_bw_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='snr_bw_test.c' object='snr_bw_test-snr_bw_test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -c -o snr_bw_test-snr_bw_test.o `test -f 'snr_bw_test.c' || echo '$(srcdir)/'`snr_bw_test.c

snr_bw_test-snr_bw_test.obj: snr_bw_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -MT snr_bw_test-snr_bw_test.obj -MD -MP -MF $(DEPDIR)/snr_bw_test-snr_bw_test.Tpo -c -o snr_bw_test-snr_bw_test.obj `if test -f 'snr_bw_test.c'; then $(CYGPATH_W) 'snr_bw_test.c'; else $(CYGPATH_W) '$(srcdir)/snr_bw_test.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snr_bw_test-snr_bw_test.Tpo $(DEPDIR)/snr_bw_test-snr_bw_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='snr_bw_test.c' object='snr_bw_test-snr_bw_test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -c -o snr_bw_test-snr_bw_test.obj `if test -f 'snr_bw_test.c'; then $(CYGPATH_W) 'snr_bw_test.c'; else $(CYGPATH_W) '$(srcdir)/snr_bw_test.c'; fi`

snr_bw_test-calc_snr.o: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -MT snr_bw_test-calc_snr.o -MD -MP -MF $(DEPDIR)/snr_bw_test-calc_snr.Tpo -c -o snr_bw_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snr_bw_test-calc_snr.Tpo $(DEPDIR)/snr_bw_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='snr_bw_test-calc_snr.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -c -o snr_bw_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c

snr_bw_test-calc_snr.obj: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -MT snr_bw_test-calc_snr.obj -MD -MP -MF $(DEPDIR)/snr_bw_test-calc_snr.Tpo -c -o snr_bw_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snr_bw_test-calc_snr.Tpo $(DEPDIR)/snr_bw_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='snr_bw_test-calc_snr.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -c -o snr_bw_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`

snr_bw_test-util.o: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -MT snr_bw_test-util.o -MD -MP -MF $(DEPDIR)/snr_bw_test-util.Tpo -c -o snr_bw_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snr_bw_test-util.Tpo $(DEPDIR)/snr_bw_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='snr_bw_test-util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -c -o snr_bw_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c

snr_bw_test-util.obj: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -MT snr_bw_test-util.obj -MD -MP -MF $(DEPDIR)/snr_bw_test-util.Tpo -c -o snr_bw_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/snr_bw_test-util.Tpo $(DEPDIR)/snr_bw_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='snr_bw_test-util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(snr_bw_test_CFLAGS) $(CFLAGS) -c -o snr_bw_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`

src_evaluate-src-evaluate.o: src-evaluate.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -MT src_evaluate-src-evaluate.o -MD -MP -MF $(DEPDIR)/src_evaluate-src-evaluate.Tpo -c -o src_evaluate-src-evaluate.o `test -f 'src-evaluate.c' || echo '$(srcdir)/'`src-evaluate.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/src_evaluate-src-evaluate.Tpo $(DEPDIR)/src_evaluate-src-evaluate.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src-evaluate.c' object='src_evaluate-src-evaluate.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -c -o src_evaluate-src-evaluate.o `test -f 'src-evaluate.c' || echo '$(srcdir)/'`src-evaluate.c

src_evaluate-src-evaluate.obj: src-evaluate.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -MT src_evaluate-src-evaluate.obj -MD -MP -MF $(DEPDIR)/src_evaluate-src-evaluate.Tpo -c -o src_evaluate-src-evaluate.obj `if test -f 'src-evaluate.c'; then $(CYGPATH_W) 'src-evaluate.c'; else $(CYGPATH_W) '$(srcdir)/src-evaluate.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/src_evaluate-src-evaluate.Tpo $(DEPDIR)/src_evaluate-src-evaluate.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src-evaluate.c' object='src_evaluate-src-evaluate.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -c -o src_evaluate-src-evaluate.obj `if test -f 'src-evaluate.c'; then $(CYGPATH_W) 'src-evaluate.c'; else $(CYGPATH_W) '$(srcdir)/src-evaluate.c'; fi`

src_evaluate-calc_snr.o: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -MT src_evaluate-calc_snr.o -MD -MP -MF $(DEPDIR)/src_evaluate-calc_snr.Tpo -c -o src_evaluate-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/src_evaluate-calc_snr.Tpo $(DEPDIR)/src_evaluate-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='src_evaluate-calc_snr.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -c -o src_evaluate-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c

src_evaluate-calc_snr.obj: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -MT src_evaluate-calc_snr.obj -MD -MP -MF $(DEPDIR)/src_evaluate-calc_snr.Tpo -c -o src_evaluate-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/src_evaluate-calc_snr.Tpo $(DEPDIR)/src_evaluate-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='src_evaluate-calc_snr.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -c -o src_evaluate-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`

src_evaluate-util.o: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -MT src_evaluate-util.o -MD -MP -MF $(DEPDIR)/src_evaluate-util.Tpo -c -o src_evaluate-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/src_evaluate-util.Tpo $(DEPDIR)/src_evaluate-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='src_evaluate-util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -c -o src_evaluate-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c

src_evaluate-util.obj: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -MT src_evaluate-util.obj -MD -MP -MF $(DEPDIR)/src_evaluate-util.Tpo -c -o src_evaluate-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/src_evaluate-util.Tpo $(DEPDIR)/src_evaluate-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='src_evaluate-util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(src_evaluate_CFLAGS) $(CFLAGS) -c -o src_evaluate-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`

throughput_test-throughput_test.o: throughput_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -MT throughput_test-throughput_test.o -MD -MP -MF $(DEPDIR)/throughput_test-throughput_test.Tpo -c -o throughput_test-throughput_test.o `test -f 'throughput_test.c' || echo '$(srcdir)/'`throughput_test.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/throughput_test-throughput_test.Tpo $(DEPDIR)/throughput_test-throughput_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='throughput_test.c' object='throughput_test-throughput_test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -c -o throughput_test-throughput_test.o `test -f 'throughput_test.c' || echo '$(srcdir)/'`throughput_test.c

throughput_test-throughput_test.obj: throughput_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -MT throughput_test-throughput_test.obj -MD -MP -MF $(DEPDIR)/throughput_test-throughput_test.Tpo -c -o throughput_test-throughput_test.obj `if test -f 'throughput_test.c'; then $(CYGPATH_W) 'throughput_test.c'; else $(CYGPATH_W) '$(srcdir)/throughput_test.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/throughput_test-throughput_test.Tpo $(DEPDIR)/throughput_test-throughput_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='throughput_test.c' object='throughput_test-throughput_test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -c -o throughput_test-throughput_test.obj `if test -f 'throughput_test.c'; then $(CYGPATH_W) 'throughput_test.c'; else $(CYGPATH_W) '$(srcdir)/throughput_test.c'; fi`

throughput_test-util.o: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -MT throughput_test-util.o -MD -MP -MF $(DEPDIR)/throughput_test-util.Tpo -c -o throughput_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/throughput_test-util.Tpo $(DEPDIR)/throughput_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='throughput_test-util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -c -o throughput_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c

throughput_test-util.obj: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -MT throughput_test-util.obj -MD -MP -MF $(DEPDIR)/throughput_test-util.Tpo -c -o throughput_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/throughput_test-util.Tpo $(DEPDIR)/throughput_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='throughput_test-util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -c -o throughput_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`

throughput_test-calc_snr.o: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -MT throughput_test-calc_snr.o -MD -MP -MF $(DEPDIR)/throughput_test-calc_snr.Tpo -c -o throughput_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/throughput_test-calc_snr.Tpo $(DEPDIR)/throughput_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='throughput_test-calc_snr.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -c -o throughput_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c

throughput_test-calc_snr.obj: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -MT throughput_test-calc_snr.obj -MD -MP -MF $(DEPDIR)/throughput_test-calc_snr.Tpo -c -o throughput_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/throughput_test-calc_snr.Tpo $(DEPDIR)/throughput_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='throughput_test-calc_snr.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(throughput_test_CFLAGS) $(CFLAGS) -c -o throughput_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`

varispeed_test-varispeed_test.o: varispeed_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -MT varispeed_test-varispeed_test.o -MD -MP -MF $(DEPDIR)/varispeed_test-varispeed_test.Tpo -c -o varispeed_test-varispeed_test.o `test -f 'varispeed_test.c' || echo '$(srcdir)/'`varispeed_test.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/varispeed_test-varispeed_test.Tpo $(DEPDIR)/varispeed_test-varispeed_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='varispeed_test.c' object='varispeed_test-varispeed_test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -c -o varispeed_test-varispeed_test.o `test -f 'varispeed_test.c' || echo '$(srcdir)/'`varispeed_test.c

varispeed_test-varispeed_test.obj: varispeed_test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -MT varispeed_test-varispeed_test.obj -MD -MP -MF $(DEPDIR)/varispeed_test-varispeed_test.Tpo -c -o varispeed_test-varispeed_test.obj `if test -f 'varispeed_test.c'; then $(CYGPATH_W) 'varispeed_test.c'; else $(CYGPATH_W) '$(srcdir)/varispeed_test.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/varispeed_test-varispeed_test.Tpo $(DEPDIR)/varispeed_test-varispeed_test.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='varispeed_test.c' object='varispeed_test-varispeed_test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -c -o varispeed_test-varispeed_test.obj `if test -f 'varispeed_test.c'; then $(CYGPATH_W) 'varispeed_test.c'; else $(CYGPATH_W) '$(srcdir)/varispeed_test.c'; fi`

varispeed_test-util.o: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -MT varispeed_test-util.o -MD -MP -MF $(DEPDIR)/varispeed_test-util.Tpo -c -o varispeed_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/varispeed_test-util.Tpo $(DEPDIR)/varispeed_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='varispeed_test-util.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -c -o varispeed_test-util.o `test -f 'util.c' || echo '$(srcdir)/'`util.c

varispeed_test-util.obj: util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -MT varispeed_test-util.obj -MD -MP -MF $(DEPDIR)/varispeed_test-util.Tpo -c -o varispeed_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/varispeed_test-util.Tpo $(DEPDIR)/varispeed_test-util.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='util.c' object='varispeed_test-util.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -c -o varispeed_test-util.obj `if test -f 'util.c'; then $(CYGPATH_W) 'util.c'; else $(CYGPATH_W) '$(srcdir)/util.c'; fi`

varispeed_test-calc_snr.o: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -MT varispeed_test-calc_snr.o -MD -MP -MF $(DEPDIR)/varispeed_test-calc_snr.Tpo -c -o varispeed_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/varispeed_test-calc_snr.Tpo $(DEPDIR)/varispeed_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='varispeed_test-calc_snr.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -c -o varispeed_test-calc_snr.o `test -f 'calc_snr.c' || echo '$(srcdir)/'`calc_snr.c

varispeed_test-calc_snr.obj: calc_snr.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -MT varispeed_test-calc_snr.obj -MD -MP -MF $(DEPDIR)/varispeed_test-calc_snr.Tpo -c -o varispeed_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/varispeed_test-calc_snr.Tpo $(DEPDIR)/varispeed_test-calc_snr.Po
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='calc_snr.c' object='varispeed_test-calc_snr.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(varispeed_test_CFLAGS) $(CFLAGS) -c -o varispeed_test-calc_snr.obj `if test -f 'calc_snr.c'; then $(CYGPATH_W) 'calc_snr.c'; else $(CYGPATH_W) '$(srcdir)/calc_snr.c'; fi`

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

distdir: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) $(HEADERS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
	mostlyclean-am

distclean: distclean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
	clean-libtool clean-noinstPROGRAMS ctags distclean \
	distclean-compile distclean-generic distclean-libtool \
	distclean-tags distdir dvi dvi-am html html-am info info-am \
	install install-am install-data install-data-am install-dvi \
	install-dvi-am install-exec install-exec-am install-html \
	install-html-am install-info install-info-am install-man \
	install-pdf install-pdf-am install-ps install-ps-am \
	install-strip installcheck installcheck-am installdirs \
	maintainer-clean maintainer-clean-generic mostlyclean \
	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
	pdf pdf-am ps ps-am tags uninstall uninstall-am


#===============================================================================

check: $(noinst_PROGRAMS)
	date
	uname -a
	./misc_test
	./termination_test
	./callback_hang_test
	./downsample_test
	./simple_test
	./callback_test
	./reset_test
	./multi_channel_test
	./varispeed_test
	./float_short_test
	./snr_bw_test
	./throughput_test
	@echo "-----------------------------------------------------------------"
	@echo "  ${PACKAGE}-${VERSION} passed all tests."
	@echo "-----------------------------------------------------------------"

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
