if USE_AALIB
AALIB_DIR = aalib
else
AALIB_DIR =
endif

if USE_CAIRO
CAIRO_DIR = cairo
else
CAIRO_DIR =
endif

if USE_FLAC
FLAC_DIR = flac
else
FLAC_DIR =
endif

if USE_GDK_PIXBUF
GDK_PIXBUF_DIR = gdk_pixbuf
else
GDK_PIXBUF_DIR =
endif

  
if USE_GTK3
GTK_DIR=gtk
else
GTK_DIR=
endif
 
if USE_JACK
JACK_DIR=jack
else
JACK_DIR=
endif

if USE_JPEG
JPEG_DIR = jpeg
else
JPEG_DIR =
endif

if USE_LAME
LAME_DIR = lame
else
LAME_DIR =
endif

if USE_LIBCACA
LIBCACA_DIR = libcaca
else
LIBCACA_DIR =
endif

if USE_LIBDV
LIBDV_DIR = dv
else
LIBDV_DIR =
endif

if USE_LIBPNG
LIBPNG_DIR = libpng
else
LIBPNG_DIR =
endif

if USE_MPG123
MPG123_DIR = mpg123
else
MPG123_DIR =
endif

if USE_DV1394
DV1394_DIR = raw1394
else
DV1394_DIR =
endif

if USE_PULSE
PULSE_DIR = pulse
else
PULSE_DIR =
endif


if USE_SHOUT2
SHOUT2_DIR = shout2
else
SHOUT2_DIR =
endif

if USE_SOUP
SOUP_DIR=soup
else
SOUP_DIR=
endif

if USE_SPEEX
SPEEX_DIR = speex
else
SPEEX_DIR =
endif

if USE_TAGLIB
TAGLIB_DIR = taglib
else
TAGLIB_DIR =
endif

if USE_TWOLAME
TWOLAME_DIR = twolame
else
TWOLAME_DIR =
endif

if USE_VPX
VPX_DIR=vpx
else
VPX_DIR=
endif

if USE_WAVPACK
WAVPACK_DIR=wavpack
else
WAVPACK_DIR=
endif

SUBDIRS = \
	$(AALIB_DIR) \
	$(CAIRO_DIR) \
	$(DV1394_DIR) \
	$(FLAC_DIR) \
	$(GDK_PIXBUF_DIR) \
	$(GTK_DIR) \
	$(JACK_DIR) \
	$(JPEG_DIR) \
	$(LAME_DIR) \
	$(LIBCACA_DIR) \
	$(LIBDV_DIR) \
	$(LIBMNG_DIR) \
	$(LIBPNG_DIR) \
	$(MPG123_DIR) \
	$(PULSE_DIR) \
	$(SHOUT2_DIR) \
	$(SOUP_DIR) \
	$(SPEEX_DIR) \
	$(TAGLIB_DIR) \
	$(TWOLAME_DIR) \
	$(VPX_DIR) \
	$(WAVPACK_DIR)

DIST_SUBDIRS = \
	aalib \
	cairo \
	dv \
	flac \
	gdk_pixbuf \
	gtk \
	jack \
	jpeg \
	lame \
	libcaca \
	libpng \
	mpg123 \
	pulse \
	raw1394 \
	shout2 \
	soup \
	speex \
	taglib \
	twolame \
	vpx \
	wavpack

include $(top_srcdir)/common/parallel-subdirs.mak
