## Process this file with automake to produce Makefile.in. -*-Makefile-*-

# Disable automatic dependency tracking if using other tools than gcc and gmake
#AUTOMAKE_OPTIONS = no-dependencies

SUBDIRS = speex_C54_test speex_C55_test speex_C64_test

EXTRA_DIST = config.h os_support_custom.h

