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

# Copyright (C) 1994-2014 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@
am__is_gnu_make = { \
  if test -z '$(MAKELEVEL)'; then \
    false; \
  elif test -n '$(MAKE_HOST)'; then \
    true; \
  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
    true; \
  else \
    false; \
  fi; \
}
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
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 = gst-libs/gst/gl/eagl
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-version.m4 \
	$(top_srcdir)/common/m4/ax_create_stdint_h.m4 \
	$(top_srcdir)/common/m4/ax_pthread.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.m4 \
	$(top_srcdir)/common/m4/gtk-doc.m4 \
	$(top_srcdir)/common/m4/introspection.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/libgcrypt.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)
DIST_COMMON = $(srcdir)/Makefile.am $(noinst_HEADERS) \
	$(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
libgstgl_eagl_la_LIBADD =
am_libgstgl_eagl_la_OBJECTS = libgstgl_eagl_la-gstglwindow_eagl.lo \
	libgstgl_eagl_la-gstglcontext_eagl.lo
libgstgl_eagl_la_OBJECTS = $(am_libgstgl_eagl_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 = 
libgstgl_eagl_la_LINK = $(LIBTOOL) $(AM_V_lt) \
	$(libgstgl_eagl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link \
	$(OBJCLD) $(libgstgl_eagl_la_OBJCFLAGS) $(OBJCFLAGS) \
	$(libgstgl_eagl_la_LDFLAGS) $(LDFLAGS) -o $@
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
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_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
OBJCCOMPILE = $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_OBJCFLAGS) $(OBJCFLAGS)
LTOBJCCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_OBJCFLAGS) $(OBJCFLAGS)
AM_V_OBJC = $(am__v_OBJC_@AM_V@)
am__v_OBJC_ = $(am__v_OBJC_@AM_DEFAULT_V@)
am__v_OBJC_0 = @echo "  OBJC    " $@;
am__v_OBJC_1 = 
OBJCLD = $(OBJC)
OBJCLINK = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=link $(OBJCLD) $(AM_OBJCFLAGS) $(OBJCFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_OBJCLD = $(am__v_OBJCLD_@AM_V@)
am__v_OBJCLD_ = $(am__v_OBJCLD_@AM_DEFAULT_V@)
am__v_OBJCLD_0 = @echo "  OBJCLD  " $@;
am__v_OBJCLD_1 = 
SOURCES = $(libgstgl_eagl_la_SOURCES)
DIST_SOURCES = $(libgstgl_eagl_la_SOURCES)
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
HEADERS = $(noinst_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp
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@
BLUEZ5_CFLAGS = @BLUEZ5_CFLAGS@
BLUEZ5_LIBS = @BLUEZ5_LIBS@
BS2B_CFLAGS = @BS2B_CFLAGS@
BS2B_LIBS = @BS2B_LIBS@
BZ2_LIBS = @BZ2_LIBS@
CC = @CC@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CHROMAPRINT_CFLAGS = @CHROMAPRINT_CFLAGS@
CHROMAPRINT_LIBS = @CHROMAPRINT_LIBS@
CLUTTER_CFLAGS = @CLUTTER_CFLAGS@
CLUTTER_GLX_CFLAGS = @CLUTTER_GLX_CFLAGS@
CLUTTER_GLX_LIBS = @CLUTTER_GLX_LIBS@
CLUTTER_LIBS = @CLUTTER_LIBS@
CLUTTER_X11_CFLAGS = @CLUTTER_X11_CFLAGS@
CLUTTER_X11_LIBS = @CLUTTER_X11_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@
DAALA_CFLAGS = @DAALA_CFLAGS@
DAALA_LIBS = @DAALA_LIBS@
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@
DIRECT3D_LIBS = @DIRECT3D_LIBS@
DIRECTFB_CFLAGS = @DIRECTFB_CFLAGS@
DIRECTFB_LIBS = @DIRECTFB_LIBS@
DIRECTSOUND_LIBS = @DIRECTSOUND_LIBS@
DIRECTX_CFLAGS = @DIRECTX_CFLAGS@
DIRECTX_LDFLAGS = @DIRECTX_LDFLAGS@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DTLS_CFLAGS = @DTLS_CFLAGS@
DTLS_LIBS = @DTLS_LIBS@
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@
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@
FLUIDSYNTH_CFLAGS = @FLUIDSYNTH_CFLAGS@
FLUIDSYNTH_LIBS = @FLUIDSYNTH_LIBS@
GCOV = @GCOV@
GCOV_CFLAGS = @GCOV_CFLAGS@
GCOV_LIBS = @GCOV_LIBS@
GDBUS_CODEGEN = @GDBUS_CODEGEN@
GETTEXT_MACRO_VERSION = @GETTEXT_MACRO_VERSION@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIO_CFLAGS = @GIO_CFLAGS@
GIO_LDFLAGS = @GIO_LDFLAGS@
GIO_LIBS = @GIO_LIBS@
GIO_UNIX_CFLAGS = @GIO_UNIX_CFLAGS@
GIO_UNIX_LIBS = @GIO_UNIX_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@
GL_CFLAGS = @GL_CFLAGS@
GL_LIBS = @GL_LIBS@
GL_OBJCFLAGS = @GL_OBJCFLAGS@
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@
GRAPHENE_CFLAGS = @GRAPHENE_CFLAGS@
GRAPHENE_LIBS = @GRAPHENE_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_NET_CFLAGS = @GST_NET_CFLAGS@
GST_NET_LIBS = @GST_NET_LIBS@
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_PKG_CONFIG_PATH = @GST_PKG_CONFIG_PATH@
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_GOOD_CFLAGS = @GST_PLUGINS_GOOD_CFLAGS@
GST_PLUGINS_GOOD_DIR = @GST_PLUGINS_GOOD_DIR@
GST_PLUGINS_GOOD_LIBS = @GST_PLUGINS_GOOD_LIBS@
GST_PLUGINS_LIBAV_CFLAGS = @GST_PLUGINS_LIBAV_CFLAGS@
GST_PLUGINS_LIBAV_DIR = @GST_PLUGINS_LIBAV_DIR@
GST_PLUGINS_LIBAV_LIBS = @GST_PLUGINS_LIBAV_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_PLUGIN_LIBTOOLFLAGS = @GST_PLUGIN_LIBTOOLFLAGS@
GST_PREFIX = @GST_PREFIX@
GST_REVISION = @GST_REVISION@
GST_TOOLS_DIR = @GST_TOOLS_DIR@
GTK3_CFLAGS = @GTK3_CFLAGS@
GTK3_GL_CFLAGS = @GTK3_GL_CFLAGS@
GTK3_GL_LIBS = @GTK3_GL_LIBS@
GTK3_LIBS = @GTK3_LIBS@
GTK3_WAYLAND_CFLAGS = @GTK3_WAYLAND_CFLAGS@
GTK3_WAYLAND_LIBS = @GTK3_WAYLAND_LIBS@
GTK3_X11_CFLAGS = @GTK3_X11_CFLAGS@
GTK3_X11_LIBS = @GTK3_X11_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_BASE_DIR = @GTK_BASE_DIR@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
GTK_VERSION = @GTK_VERSION@
G_UDEV_CFLAGS = @G_UDEV_CFLAGS@
G_UDEV_LIBS = @G_UDEV_LIBS@
HAVE_CLUTTER = @HAVE_CLUTTER@
HAVE_CLUTTER_GLX = @HAVE_CLUTTER_GLX@
HAVE_CLUTTER_X11 = @HAVE_CLUTTER_X11@
HAVE_CXX = @HAVE_CXX@
HAVE_DIRECT3D = @HAVE_DIRECT3D@
HAVE_DIRECTSOUND = @HAVE_DIRECTSOUND@
HAVE_DTS = @HAVE_DTS@
HAVE_EGL = @HAVE_EGL@
HAVE_FAAC = @HAVE_FAAC@
HAVE_FAAD = @HAVE_FAAD@
HAVE_FLITE = @HAVE_FLITE@
HAVE_GL = @HAVE_GL@
HAVE_GLES2 = @HAVE_GLES2@
HAVE_GRAPHENE = @HAVE_GRAPHENE@
HAVE_GSM = @HAVE_GSM@
HAVE_GTK3 = @HAVE_GTK3@
HAVE_JPEG = @HAVE_JPEG@
HAVE_NAS = @HAVE_NAS@
HAVE_OPENJPEG = @HAVE_OPENJPEG@
HAVE_PNG = @HAVE_PNG@
HAVE_SRTP = @HAVE_SRTP@
HAVE_WASAPI = @HAVE_WASAPI@
HAVE_WILDMIDI = @HAVE_WILDMIDI@
HAVE_WINKS = @HAVE_WINKS@
HAVE_WINSCREENCAP = @HAVE_WINSCREENCAP@
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@
INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
INTROSPECTION_INIT = @INTROSPECTION_INIT@
INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
JPEG_LIBS = @JPEG_LIBS@
KATE_CFLAGS = @KATE_CFLAGS@
KATE_LIBS = @KATE_LIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBDC1394_CFLAGS = @LIBDC1394_CFLAGS@
LIBDC1394_LIBS = @LIBDC1394_LIBS@
LIBDE265_CFLAGS = @LIBDE265_CFLAGS@
LIBDE265_LIBS = @LIBDE265_LIBS@
LIBDIR = @LIBDIR@
LIBGCRYPT_CFLAGS = @LIBGCRYPT_CFLAGS@
LIBGCRYPT_CONFIG = @LIBGCRYPT_CONFIG@
LIBGCRYPT_LIBS = @LIBGCRYPT_LIBS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBM = @LIBM@
LIBMMS_CFLAGS = @LIBMMS_CFLAGS@
LIBMMS_LIBS = @LIBMMS_LIBS@
LIBOBJS = @LIBOBJS@
LIBPNG_CFLAGS = @LIBPNG_CFLAGS@
LIBPNG_LIBS = @LIBPNG_LIBS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBUDEV_CFLAGS = @LIBUDEV_CFLAGS@
LIBUDEV_LIBS = @LIBUDEV_LIBS@
LIBUSB_CFLAGS = @LIBUSB_CFLAGS@
LIBUSB_LIBS = @LIBUSB_LIBS@
LIBVISUAL_CFLAGS = @LIBVISUAL_CFLAGS@
LIBVISUAL_LIBS = @LIBVISUAL_LIBS@
LIBXML2_CFLAGS = @LIBXML2_CFLAGS@
LIBXML2_LIBS = @LIBXML2_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@
MOC = @MOC@
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@
NAS_CFLAGS = @NAS_CFLAGS@
NAS_LIBS = @NAS_LIBS@
NEON_CFLAGS = @NEON_CFLAGS@
NEON_LIBS = @NEON_LIBS@
NETTLE_CFLAGS = @NETTLE_CFLAGS@
NETTLE_LIBS = @NETTLE_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@
OPENEXR_CFLAGS = @OPENEXR_CFLAGS@
OPENEXR_LIBS = @OPENEXR_LIBS@
OPENH264_CFLAGS = @OPENH264_CFLAGS@
OPENH264_LIBS = @OPENH264_LIBS@
OPENJPEG_CFLAGS = @OPENJPEG_CFLAGS@
OPENJPEG_LIBS = @OPENJPEG_LIBS@
OPENNI2_CFLAGS = @OPENNI2_CFLAGS@
OPENNI2_LIBS = @OPENNI2_LIBS@
OPENSSL_CFLAGS = @OPENSSL_CFLAGS@
OPENSSL_LIBS = @OPENSSL_LIBS@
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@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
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@
QT_CFLAGS = @QT_CFLAGS@
QT_LIBS = @QT_LIBS@
QT_WAYLAND_CFLAGS = @QT_WAYLAND_CFLAGS@
QT_WAYLAND_LIBS = @QT_WAYLAND_LIBS@
QT_X11_CFLAGS = @QT_X11_CFLAGS@
QT_X11_LIBS = @QT_X11_LIBS@
RANLIB = @RANLIB@
RCC = @RCC@
RSVG_2_36_2_CFLAGS = @RSVG_2_36_2_CFLAGS@
RSVG_2_36_2_LIBS = @RSVG_2_36_2_LIBS@
RSVG_CFLAGS = @RSVG_CFLAGS@
RSVG_LIBS = @RSVG_LIBS@
RTMP_CFLAGS = @RTMP_CFLAGS@
RTMP_LIBS = @RTMP_LIBS@
SBC_CFLAGS = @SBC_CFLAGS@
SBC_LIBS = @SBC_LIBS@
SCHRO_CFLAGS = @SCHRO_CFLAGS@
SCHRO_LIBS = @SCHRO_LIBS@
SDL_CFLAGS = @SDL_CFLAGS@
SDL_CLUTTER = @SDL_CLUTTER@
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@
SRTP_CFLAGS = @SRTP_CFLAGS@
SRTP_LIBS = @SRTP_LIBS@
SSH2_CFLAGS = @SSH2_CFLAGS@
SSH2_LIBS = @SSH2_LIBS@
STRIP = @STRIP@
TELETEXTDEC_CFLAGS = @TELETEXTDEC_CFLAGS@
TELETEXTDEC_LIBS = @TELETEXTDEC_LIBS@
TIGER_CFLAGS = @TIGER_CFLAGS@
TIGER_LIBS = @TIGER_LIBS@
TIMIDITY_CFLAGS = @TIMIDITY_CFLAGS@
TIMIDITY_LIBS = @TIMIDITY_LIBS@
UIC = @UIC@
USE_GLES2 = @USE_GLES2@
USE_NLS = @USE_NLS@
USE_OPENGL = @USE_OPENGL@
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@
WASAPI_LIBS = @WASAPI_LIBS@
WAYLAND_CFLAGS = @WAYLAND_CFLAGS@
WAYLAND_EGL_CFLAGS = @WAYLAND_EGL_CFLAGS@
WAYLAND_EGL_LIBS = @WAYLAND_EGL_LIBS@
WAYLAND_LIBS = @WAYLAND_LIBS@
WEBP_CFLAGS = @WEBP_CFLAGS@
WEBP_LIBS = @WEBP_LIBS@
WILDMIDI_CFLAGS = @WILDMIDI_CFLAGS@
WILDMIDI_LIBS = @WILDMIDI_LIBS@
WINKS_LIBS = @WINKS_LIBS@
WINSCREENCAP_LIBS = @WINSCREENCAP_LIBS@
WINSOCK2_LIBS = @WINSOCK2_LIBS@
X11_CFLAGS = @X11_CFLAGS@
X11_LIBS = @X11_LIBS@
X265_CFLAGS = @X265_CFLAGS@
X265_LIBS = @X265_LIBS@
XCOMPOSITE_CFLAGS = @XCOMPOSITE_CFLAGS@
XCOMPOSITE_LIBS = @XCOMPOSITE_LIBS@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
XVID_LIBS = @XVID_LIBS@
X_CFLAGS = @X_CFLAGS@
X_LIBS = @X_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@
ax_pthread_config = @ax_pthread_config@
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@
runstatedir = @runstatedir@
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@
wayland_scanner = @wayland_scanner@
noinst_LTLIBRARIES = libgstgl-eagl.la
libgstgl_eagl_la_SOURCES = \
	gstglwindow_eagl.m \
	gstglcontext_eagl.m

noinst_HEADERS = \
	gstglwindow_eagl.h \
	gstglcontext_eagl.h

libgstgl_eagl_la_CFLAGS = \
	-I$(top_srcdir)/gst-libs \
	-I$(top_builddir)/gst-libs \
	$(GL_CFLAGS) \
	$(GST_PLUGINS_BASE_CFLAGS) \
	$(GST_BASE_CFLAGS) \
	$(GST_CFLAGS)

libgstgl_eagl_la_OBJCFLAGS = \
	-I$(top_srcdir)/gst-libs \
	-I$(top_builddir)/gst-libs \
	$(GL_CFLAGS) \
	$(GL_OBJCFLAGS) \
	$(GST_PLUGINS_BASE_CFLAGS) \
	$(GST_BASE_CFLAGS) \
	$(GST_CFLAGS)

libgstgl_eagl_la_LDFLAGS = \
	$(GST_LIB_LDFLAGS) \
	$(GST_ALL_LDFLAGS)

libgstgl_eagl_la_LIBTOOLFLAGS = $(GST_PLUGIN_LIBTOOLFLAGS) --tag=CC
all: all-am

.SUFFIXES:
.SUFFIXES: .lo .m .o .obj
$(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 gst-libs/gst/gl/eagl/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnu gst-libs/gst/gl/eagl/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):

clean-noinstLTLIBRARIES:
	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
	@list='$(noinst_LTLIBRARIES)'; \
	locs=`for p in $$list; do echo $$p; done | \
	      sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
	      sort -u`; \
	test -z "$$locs" || { \
	  echo rm -f $${locs}; \
	  rm -f $${locs}; \
	}

libgstgl-eagl.la: $(libgstgl_eagl_la_OBJECTS) $(libgstgl_eagl_la_DEPENDENCIES) $(EXTRA_libgstgl_eagl_la_DEPENDENCIES) 
	$(AM_V_OBJCLD)$(libgstgl_eagl_la_LINK)  $(libgstgl_eagl_la_OBJECTS) $(libgstgl_eagl_la_LIBADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_eagl_la-gstglcontext_eagl.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libgstgl_eagl_la-gstglwindow_eagl.Plo@am__quote@

.m.o:
@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepOBJC_TRUE@	$(OBJCCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepOBJC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(OBJCCOMPILE) -c -o $@ $<

.m.obj:
@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepOBJC_TRUE@	$(OBJCCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepOBJC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(OBJCCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.m.lo:
@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepOBJC_TRUE@	$(LTOBJCCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepOBJC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LTOBJCCOMPILE) -c -o $@ $<

libgstgl_eagl_la-gstglwindow_eagl.lo: gstglwindow_eagl.m
@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstgl_eagl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_eagl_la_OBJCFLAGS) $(OBJCFLAGS) -MT libgstgl_eagl_la-gstglwindow_eagl.lo -MD -MP -MF $(DEPDIR)/libgstgl_eagl_la-gstglwindow_eagl.Tpo -c -o libgstgl_eagl_la-gstglwindow_eagl.lo `test -f 'gstglwindow_eagl.m' || echo '$(srcdir)/'`gstglwindow_eagl.m
@am__fastdepOBJC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_eagl_la-gstglwindow_eagl.Tpo $(DEPDIR)/libgstgl_eagl_la-gstglwindow_eagl.Plo
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='gstglwindow_eagl.m' object='libgstgl_eagl_la-gstglwindow_eagl.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstgl_eagl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_eagl_la_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstgl_eagl_la-gstglwindow_eagl.lo `test -f 'gstglwindow_eagl.m' || echo '$(srcdir)/'`gstglwindow_eagl.m

libgstgl_eagl_la-gstglcontext_eagl.lo: gstglcontext_eagl.m
@am__fastdepOBJC_TRUE@	$(AM_V_OBJC)$(LIBTOOL) $(AM_V_lt) $(libgstgl_eagl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_eagl_la_OBJCFLAGS) $(OBJCFLAGS) -MT libgstgl_eagl_la-gstglcontext_eagl.lo -MD -MP -MF $(DEPDIR)/libgstgl_eagl_la-gstglcontext_eagl.Tpo -c -o libgstgl_eagl_la-gstglcontext_eagl.lo `test -f 'gstglcontext_eagl.m' || echo '$(srcdir)/'`gstglcontext_eagl.m
@am__fastdepOBJC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libgstgl_eagl_la-gstglcontext_eagl.Tpo $(DEPDIR)/libgstgl_eagl_la-gstglcontext_eagl.Plo
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	$(AM_V_OBJC)source='gstglcontext_eagl.m' object='libgstgl_eagl_la-gstglcontext_eagl.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepOBJC_FALSE@	DEPDIR=$(DEPDIR) $(OBJCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepOBJC_FALSE@	$(AM_V_OBJC@am__nodep@)$(LIBTOOL) $(AM_V_lt) $(libgstgl_eagl_la_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(OBJC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libgstgl_eagl_la_OBJCFLAGS) $(OBJCFLAGS) -c -o libgstgl_eagl_la-gstglcontext_eagl.lo `test -f 'gstglcontext_eagl.m' || echo '$(srcdir)/'`gstglcontext_eagl.m

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

ID: $(am__tagged_files)
	$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	$(am__define_uniq_tagged_files); \
	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-am

CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	$(am__define_uniq_tagged_files); \
	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"
cscopelist: cscopelist-am

cscopelist-am: $(am__tagged_files)
	list='$(am__tagged_files)'; \
	case "$(srcdir)" in \
	  [\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
	  *) sdir=$(subdir)/$(srcdir) ;; \
	esac; \
	for i in $$list; do \
	  if test -f "$$i"; then \
	    echo "$(subdir)/$$i"; \
	  else \
	    echo "$$sdir/$$i"; \
	  fi; \
	done >> $(top_builddir)/cscope.files

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 $(LTLIBRARIES) $(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:
	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 clean-noinstLTLIBRARIES \
	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 TAGS all all-am check check-am clean clean-generic \
	clean-libtool clean-noinstLTLIBRARIES cscopelist-am ctags \
	ctags-am 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 tags-am uninstall uninstall-am

.PRECIOUS: Makefile


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