if USE_A52DEC
A52DEC_DIR=a52dec
else
A52DEC_DIR=
endif

if USE_AALIB
AALIB_DIR=aalib
else
AALIB_DIR=
endif

if USE_ALSA
ALSA_DIR=alsa
else
ALSA_DIR=
endif

if USE_ARTS
ARTS_DIR=arts
else
ARTS_DIR=
endif

if USE_ARTSC
ARTSC_DIR=artsd
else
ARTSC_DIR=
endif

if USE_AUDIOFILE
AUDIOFILE_DIR=audiofile
else
AUDIOFILE_DIR=
endif

if USE_AVIFILE
AVIFILE_DIR=avifile
else
AVIFILE_DIR=
endif

if USE_CDPARANOIA
CDPARANOIA_DIR=cdparanoia
else
CDPARANOIA_DIR=
endif

if USE_DVDREAD
DVDREAD_DIR=dvdread
else
DVDREAD_DIR=
endif

if USE_DVDNAV
DVDNAV_DIR=dvdnav
else
DVDNAV_DIR=
endif

if USE_ESD
ESD_DIR=esd
else
ESD_DIR=
endif

if USE_MAS
MAS_DIR=mas
else
MAS_DIR=
endif

## if USE_FESTIVAL
## FESTIVAL_DIR=festival
## else
## FESTIVAL_DIR=
## endif

if USE_GSM
GSM_DIR=gsm
else
GSM_DIR=
endif

if USE_FFMPEG
FFMPEG_DIR=ffmpeg
else
FFMPEG_DIR=
endif

if USE_FLAC
FLAC_DIR=flac
else
FLAC_DIR=
endif

if USE_GNOME_VFS
GNOMEVFS_DIR=gnomevfs
else
GNOMEVFS_DIR=
endif

if USE_HERMES
HERMES_DIR=hermes
else
HERMES_DIR=
endif

if USE_HTTP
HTTP_DIR=http
else
HTTP_DIR=
endif

if USE_JACK
JACK_DIR=jack
else
JACK_DIR=
endif

if USE_JPEG
JPEG_DIR=jpeg
else
JPEG_DIR=
endif

if USE_LADSPA
LADSPA_DIR=ladspa
else
LADPSA_DIR=
endif

if USE_LAME
LAME_DIR=lame
else
LAME_DIR=
endif

if USE_LCS
LCS_DIR=lcs
else
LCS_DIR=
endif

if USE_LIBDV
LIBDV_DIR=dv
else
LIBDV_DIR=
endif

if USE_LIBFAME
LIBFAME_DIR=libfame
else
LIBFAME_DIR=
endif

if USE_LIBPNG
LIBPNG_DIR=libpng
else
LIBPNG_DIR=
endif

if USE_MAD
MAD_DIR=mad
else
MAD_DIR=
endif

if USE_MIKMOD
MIKMOD_DIR=mikmod
else
MIKMOD_DIR=
endif

if USE_MJPEGTOOLS
MJPEGTOOLS_DIR=mjpegtools
else
MJPEGTOOLS_DIR=
endif

if USE_MPEG2DEC
MPEG2DEC_DIR=mpeg2dec
else
MPEG2DEC_DIR=
endif

if USE_OPENQUICKTIME
OPENQUICKTIME_DIR=openquicktime
else
OPENQUICKTIME_DIR=
endif

if USE_RAW1394
RAW1394_DIR=raw1394
else
RAW1394_DIR=
endif

if USE_RTP
RTP_DIR=rtp
else
RTP_DIR=
endif

if USE_SDL
SDL_DIR=sdl
else
SDL_DIR=
endif

if USE_SIDPLAY
SIDPLAY_DIR=sidplay
else
SIDDPLAY_DIR=
endif

if USE_SHOUT
SHOUT_DIR=shout
else
SHOUT_DIR=
endif

if USE_SMOOTHWAVE
SMOOTHWAVE_DIR=smoothwave
else
SMOOTHWAVE_DIR=
endif

if USE_SWFDEC
SWFDEC_DIR=swfdec
else
SWFDEC_DIR=
endif

if USE_TARKIN
TARKIN_DIR=tarkin
else
TARKIN_DIR=
endif

if USE_IVORBIS
IVORBIS_DIR=ivorbis
else
IVORBIS_DIR=
endif

if USE_VORBIS
VORBIS_DIR=vorbis
else
VORBIS_DIR=
endif

if USE_XMMS
XMMS_DIR=xmms
else
XMMS_DIR=
endif

if USE_LIBPNG
SNAPSHOT_DIR=snapshot
else
SNAPSHOT_DIR=
endif

SUBDIRS=$(A52DEC_DIR) $(AALIB_DIR) $(ALSA_DIR) \
        $(ARTS_DIR) $(ARTSC_DIR) $(AUDIOFILE_DIR) \
	$(AVIFILE_DIR) $(CDPARANOIA_DIR) \
	$(DVDREAD_DIR) $(DVDNAV_DIR) $(ESD_DIR) $(MAS_DIR) \
	$(FFMPEG_DIR) $(FLAC_DIR) $(GNOMEVFS_DIR) $(GSM_DIR) \
	$(HERMES_DIR) $(HTTP_DIR) $(JACK_DIR) $(JPEG_DIR) \
	$(LADSPA_DIR) $(LAME_DIR) $(LCS_DIR) \
	$(LIBDV_DIR) $(LIBFAME_DIR) $(LIBPNG_DIR) \
	$(MAD_DIR) $(MIKMOD_DIR) $(MJPEGTOOLS_DIR) $(MPEG2DEC_DIR) \
	$(OPENQUICKTIME_DIR) $(RAW1394_DIR) $(RTP_DIR) \
	$(SDL_DIR) $(SHOUT_DIR) $(SIDPLAY_DIR) \
	$(SMOOTHWAVE_DIR) $(SWFDEC_DIR) $(TARKIN_DIR) \
	$(VORBIS_DIR) $(XMMS_DIR) $(SNAPSHOT_DIR)

DIST_SUBDIRS=\
	a52dec aalib alsa \
	arts artsd avifile \
	audiofile cdparanoia dv \
	dvdread dvdnav esd mas ffmpeg \
	flac gnomevfs gsm \
	hermes http ivorbis jack jpeg \
	ladspa lame lcs libfame libpng \
	mad mikmod mjpegtools mpeg2dec \
	openquicktime raw1394 rtp \
	sdl snapshot shout shout2 sidplay \
	smoothwave swfdec tarkin vorbis xmms
