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

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 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@

# This plugin isn't buildable with autotools at this point in time, so just
# ensure everything's listed in EXTRA_DIST
VPATH = @srcdir@
am__make_dryrun = \
  { \
    am__dry=no; \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        echo 'am--echo: ; @echo "AM"  OK' | $(MAKE) -f - 2>/dev/null \
          | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
      *) \
        for am__flg in $$MAKEFLAGS; do \
          case $$am__flg in \
            *=*|--*) ;; \
            *n*) am__dry=yes; break;; \
          esac; \
        done;; \
    esac; \
    test $$am__dry = yes; \
  }
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@
subdir = sys/dshowsrcwrapper
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \
	$(top_srcdir)/common/m4/as-auto-alt.m4 \
	$(top_srcdir)/common/m4/as-compiler-flag.m4 \
	$(top_srcdir)/common/m4/as-libtool.m4 \
	$(top_srcdir)/common/m4/as-python.m4 \
	$(top_srcdir)/common/m4/as-scrub-include.m4 \
	$(top_srcdir)/common/m4/as-version.m4 \
	$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
	$(top_srcdir)/common/m4/gst-arch.m4 \
	$(top_srcdir)/common/m4/gst-args.m4 \
	$(top_srcdir)/common/m4/gst-check.m4 \
	$(top_srcdir)/common/m4/gst-default.m4 \
	$(top_srcdir)/common/m4/gst-dowhile.m4 \
	$(top_srcdir)/common/m4/gst-error.m4 \
	$(top_srcdir)/common/m4/gst-feature.m4 \
	$(top_srcdir)/common/m4/gst-gettext.m4 \
	$(top_srcdir)/common/m4/gst-glib2.m4 \
	$(top_srcdir)/common/m4/gst-package-release-datetime.m4 \
	$(top_srcdir)/common/m4/gst-platform.m4 \
	$(top_srcdir)/common/m4/gst-plugin-docs.m4 \
	$(top_srcdir)/common/m4/gst-plugindir.m4 \
	$(top_srcdir)/common/m4/gst-x11.m4 \
	$(top_srcdir)/common/m4/gst.m4 \
	$(top_srcdir)/common/m4/gtk-doc.m4 \
	$(top_srcdir)/common/m4/orc.m4 $(top_srcdir)/common/m4/pkg.m4 \
	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/gsettings.m4 \
	$(top_srcdir)/m4/gst-fionread.m4 $(top_srcdir)/m4/gst-sdl.m4 \
	$(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
	$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN   " $@;
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ACLOCAL_AMFLAGS = @ACLOCAL_AMFLAGS@
ACMENC_CFLAGS = @ACMENC_CFLAGS@
ACMMP3DEC_CFLAGS = @ACMMP3DEC_CFLAGS@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
APEXSINK_CFLAGS = @APEXSINK_CFLAGS@
APEXSINK_LIBS = @APEXSINK_LIBS@
AR = @AR@
AS = @AS@
ASSRENDER_CFLAGS = @ASSRENDER_CFLAGS@
ASSRENDER_LIBS = @ASSRENDER_LIBS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BZ2_LIBS = @BZ2_LIBS@
CC = @CC@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CDAUDIO_CFLAGS = @CDAUDIO_CFLAGS@
CDAUDIO_LIBS = @CDAUDIO_LIBS@
CELT_0_11_CFLAGS = @CELT_0_11_CFLAGS@
CELT_0_11_LIBS = @CELT_0_11_LIBS@
CELT_0_7_CFLAGS = @CELT_0_7_CFLAGS@
CELT_0_7_LIBS = @CELT_0_7_LIBS@
CELT_0_8_CFLAGS = @CELT_0_8_CFLAGS@
CELT_0_8_LIBS = @CELT_0_8_LIBS@
CELT_CFLAGS = @CELT_CFLAGS@
CELT_LIBS = @CELT_LIBS@
CFLAGS = @CFLAGS@
CHROMAPRINT_CFLAGS = @CHROMAPRINT_CFLAGS@
CHROMAPRINT_LIBS = @CHROMAPRINT_LIBS@
COG_CFLAGS = @COG_CFLAGS@
COG_LIBS = @COG_LIBS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CURL_CFLAGS = @CURL_CFLAGS@
CURL_LIBS = @CURL_LIBS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DCCP_LIBS = @DCCP_LIBS@
DECKLINK_CXXFLAGS = @DECKLINK_CXXFLAGS@
DECKLINK_LIBS = @DECKLINK_LIBS@
DEFAULT_AUDIOSINK = @DEFAULT_AUDIOSINK@
DEFAULT_AUDIOSRC = @DEFAULT_AUDIOSRC@
DEFAULT_VIDEOSINK = @DEFAULT_VIDEOSINK@
DEFAULT_VIDEOSRC = @DEFAULT_VIDEOSRC@
DEFAULT_VISUALIZER = @DEFAULT_VISUALIZER@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DEPRECATED_CFLAGS = @DEPRECATED_CFLAGS@
DIRAC_CFLAGS = @DIRAC_CFLAGS@
DIRAC_LIBS = @DIRAC_LIBS@
DIRECT3D9_LIBS = @DIRECT3D9_LIBS@
DIRECT3D_LIBS = @DIRECT3D_LIBS@
DIRECTDRAW_LIBS = @DIRECTDRAW_LIBS@
DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
DIRECTFB_LIBS = @DIRECTFB_LIBS@
DIRECTSHOW_LIBS = @DIRECTSHOW_LIBS@
DIRECTSOUND_LIBS = @DIRECTSOUND_LIBS@
DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DTS_LIBS = @DTS_LIBS@
DUMPBIN = @DUMPBIN@
DVDNAV_CFLAGS = @DVDNAV_CFLAGS@
DVDNAV_LIBS = @DVDNAV_LIBS@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGLGLES_CFLAGS = @EGLGLES_CFLAGS@
EGLGLES_LIBS = @EGLGLES_LIBS@
EGL_CFLAGS = @EGL_CFLAGS@
EGL_LIBS = @EGL_LIBS@
EGREP = @EGREP@
ERROR_CFLAGS = @ERROR_CFLAGS@
ERROR_CXXFLAGS = @ERROR_CXXFLAGS@
ERROR_OBJCFLAGS = @ERROR_OBJCFLAGS@
EXEEXT = @EXEEXT@
EXIF_CFLAGS = @EXIF_CFLAGS@
EXIF_LIBS = @EXIF_LIBS@
FAAC_LIBS = @FAAC_LIBS@
FAAD_IS_NEAAC = @FAAD_IS_NEAAC@
FAAD_LIBS = @FAAD_LIBS@
FFLAGS = @FFLAGS@
FGREP = @FGREP@
FLITE_CFLAGS = @FLITE_CFLAGS@
FLITE_LIBS = @FLITE_LIBS@
GCOV = @GCOV@
GCOV_CFLAGS = @GCOV_CFLAGS@
GCOV_LIBS = @GCOV_LIBS@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIO_CFLAGS = @GIO_CFLAGS@
GIO_LDFLAGS = @GIO_LDFLAGS@
GIO_LIBS = @GIO_LIBS@
GLIB_CFLAGS = @GLIB_CFLAGS@
GLIB_COMPILE_SCHEMAS = @GLIB_COMPILE_SCHEMAS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_LIBS = @GLIB_LIBS@
GLIB_MKENUMS = @GLIB_MKENUMS@
GLIB_PREFIX = @GLIB_PREFIX@
GLIB_REQ = @GLIB_REQ@
GME_LIBS = @GME_LIBS@
GMODULE_EXPORT_CFLAGS = @GMODULE_EXPORT_CFLAGS@
GMODULE_EXPORT_LIBS = @GMODULE_EXPORT_LIBS@
GMODULE_NO_EXPORT_CFLAGS = @GMODULE_NO_EXPORT_CFLAGS@
GMODULE_NO_EXPORT_LIBS = @GMODULE_NO_EXPORT_LIBS@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GMYTH_CFLAGS = @GMYTH_CFLAGS@
GMYTH_LIBS = @GMYTH_LIBS@
GREP = @GREP@
GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
GSETTINGS_DISABLE_SCHEMAS_COMPILE = @GSETTINGS_DISABLE_SCHEMAS_COMPILE@
GSETTINGS_LIBS = @GSETTINGS_LIBS@
GSM_LIBS = @GSM_LIBS@
GSTPB_PLUGINS_DIR = @GSTPB_PLUGINS_DIR@
GSTPB_PREFIX = @GSTPB_PREFIX@
GST_AGE = @GST_AGE@
GST_ALL_LDFLAGS = @GST_ALL_LDFLAGS@
GST_API_VERSION = @GST_API_VERSION@
GST_BASE_CFLAGS = @GST_BASE_CFLAGS@
GST_BASE_LIBS = @GST_BASE_LIBS@
GST_CFLAGS = @GST_CFLAGS@
GST_CHECK_CFLAGS = @GST_CHECK_CFLAGS@
GST_CHECK_LIBS = @GST_CHECK_LIBS@
GST_CONTROLLER_CFLAGS = @GST_CONTROLLER_CFLAGS@
GST_CONTROLLER_LIBS = @GST_CONTROLLER_LIBS@
GST_CURRENT = @GST_CURRENT@
GST_CXXFLAGS = @GST_CXXFLAGS@
GST_LEVEL_DEFAULT = @GST_LEVEL_DEFAULT@
GST_LIBS = @GST_LIBS@
GST_LIBVERSION = @GST_LIBVERSION@
GST_LIB_LDFLAGS = @GST_LIB_LDFLAGS@
GST_LICENSE = @GST_LICENSE@
GST_LT_LDFLAGS = @GST_LT_LDFLAGS@
GST_OBJCFLAGS = @GST_OBJCFLAGS@
GST_OPTION_CFLAGS = @GST_OPTION_CFLAGS@
GST_OPTION_CXXFLAGS = @GST_OPTION_CXXFLAGS@
GST_OPTION_OBJCFLAGS = @GST_OPTION_OBJCFLAGS@
GST_PACKAGE_NAME = @GST_PACKAGE_NAME@
GST_PACKAGE_ORIGIN = @GST_PACKAGE_ORIGIN@
GST_PLUGINS_ALL = @GST_PLUGINS_ALL@
GST_PLUGINS_BAD_CFLAGS = @GST_PLUGINS_BAD_CFLAGS@
GST_PLUGINS_BAD_CXXFLAGS = @GST_PLUGINS_BAD_CXXFLAGS@
GST_PLUGINS_BAD_OBJCFLAGS = @GST_PLUGINS_BAD_OBJCFLAGS@
GST_PLUGINS_BASE_CFLAGS = @GST_PLUGINS_BASE_CFLAGS@
GST_PLUGINS_BASE_DIR = @GST_PLUGINS_BASE_DIR@
GST_PLUGINS_BASE_LIBS = @GST_PLUGINS_BASE_LIBS@
GST_PLUGINS_DIR = @GST_PLUGINS_DIR@
GST_PLUGINS_FFMPEG_CFLAGS = @GST_PLUGINS_FFMPEG_CFLAGS@
GST_PLUGINS_FFMPEG_DIR = @GST_PLUGINS_FFMPEG_DIR@
GST_PLUGINS_FFMPEG_LIBS = @GST_PLUGINS_FFMPEG_LIBS@
GST_PLUGINS_GOOD_CFLAGS = @GST_PLUGINS_GOOD_CFLAGS@
GST_PLUGINS_GOOD_DIR = @GST_PLUGINS_GOOD_DIR@
GST_PLUGINS_GOOD_LIBS = @GST_PLUGINS_GOOD_LIBS@
GST_PLUGINS_NONPORTED = @GST_PLUGINS_NONPORTED@
GST_PLUGINS_SELECTED = @GST_PLUGINS_SELECTED@
GST_PLUGINS_UGLY_CFLAGS = @GST_PLUGINS_UGLY_CFLAGS@
GST_PLUGINS_UGLY_DIR = @GST_PLUGINS_UGLY_DIR@
GST_PLUGINS_UGLY_LIBS = @GST_PLUGINS_UGLY_LIBS@
GST_PLUGIN_LDFLAGS = @GST_PLUGIN_LDFLAGS@
GST_PREFIX = @GST_PREFIX@
GST_REVISION = @GST_REVISION@
GST_TOOLS_DIR = @GST_TOOLS_DIR@
GST_VIDEO_CFLAGS = @GST_VIDEO_CFLAGS@
GST_VIDEO_LIBS = @GST_VIDEO_LIBS@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
G_UDEV_CFLAGS = @G_UDEV_CFLAGS@
G_UDEV_LIBS = @G_UDEV_LIBS@
HAVE_BZ2 = @HAVE_BZ2@
HAVE_CXX = @HAVE_CXX@
HAVE_DIRECT3D = @HAVE_DIRECT3D@
HAVE_DIRECT3D9 = @HAVE_DIRECT3D9@
HAVE_DIRECTDRAW = @HAVE_DIRECTDRAW@
HAVE_DIRECTSHOW = @HAVE_DIRECTSHOW@
HAVE_DIRECTSOUND = @HAVE_DIRECTSOUND@
HAVE_DTS = @HAVE_DTS@
HAVE_FAAC = @HAVE_FAAC@
HAVE_FAAD = @HAVE_FAAD@
HAVE_FLITE = @HAVE_FLITE@
HAVE_GSM = @HAVE_GSM@
HAVE_JASPER = @HAVE_JASPER@
HAVE_NAS = @HAVE_NAS@
HAVE_WILDMIDI = @HAVE_WILDMIDI@
HAVE_X = @HAVE_X@
HAVE_X11 = @HAVE_X11@
HTML_DIR = @HTML_DIR@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
JASPER_LIBS = @JASPER_LIBS@
KATE_CFLAGS = @KATE_CFLAGS@
KATE_LIBS = @KATE_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDC1394_CFLAGS = @LIBDC1394_CFLAGS@
LIBDC1394_LIBS = @LIBDC1394_LIBS@
LIBDIR = @LIBDIR@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBM = @LIBM@
LIBMMS_CFLAGS = @LIBMMS_CFLAGS@
LIBMMS_LIBS = @LIBMMS_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@
LIBUDEV_LIBS = @LIBUDEV_LIBS@
LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
LIBUSB_LIBS = @LIBUSB_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
LOCALEDIR = @LOCALEDIR@
LRDF_CFLAGS = @LRDF_CFLAGS@
LRDF_LIBS = @LRDF_LIBS@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MIMIC_CFLAGS = @MIMIC_CFLAGS@
MIMIC_LIBS = @MIMIC_LIBS@
MJPEG_CFLAGS = @MJPEG_CFLAGS@
MJPEG_LIBS = @MJPEG_LIBS@
MKDIR_P = @MKDIR_P@
MODPLUG_CFLAGS = @MODPLUG_CFLAGS@
MODPLUG_LIBS = @MODPLUG_LIBS@
MPEG2ENC_CFLAGS = @MPEG2ENC_CFLAGS@
MPEG2ENC_LIBS = @MPEG2ENC_LIBS@
MPG123_CFLAGS = @MPG123_CFLAGS@
MPG123_LIBS = @MPG123_LIBS@
MPLEX_CFLAGS = @MPLEX_CFLAGS@
MPLEX_LDFLAGS = @MPLEX_LDFLAGS@
MPLEX_LIBS = @MPLEX_LIBS@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
MUSEPACK_LIBS = @MUSEPACK_LIBS@
MUSICBRAINZ_CFLAGS = @MUSICBRAINZ_CFLAGS@
MUSICBRAINZ_LIBS = @MUSICBRAINZ_LIBS@
NAS_CFLAGS = @NAS_CFLAGS@
NAS_LIBS = @NAS_LIBS@
NEON_CFLAGS = @NEON_CFLAGS@
NEON_LIBS = @NEON_LIBS@
NM = @NM@
NMEDIT = @NMEDIT@
OBJC = @OBJC@
OBJCDEPMODE = @OBJCDEPMODE@
OBJCFLAGS = @OBJCFLAGS@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OFA_CFLAGS = @OFA_CFLAGS@
OFA_LIBS = @OFA_LIBS@
OPENAL_CFLAGS = @OPENAL_CFLAGS@
OPENAL_LIBS = @OPENAL_LIBS@
OPENCV_CFLAGS = @OPENCV_CFLAGS@
OPENCV_LIBS = @OPENCV_LIBS@
OPENCV_PREFIX = @OPENCV_PREFIX@
OPUS_CFLAGS = @OPUS_CFLAGS@
OPUS_LIBS = @OPUS_LIBS@
ORCC = @ORCC@
ORCC_FLAGS = @ORCC_FLAGS@
ORC_CFLAGS = @ORC_CFLAGS@
ORC_LIBS = @ORC_LIBS@
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@
PACKAGE_VERSION_MAJOR = @PACKAGE_VERSION_MAJOR@
PACKAGE_VERSION_MICRO = @PACKAGE_VERSION_MICRO@
PACKAGE_VERSION_MINOR = @PACKAGE_VERSION_MINOR@
PACKAGE_VERSION_NANO = @PACKAGE_VERSION_NANO@
PACKAGE_VERSION_RELEASE = @PACKAGE_VERSION_RELEASE@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLUGINDIR = @PLUGINDIR@
POSUB = @POSUB@
PROFILE_CFLAGS = @PROFILE_CFLAGS@
PVR_CFLAGS = @PVR_CFLAGS@
PVR_LIBS = @PVR_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
RSVG_2_35_0_CFLAGS = @RSVG_2_35_0_CFLAGS@
RSVG_2_35_0_LIBS = @RSVG_2_35_0_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
RTMP_LIBS = @RTMP_LIBS@
SCHRO_CFLAGS = @SCHRO_CFLAGS@
SCHRO_LIBS = @SCHRO_LIBS@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CONFIG = @SDL_CONFIG@
SDL_LIBS = @SDL_LIBS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SHM_LIBS = @SHM_LIBS@
SLV2_CFLAGS = @SLV2_CFLAGS@
SLV2_LIBS = @SLV2_LIBS@
SNDFILE_CFLAGS = @SNDFILE_CFLAGS@
SNDFILE_LIBS = @SNDFILE_LIBS@
SNDIO_LIBS = @SNDIO_LIBS@
SOUNDTOUCH_CFLAGS = @SOUNDTOUCH_CFLAGS@
SOUNDTOUCH_LIBS = @SOUNDTOUCH_LIBS@
SPANDSP_CFLAGS = @SPANDSP_CFLAGS@
SPANDSP_LIBS = @SPANDSP_LIBS@
SPC_LIBS = @SPC_LIBS@
STRIP = @STRIP@
SWFDEC_CFLAGS = @SWFDEC_CFLAGS@
SWFDEC_LIBS = @SWFDEC_LIBS@
TELETEXTDEC_CFLAGS = @TELETEXTDEC_CFLAGS@
TELETEXTDEC_LIBS = @TELETEXTDEC_LIBS@
TIGER_CFLAGS = @TIGER_CFLAGS@
TIGER_LIBS = @TIGER_LIBS@
TIMIDITY_CFLAGS = @TIMIDITY_CFLAGS@
TIMIDITY_LIBS = @TIMIDITY_LIBS@
USE_NLS = @USE_NLS@
VALGRIND_CFLAGS = @VALGRIND_CFLAGS@
VALGRIND_LIBS = @VALGRIND_LIBS@
VALGRIND_PATH = @VALGRIND_PATH@
VDPAU_CFLAGS = @VDPAU_CFLAGS@
VDPAU_LIBS = @VDPAU_LIBS@
VERSION = @VERSION@
VOAACENC_CFLAGS = @VOAACENC_CFLAGS@
VOAACENC_LIBS = @VOAACENC_LIBS@
VOAMRWBENC_CFLAGS = @VOAMRWBENC_CFLAGS@
VOAMRWBENC_LIBS = @VOAMRWBENC_LIBS@
WARNING_CFLAGS = @WARNING_CFLAGS@
WARNING_CXXFLAGS = @WARNING_CXXFLAGS@
WARNING_OBJCFLAGS = @WARNING_OBJCFLAGS@
WAYLAND_CFLAGS = @WAYLAND_CFLAGS@
WAYLAND_LIBS = @WAYLAND_LIBS@
WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
WILDMIDI_LIBS = @WILDMIDI_LIBS@
WINSOCK2_LIBS = @WINSOCK2_LIBS@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XMKMF = @XMKMF@
XVID_LIBS = @XVID_LIBS@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_LIBS@
ZBAR_CFLAGS = @ZBAR_CFLAGS@
ZBAR_LIBS = @ZBAR_LIBS@
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@
ac_ct_OBJC = @ac_ct_OBJC@
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@
gsettingsschemadir = @gsettingsschemadir@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
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@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
plugindir = @plugindir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
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@
EXTRA_DIST = \
  gstdshowaudiosrc.cpp \
  gstdshowaudiosrc.h \
  gstdshow.cpp \
  gstdshowfakesink.cpp \
  gstdshowfakesink.h \
  gstdshow.h \
  gstdshowsrcwrapper.cpp \
  gstdshowvideosrc.cpp \
  gstdshowvideosrc.h

all: all-am

.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(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 sys/dshowsrcwrapper/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnu sys/dshowsrcwrapper/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: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
tags: TAGS
TAGS:

ctags: CTAGS
CTAGS:


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
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:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
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 mostlyclean-am

distclean: distclean-am
	-rm -f Makefile
distclean-am: clean-am distclean-generic

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 -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-generic mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

.MAKE: install-am install-strip

.PHONY: all all-am check check-am clean clean-generic clean-libtool \
	distclean distclean-generic distclean-libtool 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-generic \
	mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am


# 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:
