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

# Copyright (C) 1994-2017 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@
bin_PROGRAMS = wayland-scanner$(EXEEXT)
@DTD_VALIDATION_TRUE@am__append_1 = src/dtddata.S
@ENABLE_LIBRARIES_TRUE@am__append_2 = libwayland-private.la \
@ENABLE_LIBRARIES_TRUE@	libtest-runner.la libtest-helpers.la
@ENABLE_LIBRARIES_TRUE@am__append_3 = src/wayland-client.pc \
@ENABLE_LIBRARIES_TRUE@	src/wayland-server.pc \
@ENABLE_LIBRARIES_TRUE@	cursor/wayland-cursor.pc \
@ENABLE_LIBRARIES_TRUE@	egl/wayland-egl.pc \
@ENABLE_LIBRARIES_TRUE@	egl/wayland-egl-backend.pc
@ENABLE_LIBRARIES_TRUE@check_PROGRAMS =  \
@ENABLE_LIBRARIES_TRUE@	wayland-egl-abi-check$(EXEEXT)
@ENABLE_CPP_TEST_TRUE@@ENABLE_LIBRARIES_TRUE@am__append_4 = cpp-compile-test
@ENABLE_LIBRARIES_TRUE@TESTS = $(am__EXEEXT_2) \
@ENABLE_LIBRARIES_TRUE@	egl/wayland-egl-symbols-check \
@ENABLE_LIBRARIES_TRUE@	tests/scanner-test.sh
@ENABLE_LIBRARIES_TRUE@noinst_PROGRAMS = $(am__EXEEXT_2) \
@ENABLE_LIBRARIES_TRUE@	exec-fd-leak-checker$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	fixed-benchmark$(EXEEXT)
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \
	$(am__configure_deps) $(dist_aclocal_DATA) \
	$(dist_pkgdata_DATA) $(am__include_HEADERS_DIST) \
	$(am__DIST_COMMON)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES = cursor/wayland-cursor.pc \
	cursor/wayland-cursor-uninstalled.pc egl/wayland-egl.pc \
	egl/wayland-egl-backend.pc src/wayland-server-uninstalled.pc \
	src/wayland-client-uninstalled.pc \
	src/wayland-scanner-uninstalled.pc src/wayland-server.pc \
	src/wayland-client.pc src/wayland-scanner.pc \
	src/wayland-version.h src/wayland.dtd.embed
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
    *) f=$$p;; \
  esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
  for p in $$list; do echo "$$p $$p"; done | \
  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
    if (++n[$$2] == $(am__install_max)) \
      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
    END { for (dir in files) print dir, files[dir] }'
am__base_list = \
  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
  test -z "$$files" \
    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
         $(am__cd) "$$dir" && rm -f $$files; }; \
  }
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" \
	"$(DESTDIR)$(aclocaldir)" "$(DESTDIR)$(pkgdatadir)" \
	"$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" \
	"$(DESTDIR)$(includedir)"
LTLIBRARIES = $(lib_LTLIBRARIES) $(noinst_LTLIBRARIES)
libtest_helpers_la_LIBADD =
am__libtest_helpers_la_SOURCES_DIST = tests/test-helpers.c
am__dirstamp = $(am__leading_dot)dirstamp
@ENABLE_LIBRARIES_TRUE@am_libtest_helpers_la_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/test-helpers.lo
libtest_helpers_la_OBJECTS = $(am_libtest_helpers_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 = 
@ENABLE_LIBRARIES_TRUE@am_libtest_helpers_la_rpath =
am__DEPENDENCIES_1 =
@ENABLE_LIBRARIES_TRUE@libtest_runner_la_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libwayland-private.la \
@ENABLE_LIBRARIES_TRUE@	libwayland-util.la libwayland-client.la \
@ENABLE_LIBRARIES_TRUE@	libwayland-server.la libtest-helpers.la \
@ENABLE_LIBRARIES_TRUE@	$(am__DEPENDENCIES_1)
am__libtest_runner_la_SOURCES_DIST = tests/test-runner.c \
	tests/test-runner.h tests/test-compositor.h \
	tests/test-compositor.c
@ENABLE_LIBRARIES_TRUE@am_libtest_runner_la_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/test-runner.lo \
@ENABLE_LIBRARIES_TRUE@	tests/test-compositor.lo
libtest_runner_la_OBJECTS = $(am_libtest_runner_la_OBJECTS)
@ENABLE_LIBRARIES_TRUE@am_libtest_runner_la_rpath =
@ENABLE_LIBRARIES_TRUE@libwayland_client_la_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	$(am__DEPENDENCIES_1) \
@ENABLE_LIBRARIES_TRUE@	libwayland-private.la \
@ENABLE_LIBRARIES_TRUE@	libwayland-util.la
am__libwayland_client_la_SOURCES_DIST = src/wayland-client.c
@ENABLE_LIBRARIES_TRUE@am_libwayland_client_la_OBJECTS = src/libwayland_client_la-wayland-client.lo
@ENABLE_LIBRARIES_TRUE@nodist_libwayland_client_la_OBJECTS = protocol/libwayland_client_la-wayland-protocol.lo
libwayland_client_la_OBJECTS = $(am_libwayland_client_la_OBJECTS) \
	$(nodist_libwayland_client_la_OBJECTS)
libwayland_client_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(libwayland_client_la_CFLAGS) $(CFLAGS) \
	$(libwayland_client_la_LDFLAGS) $(LDFLAGS) -o $@
@ENABLE_LIBRARIES_TRUE@am_libwayland_client_la_rpath = -rpath \
@ENABLE_LIBRARIES_TRUE@	$(libdir)
@ENABLE_LIBRARIES_TRUE@libwayland_cursor_la_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libwayland-client.la
am__libwayland_cursor_la_SOURCES_DIST = cursor/wayland-cursor.c \
	cursor/os-compatibility.c cursor/os-compatibility.h \
	cursor/cursor-data.h cursor/xcursor.c cursor/xcursor.h
@ENABLE_LIBRARIES_TRUE@am_libwayland_cursor_la_OBJECTS = cursor/libwayland_cursor_la-wayland-cursor.lo \
@ENABLE_LIBRARIES_TRUE@	cursor/libwayland_cursor_la-os-compatibility.lo \
@ENABLE_LIBRARIES_TRUE@	cursor/libwayland_cursor_la-xcursor.lo
libwayland_cursor_la_OBJECTS = $(am_libwayland_cursor_la_OBJECTS)
libwayland_cursor_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(libwayland_cursor_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
@ENABLE_LIBRARIES_TRUE@am_libwayland_cursor_la_rpath = -rpath \
@ENABLE_LIBRARIES_TRUE@	$(libdir)
libwayland_egl_la_LIBADD =
am__libwayland_egl_la_SOURCES_DIST = egl/wayland-egl.c
@ENABLE_LIBRARIES_TRUE@am_libwayland_egl_la_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	egl/wayland-egl.lo
libwayland_egl_la_OBJECTS = $(am_libwayland_egl_la_OBJECTS)
libwayland_egl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(libwayland_egl_la_LDFLAGS) $(LDFLAGS) \
	-o $@
@ENABLE_LIBRARIES_TRUE@am_libwayland_egl_la_rpath = -rpath $(libdir)
libwayland_private_la_LIBADD =
am__libwayland_private_la_SOURCES_DIST = src/connection.c \
	src/wayland-os.c src/wayland-os.h src/wayland-private.h
@ENABLE_LIBRARIES_TRUE@am_libwayland_private_la_OBJECTS = src/libwayland_private_la-connection.lo \
@ENABLE_LIBRARIES_TRUE@	src/libwayland_private_la-wayland-os.lo
libwayland_private_la_OBJECTS = $(am_libwayland_private_la_OBJECTS)
libwayland_private_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(libwayland_private_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
@ENABLE_LIBRARIES_TRUE@am_libwayland_private_la_rpath =
@ENABLE_LIBRARIES_TRUE@libwayland_server_la_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	$(am__DEPENDENCIES_1) \
@ENABLE_LIBRARIES_TRUE@	libwayland-private.la \
@ENABLE_LIBRARIES_TRUE@	libwayland-util.la
am__libwayland_server_la_SOURCES_DIST = src/wayland-server.c \
	src/wayland-shm.c src/event-loop.c
@ENABLE_LIBRARIES_TRUE@am_libwayland_server_la_OBJECTS = src/libwayland_server_la-wayland-server.lo \
@ENABLE_LIBRARIES_TRUE@	src/libwayland_server_la-wayland-shm.lo \
@ENABLE_LIBRARIES_TRUE@	src/libwayland_server_la-event-loop.lo
@ENABLE_LIBRARIES_TRUE@nodist_libwayland_server_la_OBJECTS = protocol/libwayland_server_la-wayland-protocol.lo
libwayland_server_la_OBJECTS = $(am_libwayland_server_la_OBJECTS) \
	$(nodist_libwayland_server_la_OBJECTS)
libwayland_server_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(libwayland_server_la_CFLAGS) $(CFLAGS) \
	$(libwayland_server_la_LDFLAGS) $(LDFLAGS) -o $@
@ENABLE_LIBRARIES_TRUE@am_libwayland_server_la_rpath = -rpath \
@ENABLE_LIBRARIES_TRUE@	$(libdir)
libwayland_util_la_LIBADD =
am_libwayland_util_la_OBJECTS =  \
	src/libwayland_util_la-wayland-util.lo
libwayland_util_la_OBJECTS = $(am_libwayland_util_la_OBJECTS)
libwayland_util_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(libwayland_util_la_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
@ENABLE_CPP_TEST_TRUE@@ENABLE_LIBRARIES_TRUE@am__EXEEXT_1 = cpp-compile-test$(EXEEXT)
@ENABLE_LIBRARIES_TRUE@am__EXEEXT_2 = array-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	client-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	display-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	connection-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	event-loop-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	fixed-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	interface-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	list-test$(EXEEXT) map-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	os-wrappers-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	sanity-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	socket-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	queue-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	signal-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	newsignal-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	resources-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	message-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	headers-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	compositor-introspection-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	protocol-logger-test$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	wayland-egl-abi-check$(EXEEXT) \
@ENABLE_LIBRARIES_TRUE@	$(am__EXEEXT_1)
PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
am__array_test_SOURCES_DIST = tests/array-test.c
@ENABLE_LIBRARIES_TRUE@am_array_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/array-test.$(OBJEXT)
array_test_OBJECTS = $(am_array_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@array_test_DEPENDENCIES = libtest-runner.la
am__client_test_SOURCES_DIST = tests/client-test.c
@ENABLE_LIBRARIES_TRUE@am_client_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/client-test.$(OBJEXT)
client_test_OBJECTS = $(am_client_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@client_test_DEPENDENCIES = libtest-runner.la
am__compositor_introspection_test_SOURCES_DIST =  \
	tests/compositor-introspection-test.c
@ENABLE_LIBRARIES_TRUE@am_compositor_introspection_test_OBJECTS = tests/compositor-introspection-test.$(OBJEXT)
compositor_introspection_test_OBJECTS =  \
	$(am_compositor_introspection_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@compositor_introspection_test_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libtest-runner.la
am__connection_test_SOURCES_DIST = tests/connection-test.c
@ENABLE_LIBRARIES_TRUE@am_connection_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/connection-test.$(OBJEXT)
connection_test_OBJECTS = $(am_connection_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@connection_test_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libtest-runner.la
am__cpp_compile_test_SOURCES_DIST = tests/cpp-compile-test.cpp
@ENABLE_CPP_TEST_TRUE@@ENABLE_LIBRARIES_TRUE@am_cpp_compile_test_OBJECTS = tests/cpp-compile-test.$(OBJEXT)
cpp_compile_test_OBJECTS = $(am_cpp_compile_test_OBJECTS)
cpp_compile_test_LDADD = $(LDADD)
am__display_test_SOURCES_DIST = tests/display-test.c
@ENABLE_LIBRARIES_TRUE@am_display_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/display-test.$(OBJEXT)
@ENABLE_LIBRARIES_TRUE@nodist_display_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	protocol/tests-protocol.$(OBJEXT)
display_test_OBJECTS = $(am_display_test_OBJECTS) \
	$(nodist_display_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@display_test_DEPENDENCIES = libtest-runner.la
am__event_loop_test_SOURCES_DIST = tests/event-loop-test.c
@ENABLE_LIBRARIES_TRUE@am_event_loop_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/event-loop-test.$(OBJEXT)
event_loop_test_OBJECTS = $(am_event_loop_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@event_loop_test_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libtest-runner.la
am__exec_fd_leak_checker_SOURCES_DIST = tests/exec-fd-leak-checker.c
@ENABLE_LIBRARIES_TRUE@am_exec_fd_leak_checker_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/exec-fd-leak-checker.$(OBJEXT)
exec_fd_leak_checker_OBJECTS = $(am_exec_fd_leak_checker_OBJECTS)
@ENABLE_LIBRARIES_TRUE@exec_fd_leak_checker_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libtest-helpers.la
am__fixed_benchmark_SOURCES_DIST = tests/fixed-benchmark.c
@ENABLE_LIBRARIES_TRUE@am_fixed_benchmark_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/fixed-benchmark.$(OBJEXT)
fixed_benchmark_OBJECTS = $(am_fixed_benchmark_OBJECTS)
fixed_benchmark_LDADD = $(LDADD)
am__fixed_test_SOURCES_DIST = tests/fixed-test.c
@ENABLE_LIBRARIES_TRUE@am_fixed_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/fixed-test.$(OBJEXT)
fixed_test_OBJECTS = $(am_fixed_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@fixed_test_DEPENDENCIES = libtest-runner.la
am__headers_test_SOURCES_DIST = tests/headers-test.c \
	tests/headers-protocol-test.c \
	tests/headers-protocol-core-test.c
@ENABLE_LIBRARIES_TRUE@am_headers_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/headers-test.$(OBJEXT) \
@ENABLE_LIBRARIES_TRUE@	tests/headers-protocol-test.$(OBJEXT) \
@ENABLE_LIBRARIES_TRUE@	tests/headers-protocol-core-test.$(OBJEXT)
nodist_headers_test_OBJECTS =
headers_test_OBJECTS = $(am_headers_test_OBJECTS) \
	$(nodist_headers_test_OBJECTS)
headers_test_LDADD = $(LDADD)
am__interface_test_SOURCES_DIST = tests/interface-test.c
@ENABLE_LIBRARIES_TRUE@am_interface_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/interface-test.$(OBJEXT)
interface_test_OBJECTS = $(am_interface_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@interface_test_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libtest-runner.la
am__list_test_SOURCES_DIST = tests/list-test.c
@ENABLE_LIBRARIES_TRUE@am_list_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/list-test.$(OBJEXT)
list_test_OBJECTS = $(am_list_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@list_test_DEPENDENCIES = libtest-runner.la
am__map_test_SOURCES_DIST = tests/map-test.c
@ENABLE_LIBRARIES_TRUE@am_map_test_OBJECTS = tests/map-test.$(OBJEXT)
map_test_OBJECTS = $(am_map_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@map_test_DEPENDENCIES = libtest-runner.la
am__message_test_SOURCES_DIST = tests/message-test.c
@ENABLE_LIBRARIES_TRUE@am_message_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/message-test.$(OBJEXT)
message_test_OBJECTS = $(am_message_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@message_test_DEPENDENCIES = libtest-runner.la
am__newsignal_test_SOURCES_DIST = tests/newsignal-test.c \
	src/wayland-server.c
@ENABLE_LIBRARIES_TRUE@am_newsignal_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/newsignal-test.$(OBJEXT) \
@ENABLE_LIBRARIES_TRUE@	src/wayland-server.$(OBJEXT)
newsignal_test_OBJECTS = $(am_newsignal_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@newsignal_test_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libtest-runner.la
am__os_wrappers_test_SOURCES_DIST = tests/os-wrappers-test.c
@ENABLE_LIBRARIES_TRUE@am_os_wrappers_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/os-wrappers-test.$(OBJEXT)
os_wrappers_test_OBJECTS = $(am_os_wrappers_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@os_wrappers_test_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libtest-runner.la
am__protocol_logger_test_SOURCES_DIST = tests/protocol-logger-test.c
@ENABLE_LIBRARIES_TRUE@am_protocol_logger_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/protocol-logger-test.$(OBJEXT)
protocol_logger_test_OBJECTS = $(am_protocol_logger_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@protocol_logger_test_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libtest-runner.la
am__queue_test_SOURCES_DIST = tests/queue-test.c
@ENABLE_LIBRARIES_TRUE@am_queue_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/queue-test.$(OBJEXT)
queue_test_OBJECTS = $(am_queue_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@queue_test_DEPENDENCIES = libtest-runner.la
am__resources_test_SOURCES_DIST = tests/resources-test.c
@ENABLE_LIBRARIES_TRUE@am_resources_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/resources-test.$(OBJEXT)
resources_test_OBJECTS = $(am_resources_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@resources_test_DEPENDENCIES =  \
@ENABLE_LIBRARIES_TRUE@	libtest-runner.la
am__sanity_test_SOURCES_DIST = tests/sanity-test.c
@ENABLE_LIBRARIES_TRUE@am_sanity_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/sanity-test.$(OBJEXT)
sanity_test_OBJECTS = $(am_sanity_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@sanity_test_DEPENDENCIES = libtest-runner.la
am__signal_test_SOURCES_DIST = tests/signal-test.c
@ENABLE_LIBRARIES_TRUE@am_signal_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/signal-test.$(OBJEXT)
signal_test_OBJECTS = $(am_signal_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@signal_test_DEPENDENCIES = libtest-runner.la
am__socket_test_SOURCES_DIST = tests/socket-test.c
@ENABLE_LIBRARIES_TRUE@am_socket_test_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	tests/socket-test.$(OBJEXT)
socket_test_OBJECTS = $(am_socket_test_OBJECTS)
@ENABLE_LIBRARIES_TRUE@socket_test_DEPENDENCIES = libtest-runner.la
am__wayland_egl_abi_check_SOURCES_DIST = egl/wayland-egl-abi-check.c
@ENABLE_LIBRARIES_TRUE@am_wayland_egl_abi_check_OBJECTS =  \
@ENABLE_LIBRARIES_TRUE@	egl/wayland-egl-abi-check.$(OBJEXT)
wayland_egl_abi_check_OBJECTS = $(am_wayland_egl_abi_check_OBJECTS)
wayland_egl_abi_check_LDADD = $(LDADD)
am__wayland_scanner_SOURCES_DIST = src/scanner.c src/dtddata.S
@DTD_VALIDATION_TRUE@am__objects_1 = src/dtddata.$(OBJEXT)
am_wayland_scanner_OBJECTS = src/wayland_scanner-scanner.$(OBJEXT) \
	$(am__objects_1)
wayland_scanner_OBJECTS = $(am_wayland_scanner_OBJECTS)
wayland_scanner_DEPENDENCIES = $(am__DEPENDENCIES_1) \
	$(am__DEPENDENCIES_1) libwayland-util.la
wayland_scanner_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(wayland_scanner_CFLAGS) $(CFLAGS) $(AM_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@
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CPPASCOMPILE = $(CCAS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CCASFLAGS) $(CCASFLAGS)
LTCPPASCOMPILE = $(LIBTOOL) $(AM_V_lt) $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CCAS) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CCASFLAGS) $(CCASFLAGS)
AM_V_CPPAS = $(am__v_CPPAS_@AM_V@)
am__v_CPPAS_ = $(am__v_CPPAS_@AM_DEFAULT_V@)
am__v_CPPAS_0 = @echo "  CPPAS   " $@;
am__v_CPPAS_1 = 
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo "  CC      " $@;
am__v_CC_1 = 
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo "  CCLD    " $@;
am__v_CCLD_1 = 
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
am__v_CXX_0 = @echo "  CXX     " $@;
am__v_CXX_1 = 
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo "  CXXLD   " $@;
am__v_CXXLD_1 = 
SOURCES = $(libtest_helpers_la_SOURCES) $(libtest_runner_la_SOURCES) \
	$(libwayland_client_la_SOURCES) \
	$(nodist_libwayland_client_la_SOURCES) \
	$(libwayland_cursor_la_SOURCES) $(libwayland_egl_la_SOURCES) \
	$(libwayland_private_la_SOURCES) \
	$(libwayland_server_la_SOURCES) \
	$(nodist_libwayland_server_la_SOURCES) \
	$(libwayland_util_la_SOURCES) $(array_test_SOURCES) \
	$(client_test_SOURCES) \
	$(compositor_introspection_test_SOURCES) \
	$(connection_test_SOURCES) $(cpp_compile_test_SOURCES) \
	$(display_test_SOURCES) $(nodist_display_test_SOURCES) \
	$(event_loop_test_SOURCES) $(exec_fd_leak_checker_SOURCES) \
	$(fixed_benchmark_SOURCES) $(fixed_test_SOURCES) \
	$(headers_test_SOURCES) $(nodist_headers_test_SOURCES) \
	$(interface_test_SOURCES) $(list_test_SOURCES) \
	$(map_test_SOURCES) $(message_test_SOURCES) \
	$(newsignal_test_SOURCES) $(os_wrappers_test_SOURCES) \
	$(protocol_logger_test_SOURCES) $(queue_test_SOURCES) \
	$(resources_test_SOURCES) $(sanity_test_SOURCES) \
	$(signal_test_SOURCES) $(socket_test_SOURCES) \
	$(wayland_egl_abi_check_SOURCES) $(wayland_scanner_SOURCES)
DIST_SOURCES = $(am__libtest_helpers_la_SOURCES_DIST) \
	$(am__libtest_runner_la_SOURCES_DIST) \
	$(am__libwayland_client_la_SOURCES_DIST) \
	$(am__libwayland_cursor_la_SOURCES_DIST) \
	$(am__libwayland_egl_la_SOURCES_DIST) \
	$(am__libwayland_private_la_SOURCES_DIST) \
	$(am__libwayland_server_la_SOURCES_DIST) \
	$(libwayland_util_la_SOURCES) $(am__array_test_SOURCES_DIST) \
	$(am__client_test_SOURCES_DIST) \
	$(am__compositor_introspection_test_SOURCES_DIST) \
	$(am__connection_test_SOURCES_DIST) \
	$(am__cpp_compile_test_SOURCES_DIST) \
	$(am__display_test_SOURCES_DIST) \
	$(am__event_loop_test_SOURCES_DIST) \
	$(am__exec_fd_leak_checker_SOURCES_DIST) \
	$(am__fixed_benchmark_SOURCES_DIST) \
	$(am__fixed_test_SOURCES_DIST) \
	$(am__headers_test_SOURCES_DIST) \
	$(am__interface_test_SOURCES_DIST) \
	$(am__list_test_SOURCES_DIST) $(am__map_test_SOURCES_DIST) \
	$(am__message_test_SOURCES_DIST) \
	$(am__newsignal_test_SOURCES_DIST) \
	$(am__os_wrappers_test_SOURCES_DIST) \
	$(am__protocol_logger_test_SOURCES_DIST) \
	$(am__queue_test_SOURCES_DIST) \
	$(am__resources_test_SOURCES_DIST) \
	$(am__sanity_test_SOURCES_DIST) \
	$(am__signal_test_SOURCES_DIST) \
	$(am__socket_test_SOURCES_DIST) \
	$(am__wayland_egl_abi_check_SOURCES_DIST) \
	$(am__wayland_scanner_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
	ctags-recursive dvi-recursive html-recursive info-recursive \
	install-data-recursive install-dvi-recursive \
	install-exec-recursive install-html-recursive \
	install-info-recursive install-pdf-recursive \
	install-ps-recursive install-recursive installcheck-recursive \
	installdirs-recursive pdf-recursive ps-recursive \
	tags-recursive uninstall-recursive
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
DATA = $(dist_aclocal_DATA) $(dist_pkgdata_DATA) $(pkgconfig_DATA)
am__include_HEADERS_DIST = src/wayland-util.h src/wayland-server.h \
	src/wayland-server-core.h src/wayland-client.h \
	src/wayland-client-core.h src/wayland-version.h \
	cursor/wayland-cursor.h egl/wayland-egl.h \
	egl/wayland-egl-core.h egl/wayland-egl-backend.h
HEADERS = $(include_HEADERS) $(nodist_include_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
  distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
  $(RECURSIVE_TARGETS) \
  $(RECURSIVE_CLEAN_TARGETS) \
  $(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
	cscope check recheck distdir dist dist-all distcheck
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) \
	$(LISP)config.h.in
# 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
CSCOPE = cscope
am__tty_colors_dummy = \
  mgn= red= grn= lgn= blu= brg= std=; \
  am__color_tests=no
am__tty_colors = { \
  $(am__tty_colors_dummy); \
  if test "X$(AM_COLOR_TESTS)" = Xno; then \
    am__color_tests=no; \
  elif test "X$(AM_COLOR_TESTS)" = Xalways; then \
    am__color_tests=yes; \
  elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \
    am__color_tests=yes; \
  fi; \
  if test $$am__color_tests = yes; then \
    red='[0;31m'; \
    grn='[0;32m'; \
    lgn='[1;32m'; \
    blu='[1;34m'; \
    mgn='[0;35m'; \
    brg='[1m'; \
    std='[m'; \
  fi; \
}
am__recheck_rx = ^[ 	]*:recheck:[ 	]*
am__global_test_result_rx = ^[ 	]*:global-test-result:[ 	]*
am__copy_in_global_log_rx = ^[ 	]*:copy-in-global-log:[ 	]*
# A command that, given a newline-separated list of test names on the
# standard input, print the name of the tests that are to be re-run
# upon "make recheck".
am__list_recheck_tests = $(AWK) '{ \
  recheck = 1; \
  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
    { \
      if (rc < 0) \
        { \
          if ((getline line2 < ($$0 ".log")) < 0) \
	    recheck = 0; \
          break; \
        } \
      else if (line ~ /$(am__recheck_rx)[nN][Oo]/) \
        { \
          recheck = 0; \
          break; \
        } \
      else if (line ~ /$(am__recheck_rx)[yY][eE][sS]/) \
        { \
          break; \
        } \
    }; \
  if (recheck) \
    print $$0; \
  close ($$0 ".trs"); \
  close ($$0 ".log"); \
}'
# A command that, given a newline-separated list of test names on the
# standard input, create the global log from their .trs and .log files.
am__create_global_log = $(AWK) ' \
function fatal(msg) \
{ \
  print "fatal: making $@: " msg | "cat >&2"; \
  exit 1; \
} \
function rst_section(header) \
{ \
  print header; \
  len = length(header); \
  for (i = 1; i <= len; i = i + 1) \
    printf "="; \
  printf "\n\n"; \
} \
{ \
  copy_in_global_log = 1; \
  global_test_result = "RUN"; \
  while ((rc = (getline line < ($$0 ".trs"))) != 0) \
    { \
      if (rc < 0) \
         fatal("failed to read from " $$0 ".trs"); \
      if (line ~ /$(am__global_test_result_rx)/) \
        { \
          sub("$(am__global_test_result_rx)", "", line); \
          sub("[ 	]*$$", "", line); \
          global_test_result = line; \
        } \
      else if (line ~ /$(am__copy_in_global_log_rx)[nN][oO]/) \
        copy_in_global_log = 0; \
    }; \
  if (copy_in_global_log) \
    { \
      rst_section(global_test_result ": " $$0); \
      while ((rc = (getline line < ($$0 ".log"))) != 0) \
      { \
        if (rc < 0) \
          fatal("failed to read from " $$0 ".log"); \
        print line; \
      }; \
      printf "\n"; \
    }; \
  close ($$0 ".trs"); \
  close ($$0 ".log"); \
}'
# Restructured Text title.
am__rst_title = { sed 's/.*/   &   /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; }
# Solaris 10 'make', and several other traditional 'make' implementations,
# pass "-e" to $(SHELL), and POSIX 2008 even requires this.  Work around it
# by disabling -e (using the XSI extension "set +e") if it's set.
am__sh_e_setup = case $$- in *e*) set +e;; esac
# Default flags passed to test drivers.
am__common_driver_flags = \
  --color-tests "$$am__color_tests" \
  --enable-hard-errors "$$am__enable_hard_errors" \
  --expect-failure "$$am__expect_failure"
# To be inserted before the command running the test.  Creates the
# directory for the log if needed.  Stores in $dir the directory
# containing $f, in $tst the test, in $log the log.  Executes the
# developer- defined test setup AM_TESTS_ENVIRONMENT (if any), and
# passes TESTS_ENVIRONMENT.  Set up options for the wrapper that
# will run the test scripts (or their associated LOG_COMPILER, if
# thy have one).
am__check_pre = \
$(am__sh_e_setup);					\
$(am__vpath_adj_setup) $(am__vpath_adj)			\
$(am__tty_colors);					\
srcdir=$(srcdir); export srcdir;			\
case "$@" in						\
  */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;;	\
    *) am__odir=.;; 					\
esac;							\
test "x$$am__odir" = x"." || test -d "$$am__odir" 	\
  || $(MKDIR_P) "$$am__odir" || exit $$?;		\
if test -f "./$$f"; then dir=./;			\
elif test -f "$$f"; then dir=;				\
else dir="$(srcdir)/"; fi;				\
tst=$$dir$$f; log='$@'; 				\
if test -n '$(DISABLE_HARD_ERRORS)'; then		\
  am__enable_hard_errors=no; 				\
else							\
  am__enable_hard_errors=yes; 				\
fi; 							\
case " $(XFAIL_TESTS) " in				\
  *[\ \	]$$f[\ \	]* | *[\ \	]$$dir$$f[\ \	]*) \
    am__expect_failure=yes;;				\
  *)							\
    am__expect_failure=no;;				\
esac; 							\
$(AM_TESTS_ENVIRONMENT) $(TESTS_ENVIRONMENT)
# A shell command to get the names of the tests scripts with any registered
# extension removed (i.e., equivalently, the names of the test logs, with
# the '.log' extension removed).  The result is saved in the shell variable
# '$bases'.  This honors runtime overriding of TESTS and TEST_LOGS.  Sadly,
# we cannot use something simpler, involving e.g., "$(TEST_LOGS:.log=)",
# since that might cause problem with VPATH rewrites for suffix-less tests.
# See also 'test-harness-vpath-rewrite.sh' and 'test-trs-basic.sh'.
am__set_TESTS_bases = \
  bases='$(TEST_LOGS)'; \
  bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \
  bases=`echo $$bases`
RECHECK_LOGS = $(TEST_LOGS)
TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test
LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
LOG_COMPILE = $(LOG_COMPILER) $(AM_LOG_FLAGS) $(LOG_FLAGS)
am__set_b = \
  case '$@' in \
    */*) \
      case '$*' in \
        */*) b='$*';; \
          *) b=`echo '$@' | sed 's/\.log$$//'`; \
       esac;; \
    *) \
      b='$*';; \
  esac
am__test_logs1 = $(TESTS:=.log)
am__test_logs2 = $(am__test_logs1:@EXEEXT@.log=.log)
TEST_LOGS = $(am__test_logs2:.test.log=.log)
TEST_LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver
TEST_LOG_COMPILE = $(TEST_LOG_COMPILER) $(AM_TEST_LOG_FLAGS) \
	$(TEST_LOG_FLAGS)
DIST_SUBDIRS = doc
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in \
	$(top_srcdir)/cursor/wayland-cursor-uninstalled.pc.in \
	$(top_srcdir)/cursor/wayland-cursor.pc.in \
	$(top_srcdir)/egl/wayland-egl-backend.pc.in \
	$(top_srcdir)/egl/wayland-egl.pc.in \
	$(top_srcdir)/protocol/wayland.dtd \
	$(top_srcdir)/src/wayland-client-uninstalled.pc.in \
	$(top_srcdir)/src/wayland-client.pc.in \
	$(top_srcdir)/src/wayland-scanner-uninstalled.pc.in \
	$(top_srcdir)/src/wayland-scanner.pc.in \
	$(top_srcdir)/src/wayland-server-uninstalled.pc.in \
	$(top_srcdir)/src/wayland-server.pc.in \
	$(top_srcdir)/src/wayland-version.h.in COPYING README TODO \
	compile config.guess config.sub depcomp install-sh ltmain.sh \
	missing test-driver
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
  if test -d "$(distdir)"; then \
    find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
      && rm -rf "$(distdir)" \
      || { sleep 5 && rm -rf "$(distdir)"; }; \
  else :; fi
am__post_remove_distdir = $(am__remove_distdir)
am__relativize = \
  dir0=`pwd`; \
  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
  sed_rest='s,^[^/]*/*,,'; \
  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
  sed_butlast='s,/*[^/]*$$,,'; \
  while test -n "$$dir1"; do \
    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
    if test "$$first" != "."; then \
      if test "$$first" = ".."; then \
        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
      else \
        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
        if test "$$first2" = "$$first"; then \
          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
        else \
          dir2="../$$dir2"; \
        fi; \
        dir0="$$dir0"/"$$first"; \
      fi; \
    fi; \
    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
  done; \
  reldir="$$dir2"
GZIP_ENV = --best
DIST_ARCHIVES = $(distdir).tar.xz
DIST_TARGETS = dist-xz
distuninstallcheck_listfiles = find . -type f -print
am__distuninstallcheck_listfiles = $(distuninstallcheck_listfiles) \
  | sed 's|^\./|$(prefix)/|' | grep -v '$(infodir)/dir$$'
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCAS = @CCAS@
CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXPAT_CFLAGS = @EXPAT_CFLAGS@
EXPAT_LIBS = @EXPAT_LIBS@
FFI_CFLAGS = @FFI_CFLAGS@
FFI_LIBS = @FFI_LIBS@
FGREP = @FGREP@
GCC_CFLAGS = @GCC_CFLAGS@
GREP = @GREP@
ICONDIR = @ICONDIR@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML_CFLAGS = @LIBXML_CFLAGS@
LIBXML_LIBS = @LIBXML_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MANPAGES_STYLESHEET = @MANPAGES_STYLESHEET@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
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@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
WAYLAND_VERSION = @WAYLAND_VERSION@
WAYLAND_VERSION_MAJOR = @WAYLAND_VERSION_MAJOR@
WAYLAND_VERSION_MICRO = @WAYLAND_VERSION_MICRO@
WAYLAND_VERSION_MINOR = @WAYLAND_VERSION_MINOR@
XMLTO = @XMLTO@
XSLTPROC = @XSLTPROC@
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@
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@
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@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@BUILD_DOCS_TRUE@SUBDIRS = doc
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
AM_CPPFLAGS = \
	-I$(top_builddir)/src			\
	-I$(top_srcdir)/src			\
	-I$(top_builddir)/protocol

AM_CFLAGS = $(GCC_CFLAGS)
aclocaldir = $(datadir)/aclocal
dist_aclocal_DATA = wayland-scanner.m4
dist_pkgdata_DATA = \
	wayland-scanner.mk			\
	protocol/wayland.xml			\
	protocol/wayland.dtd

pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = src/wayland-scanner.pc $(am__append_3)
wayland_scanner_SOURCES = src/scanner.c $(am__append_1)
wayland_scanner_CFLAGS = $(EXPAT_CFLAGS) $(LIBXML_CFLAGS) $(AM_CFLAGS)
wayland_scanner_LDADD = $(EXPAT_LIBS) $(LIBXML_LIBS) libwayland-util.la
@USE_HOST_SCANNER_FALSE@wayland_scanner = $(top_builddir)/wayland-scanner
@USE_HOST_SCANNER_TRUE@wayland_scanner = wayland-scanner
libwayland_util_la_CFLAGS = $(AM_CFLAGS)
libwayland_util_la_SOURCES = \
	src/wayland-util.c			\
	src/wayland-util.h

noinst_LTLIBRARIES = libwayland-util.la $(am__append_2)
@ENABLE_LIBRARIES_TRUE@lib_LTLIBRARIES = libwayland-server.la \
@ENABLE_LIBRARIES_TRUE@	libwayland-client.la \
@ENABLE_LIBRARIES_TRUE@	libwayland-cursor.la libwayland-egl.la
@ENABLE_LIBRARIES_TRUE@libwayland_private_la_CFLAGS = $(FFI_CFLAGS) $(AM_CFLAGS)
@ENABLE_LIBRARIES_TRUE@libwayland_private_la_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	src/connection.c			\
@ENABLE_LIBRARIES_TRUE@	src/wayland-os.c			\
@ENABLE_LIBRARIES_TRUE@	src/wayland-os.h			\
@ENABLE_LIBRARIES_TRUE@	src/wayland-private.h

@ENABLE_LIBRARIES_TRUE@include_HEADERS = src/wayland-util.h \
@ENABLE_LIBRARIES_TRUE@	src/wayland-server.h \
@ENABLE_LIBRARIES_TRUE@	src/wayland-server-core.h \
@ENABLE_LIBRARIES_TRUE@	src/wayland-client.h \
@ENABLE_LIBRARIES_TRUE@	src/wayland-client-core.h \
@ENABLE_LIBRARIES_TRUE@	src/wayland-version.h \
@ENABLE_LIBRARIES_TRUE@	cursor/wayland-cursor.h \
@ENABLE_LIBRARIES_TRUE@	egl/wayland-egl.h \
@ENABLE_LIBRARIES_TRUE@	egl/wayland-egl-core.h \
@ENABLE_LIBRARIES_TRUE@	egl/wayland-egl-backend.h
@ENABLE_LIBRARIES_TRUE@nodist_include_HEADERS = \
@ENABLE_LIBRARIES_TRUE@	protocol/wayland-server-protocol.h	\
@ENABLE_LIBRARIES_TRUE@	protocol/wayland-client-protocol.h

@ENABLE_LIBRARIES_TRUE@libwayland_server_la_CFLAGS = $(FFI_CFLAGS) $(AM_CFLAGS) -pthread
@ENABLE_LIBRARIES_TRUE@libwayland_server_la_LIBADD = $(FFI_LIBS) libwayland-private.la libwayland-util.la -lrt -lm
@ENABLE_LIBRARIES_TRUE@libwayland_server_la_LDFLAGS = -version-info 1:0:1
@ENABLE_LIBRARIES_TRUE@libwayland_server_la_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	src/wayland-server.c			\
@ENABLE_LIBRARIES_TRUE@	src/wayland-shm.c			\
@ENABLE_LIBRARIES_TRUE@	src/event-loop.c

@ENABLE_LIBRARIES_TRUE@nodist_libwayland_server_la_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	protocol/wayland-server-protocol.h	\
@ENABLE_LIBRARIES_TRUE@	protocol/wayland-protocol.c

@ENABLE_LIBRARIES_TRUE@libwayland_client_la_CFLAGS = $(FFI_CFLAGS) $(AM_CFLAGS) -pthread
@ENABLE_LIBRARIES_TRUE@libwayland_client_la_LIBADD = $(FFI_LIBS) libwayland-private.la libwayland-util.la -lrt -lm
@ENABLE_LIBRARIES_TRUE@libwayland_client_la_LDFLAGS = -version-info 3:0:3
@ENABLE_LIBRARIES_TRUE@libwayland_client_la_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	src/wayland-client.c

@ENABLE_LIBRARIES_TRUE@nodist_libwayland_client_la_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	protocol/wayland-client-protocol.h	\
@ENABLE_LIBRARIES_TRUE@	protocol/wayland-protocol.c

@ENABLE_LIBRARIES_TRUE@BUILT_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	$(nodist_libwayland_server_la_SOURCES)	\
@ENABLE_LIBRARIES_TRUE@	$(nodist_libwayland_client_la_SOURCES)	\
@ENABLE_LIBRARIES_TRUE@	$(nodist_headers_test_SOURCES)		\
@ENABLE_LIBRARIES_TRUE@	$(nodist_display_test_SOURCES)

@ENABLE_LIBRARIES_TRUE@CLEANFILES = $(BUILT_SOURCES) doc/doxygen/doxygen_sqlite3.db
@ENABLE_LIBRARIES_TRUE@DISTCLEANFILES = src/wayland-version.h
@ENABLE_LIBRARIES_TRUE@EXTRA_DIST = CONTRIBUTING.md \
@ENABLE_LIBRARIES_TRUE@	egl/wayland-egl-symbols-check \
@ENABLE_LIBRARIES_TRUE@	tests/scanner-test.sh \
@ENABLE_LIBRARIES_TRUE@	protocol/tests.xml \
@ENABLE_LIBRARIES_TRUE@	tests/data/example.xml \
@ENABLE_LIBRARIES_TRUE@	tests/data/example-client.h \
@ENABLE_LIBRARIES_TRUE@	tests/data/example-server.h \
@ENABLE_LIBRARIES_TRUE@	tests/data/example-code.c \
@ENABLE_LIBRARIES_TRUE@	tests/data/small.xml \
@ENABLE_LIBRARIES_TRUE@	tests/data/small-code.c \
@ENABLE_LIBRARIES_TRUE@	tests/data/small-client.h \
@ENABLE_LIBRARIES_TRUE@	tests/data/small-server.h \
@ENABLE_LIBRARIES_TRUE@	tests/data/small-code-core.c \
@ENABLE_LIBRARIES_TRUE@	tests/data/small-client-core.h \
@ENABLE_LIBRARIES_TRUE@	tests/data/small-server-core.h \
@ENABLE_LIBRARIES_TRUE@	tests/data/small-private-code.c
@ENABLE_LIBRARIES_TRUE@libwayland_cursor_la_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	cursor/wayland-cursor.c			\
@ENABLE_LIBRARIES_TRUE@	cursor/os-compatibility.c		\
@ENABLE_LIBRARIES_TRUE@	cursor/os-compatibility.h		\
@ENABLE_LIBRARIES_TRUE@	cursor/cursor-data.h			\
@ENABLE_LIBRARIES_TRUE@	cursor/xcursor.c			\
@ENABLE_LIBRARIES_TRUE@	cursor/xcursor.h

@ENABLE_LIBRARIES_TRUE@libwayland_cursor_la_LIBADD = libwayland-client.la
@ENABLE_LIBRARIES_TRUE@libwayland_cursor_la_CFLAGS = \
@ENABLE_LIBRARIES_TRUE@	$(AM_CFLAGS)				\
@ENABLE_LIBRARIES_TRUE@	-I$(top_builddir)/src			\
@ENABLE_LIBRARIES_TRUE@	-I$(top_srcdir)/src			\
@ENABLE_LIBRARIES_TRUE@	-DICONDIR=\"$(ICONDIR)\"

@ENABLE_LIBRARIES_TRUE@libwayland_egl_la_SOURCES = egl/wayland-egl.c
@ENABLE_LIBRARIES_TRUE@libwayland_egl_la_LDFLAGS = -version-info 1
@ENABLE_LIBRARIES_TRUE@built_test_programs = array-test client-test \
@ENABLE_LIBRARIES_TRUE@	display-test connection-test \
@ENABLE_LIBRARIES_TRUE@	event-loop-test fixed-test \
@ENABLE_LIBRARIES_TRUE@	interface-test list-test map-test \
@ENABLE_LIBRARIES_TRUE@	os-wrappers-test sanity-test \
@ENABLE_LIBRARIES_TRUE@	socket-test queue-test signal-test \
@ENABLE_LIBRARIES_TRUE@	newsignal-test resources-test \
@ENABLE_LIBRARIES_TRUE@	message-test headers-test \
@ENABLE_LIBRARIES_TRUE@	compositor-introspection-test \
@ENABLE_LIBRARIES_TRUE@	protocol-logger-test \
@ENABLE_LIBRARIES_TRUE@	wayland-egl-abi-check $(am__append_4)
@ENABLE_LIBRARIES_TRUE@wayland_egl_abi_check_SOURCES = egl/wayland-egl-abi-check.c
@ENABLE_LIBRARIES_TRUE@AM_TESTS_ENVIRONMENT = \
@ENABLE_LIBRARIES_TRUE@	export WAYLAND_SCANNER='$(top_builddir)/wayland-scanner'	\
@ENABLE_LIBRARIES_TRUE@	TEST_DATA_DIR='$(top_srcdir)/tests/data'			\
@ENABLE_LIBRARIES_TRUE@	TEST_OUTPUT_DIR='$(top_builddir)/tests/output'			\
@ENABLE_LIBRARIES_TRUE@	WAYLAND_EGL_LIB='$(top_builddir)/.libs/libwayland-egl.so'	\
@ENABLE_LIBRARIES_TRUE@	SED=$(SED)							\
@ENABLE_LIBRARIES_TRUE@	NM='$(NM)'							\
@ENABLE_LIBRARIES_TRUE@	;

@ENABLE_LIBRARIES_TRUE@libtest_helpers_la_SOURCES = tests/test-helpers.c
@ENABLE_LIBRARIES_TRUE@libtest_runner_la_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	tests/test-runner.c			\
@ENABLE_LIBRARIES_TRUE@	tests/test-runner.h			\
@ENABLE_LIBRARIES_TRUE@	tests/test-compositor.h			\
@ENABLE_LIBRARIES_TRUE@	tests/test-compositor.c

@ENABLE_LIBRARIES_TRUE@libtest_runner_la_LIBADD = \
@ENABLE_LIBRARIES_TRUE@	libwayland-private.la			\
@ENABLE_LIBRARIES_TRUE@	libwayland-util.la			\
@ENABLE_LIBRARIES_TRUE@	libwayland-client.la			\
@ENABLE_LIBRARIES_TRUE@	libwayland-server.la			\
@ENABLE_LIBRARIES_TRUE@	libtest-helpers.la			\
@ENABLE_LIBRARIES_TRUE@	-lrt -ldl $(FFI_LIBS)

@ENABLE_LIBRARIES_TRUE@array_test_SOURCES = tests/array-test.c
@ENABLE_LIBRARIES_TRUE@array_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@client_test_SOURCES = tests/client-test.c
@ENABLE_LIBRARIES_TRUE@client_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@display_test_SOURCES = tests/display-test.c
@ENABLE_LIBRARIES_TRUE@display_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@nodist_display_test_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	protocol/tests-server-protocol.h		\
@ENABLE_LIBRARIES_TRUE@	protocol/tests-client-protocol.h 		\
@ENABLE_LIBRARIES_TRUE@	protocol/tests-protocol.c

@ENABLE_LIBRARIES_TRUE@connection_test_SOURCES = tests/connection-test.c
@ENABLE_LIBRARIES_TRUE@connection_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@event_loop_test_SOURCES = tests/event-loop-test.c
@ENABLE_LIBRARIES_TRUE@event_loop_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@fixed_test_SOURCES = tests/fixed-test.c
@ENABLE_LIBRARIES_TRUE@fixed_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@interface_test_SOURCES = tests/interface-test.c
@ENABLE_LIBRARIES_TRUE@interface_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@list_test_SOURCES = tests/list-test.c
@ENABLE_LIBRARIES_TRUE@list_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@map_test_SOURCES = tests/map-test.c
@ENABLE_LIBRARIES_TRUE@map_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@sanity_test_SOURCES = tests/sanity-test.c
@ENABLE_LIBRARIES_TRUE@sanity_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@socket_test_SOURCES = tests/socket-test.c
@ENABLE_LIBRARIES_TRUE@socket_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@queue_test_SOURCES = tests/queue-test.c
@ENABLE_LIBRARIES_TRUE@queue_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@signal_test_SOURCES = tests/signal-test.c
@ENABLE_LIBRARIES_TRUE@signal_test_LDADD = libtest-runner.la
# wayland-server.c is needed here to access wl_priv_* functions
@ENABLE_LIBRARIES_TRUE@newsignal_test_SOURCES = tests/newsignal-test.c src/wayland-server.c
@ENABLE_LIBRARIES_TRUE@newsignal_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@resources_test_SOURCES = tests/resources-test.c
@ENABLE_LIBRARIES_TRUE@resources_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@message_test_SOURCES = tests/message-test.c
@ENABLE_LIBRARIES_TRUE@message_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@compositor_introspection_test_SOURCES = tests/compositor-introspection-test.c
@ENABLE_LIBRARIES_TRUE@compositor_introspection_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@protocol_logger_test_SOURCES = tests/protocol-logger-test.c
@ENABLE_LIBRARIES_TRUE@protocol_logger_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@headers_test_SOURCES = tests/headers-test.c \
@ENABLE_LIBRARIES_TRUE@		       tests/headers-protocol-test.c \
@ENABLE_LIBRARIES_TRUE@		       tests/headers-protocol-core-test.c

@ENABLE_LIBRARIES_TRUE@nodist_headers_test_SOURCES = \
@ENABLE_LIBRARIES_TRUE@	protocol/wayland-server-protocol-core.h	\
@ENABLE_LIBRARIES_TRUE@	protocol/wayland-client-protocol-core.h

@ENABLE_CPP_TEST_TRUE@@ENABLE_LIBRARIES_TRUE@cpp_compile_test_SOURCES = tests/cpp-compile-test.cpp
@ENABLE_LIBRARIES_TRUE@fixed_benchmark_SOURCES = tests/fixed-benchmark.c
@ENABLE_LIBRARIES_TRUE@os_wrappers_test_SOURCES = tests/os-wrappers-test.c
@ENABLE_LIBRARIES_TRUE@os_wrappers_test_LDADD = libtest-runner.la
@ENABLE_LIBRARIES_TRUE@exec_fd_leak_checker_SOURCES = tests/exec-fd-leak-checker.c
@ENABLE_LIBRARIES_TRUE@exec_fd_leak_checker_LDADD = libtest-helpers.la
all: $(BUILT_SOURCES) config.h
	$(MAKE) $(AM_MAKEFLAGS) all-recursive

.SUFFIXES:
.SUFFIXES: .S .c .cpp .lo .log .o .obj .test .test$(EXEEXT) .trs
am--refresh: Makefile
	@:
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      echo ' cd $(srcdir) && $(AUTOMAKE) --foreign'; \
	      $(am__cd) $(srcdir) && $(AUTOMAKE) --foreign \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    echo ' $(SHELL) ./config.status'; \
	    $(SHELL) ./config.status;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	$(SHELL) ./config.status --recheck

$(top_srcdir)/configure:  $(am__configure_deps)
	$(am__cd) $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	$(am__cd) $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
$(am__aclocal_m4_deps):

config.h: stamp-h1
	@test -f $@ || rm -f stamp-h1
	@test -f $@ || $(MAKE) $(AM_MAKEFLAGS) stamp-h1

stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
	@rm -f stamp-h1
	cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in:  $(am__configure_deps) 
	($(am__cd) $(top_srcdir) && $(AUTOHEADER))
	rm -f stamp-h1
	touch $@

distclean-hdr:
	-rm -f config.h stamp-h1
cursor/wayland-cursor.pc: $(top_builddir)/config.status $(top_srcdir)/cursor/wayland-cursor.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
cursor/wayland-cursor-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/cursor/wayland-cursor-uninstalled.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
egl/wayland-egl.pc: $(top_builddir)/config.status $(top_srcdir)/egl/wayland-egl.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
egl/wayland-egl-backend.pc: $(top_builddir)/config.status $(top_srcdir)/egl/wayland-egl-backend.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
src/wayland-server-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/wayland-server-uninstalled.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
src/wayland-client-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/wayland-client-uninstalled.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
src/wayland-scanner-uninstalled.pc: $(top_builddir)/config.status $(top_srcdir)/src/wayland-scanner-uninstalled.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
src/wayland-server.pc: $(top_builddir)/config.status $(top_srcdir)/src/wayland-server.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
src/wayland-client.pc: $(top_builddir)/config.status $(top_srcdir)/src/wayland-client.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
src/wayland-scanner.pc: $(top_builddir)/config.status $(top_srcdir)/src/wayland-scanner.pc.in
	cd $(top_builddir) && $(SHELL) ./config.status $@
src/wayland-version.h: $(top_builddir)/config.status $(top_srcdir)/src/wayland-version.h.in
	cd $(top_builddir) && $(SHELL) ./config.status $@

install-libLTLIBRARIES: $(lib_LTLIBRARIES)
	@$(NORMAL_INSTALL)
	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
	list2=; for p in $$list; do \
	  if test -f $$p; then \
	    list2="$$list2 $$p"; \
	  else :; fi; \
	done; \
	test -z "$$list2" || { \
	  echo " $(MKDIR_P) '$(DESTDIR)$(libdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(libdir)" || exit 1; \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
	}

uninstall-libLTLIBRARIES:
	@$(NORMAL_UNINSTALL)
	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
	for p in $$list; do \
	  $(am__strip_dir) \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
	done

clean-libLTLIBRARIES:
	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
	@list='$(lib_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}; \
	}

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}; \
	}
tests/$(am__dirstamp):
	@$(MKDIR_P) tests
	@: > tests/$(am__dirstamp)
tests/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) tests/$(DEPDIR)
	@: > tests/$(DEPDIR)/$(am__dirstamp)
tests/test-helpers.lo: tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

libtest-helpers.la: $(libtest_helpers_la_OBJECTS) $(libtest_helpers_la_DEPENDENCIES) $(EXTRA_libtest_helpers_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(LINK) $(am_libtest_helpers_la_rpath) $(libtest_helpers_la_OBJECTS) $(libtest_helpers_la_LIBADD) $(LIBS)
tests/test-runner.lo: tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)
tests/test-compositor.lo: tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

libtest-runner.la: $(libtest_runner_la_OBJECTS) $(libtest_runner_la_DEPENDENCIES) $(EXTRA_libtest_runner_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(LINK) $(am_libtest_runner_la_rpath) $(libtest_runner_la_OBJECTS) $(libtest_runner_la_LIBADD) $(LIBS)
src/$(am__dirstamp):
	@$(MKDIR_P) src
	@: > src/$(am__dirstamp)
src/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) src/$(DEPDIR)
	@: > src/$(DEPDIR)/$(am__dirstamp)
src/libwayland_client_la-wayland-client.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)
protocol/$(am__dirstamp):
	@$(MKDIR_P) protocol
	@: > protocol/$(am__dirstamp)
protocol/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) protocol/$(DEPDIR)
	@: > protocol/$(DEPDIR)/$(am__dirstamp)
protocol/libwayland_client_la-wayland-protocol.lo:  \
	protocol/$(am__dirstamp) protocol/$(DEPDIR)/$(am__dirstamp)

libwayland-client.la: $(libwayland_client_la_OBJECTS) $(libwayland_client_la_DEPENDENCIES) $(EXTRA_libwayland_client_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libwayland_client_la_LINK) $(am_libwayland_client_la_rpath) $(libwayland_client_la_OBJECTS) $(libwayland_client_la_LIBADD) $(LIBS)
cursor/$(am__dirstamp):
	@$(MKDIR_P) cursor
	@: > cursor/$(am__dirstamp)
cursor/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) cursor/$(DEPDIR)
	@: > cursor/$(DEPDIR)/$(am__dirstamp)
cursor/libwayland_cursor_la-wayland-cursor.lo: cursor/$(am__dirstamp) \
	cursor/$(DEPDIR)/$(am__dirstamp)
cursor/libwayland_cursor_la-os-compatibility.lo:  \
	cursor/$(am__dirstamp) cursor/$(DEPDIR)/$(am__dirstamp)
cursor/libwayland_cursor_la-xcursor.lo: cursor/$(am__dirstamp) \
	cursor/$(DEPDIR)/$(am__dirstamp)

libwayland-cursor.la: $(libwayland_cursor_la_OBJECTS) $(libwayland_cursor_la_DEPENDENCIES) $(EXTRA_libwayland_cursor_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libwayland_cursor_la_LINK) $(am_libwayland_cursor_la_rpath) $(libwayland_cursor_la_OBJECTS) $(libwayland_cursor_la_LIBADD) $(LIBS)
egl/$(am__dirstamp):
	@$(MKDIR_P) egl
	@: > egl/$(am__dirstamp)
egl/$(DEPDIR)/$(am__dirstamp):
	@$(MKDIR_P) egl/$(DEPDIR)
	@: > egl/$(DEPDIR)/$(am__dirstamp)
egl/wayland-egl.lo: egl/$(am__dirstamp) egl/$(DEPDIR)/$(am__dirstamp)

libwayland-egl.la: $(libwayland_egl_la_OBJECTS) $(libwayland_egl_la_DEPENDENCIES) $(EXTRA_libwayland_egl_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libwayland_egl_la_LINK) $(am_libwayland_egl_la_rpath) $(libwayland_egl_la_OBJECTS) $(libwayland_egl_la_LIBADD) $(LIBS)
src/libwayland_private_la-connection.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)
src/libwayland_private_la-wayland-os.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)

libwayland-private.la: $(libwayland_private_la_OBJECTS) $(libwayland_private_la_DEPENDENCIES) $(EXTRA_libwayland_private_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libwayland_private_la_LINK) $(am_libwayland_private_la_rpath) $(libwayland_private_la_OBJECTS) $(libwayland_private_la_LIBADD) $(LIBS)
src/libwayland_server_la-wayland-server.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)
src/libwayland_server_la-wayland-shm.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)
src/libwayland_server_la-event-loop.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)
protocol/libwayland_server_la-wayland-protocol.lo:  \
	protocol/$(am__dirstamp) protocol/$(DEPDIR)/$(am__dirstamp)

libwayland-server.la: $(libwayland_server_la_OBJECTS) $(libwayland_server_la_DEPENDENCIES) $(EXTRA_libwayland_server_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libwayland_server_la_LINK) $(am_libwayland_server_la_rpath) $(libwayland_server_la_OBJECTS) $(libwayland_server_la_LIBADD) $(LIBS)
src/libwayland_util_la-wayland-util.lo: src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)

libwayland-util.la: $(libwayland_util_la_OBJECTS) $(libwayland_util_la_DEPENDENCIES) $(EXTRA_libwayland_util_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libwayland_util_la_LINK)  $(libwayland_util_la_OBJECTS) $(libwayland_util_la_LIBADD) $(LIBS)
install-binPROGRAMS: $(bin_PROGRAMS)
	@$(NORMAL_INSTALL)
	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
	fi; \
	for p in $$list; do echo "$$p $$p"; done | \
	sed 's/$(EXEEXT)$$//' | \
	while read p p1; do if test -f $$p \
	 || test -f $$p1 \
	  ; then echo "$$p"; echo "$$p"; else :; fi; \
	done | \
	sed -e 'p;s,.*/,,;n;h' \
	    -e 's|.*|.|' \
	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
	sed 'N;N;N;s,\n, ,g' | \
	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
	    else { print "f", $$3 "/" $$4, $$1; } } \
	  END { for (d in files) print "f", d, files[d] }' | \
	while read type dir files; do \
	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
	    test -z "$$files" || { \
	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
	    } \
	; done

uninstall-binPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
	files=`for p in $$list; do echo "$$p"; done | \
	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
	      -e 's/$$/$(EXEEXT)/' \
	`; \
	test -n "$$list" || exit 0; \
	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(bindir)" && rm -f $$files

clean-binPROGRAMS:
	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list

clean-checkPROGRAMS:
	@list='$(check_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list

clean-noinstPROGRAMS:
	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
tests/array-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

array-test$(EXEEXT): $(array_test_OBJECTS) $(array_test_DEPENDENCIES) $(EXTRA_array_test_DEPENDENCIES) 
	@rm -f array-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(array_test_OBJECTS) $(array_test_LDADD) $(LIBS)
tests/client-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

client-test$(EXEEXT): $(client_test_OBJECTS) $(client_test_DEPENDENCIES) $(EXTRA_client_test_DEPENDENCIES) 
	@rm -f client-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(client_test_OBJECTS) $(client_test_LDADD) $(LIBS)
tests/compositor-introspection-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

compositor-introspection-test$(EXEEXT): $(compositor_introspection_test_OBJECTS) $(compositor_introspection_test_DEPENDENCIES) $(EXTRA_compositor_introspection_test_DEPENDENCIES) 
	@rm -f compositor-introspection-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(compositor_introspection_test_OBJECTS) $(compositor_introspection_test_LDADD) $(LIBS)
tests/connection-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

connection-test$(EXEEXT): $(connection_test_OBJECTS) $(connection_test_DEPENDENCIES) $(EXTRA_connection_test_DEPENDENCIES) 
	@rm -f connection-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(connection_test_OBJECTS) $(connection_test_LDADD) $(LIBS)
tests/cpp-compile-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

cpp-compile-test$(EXEEXT): $(cpp_compile_test_OBJECTS) $(cpp_compile_test_DEPENDENCIES) $(EXTRA_cpp_compile_test_DEPENDENCIES) 
	@rm -f cpp-compile-test$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(cpp_compile_test_OBJECTS) $(cpp_compile_test_LDADD) $(LIBS)
tests/display-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)
protocol/tests-protocol.$(OBJEXT): protocol/$(am__dirstamp) \
	protocol/$(DEPDIR)/$(am__dirstamp)

display-test$(EXEEXT): $(display_test_OBJECTS) $(display_test_DEPENDENCIES) $(EXTRA_display_test_DEPENDENCIES) 
	@rm -f display-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(display_test_OBJECTS) $(display_test_LDADD) $(LIBS)
tests/event-loop-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

event-loop-test$(EXEEXT): $(event_loop_test_OBJECTS) $(event_loop_test_DEPENDENCIES) $(EXTRA_event_loop_test_DEPENDENCIES) 
	@rm -f event-loop-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(event_loop_test_OBJECTS) $(event_loop_test_LDADD) $(LIBS)
tests/exec-fd-leak-checker.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

exec-fd-leak-checker$(EXEEXT): $(exec_fd_leak_checker_OBJECTS) $(exec_fd_leak_checker_DEPENDENCIES) $(EXTRA_exec_fd_leak_checker_DEPENDENCIES) 
	@rm -f exec-fd-leak-checker$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(exec_fd_leak_checker_OBJECTS) $(exec_fd_leak_checker_LDADD) $(LIBS)
tests/fixed-benchmark.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

fixed-benchmark$(EXEEXT): $(fixed_benchmark_OBJECTS) $(fixed_benchmark_DEPENDENCIES) $(EXTRA_fixed_benchmark_DEPENDENCIES) 
	@rm -f fixed-benchmark$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fixed_benchmark_OBJECTS) $(fixed_benchmark_LDADD) $(LIBS)
tests/fixed-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

fixed-test$(EXEEXT): $(fixed_test_OBJECTS) $(fixed_test_DEPENDENCIES) $(EXTRA_fixed_test_DEPENDENCIES) 
	@rm -f fixed-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fixed_test_OBJECTS) $(fixed_test_LDADD) $(LIBS)
tests/headers-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)
tests/headers-protocol-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)
tests/headers-protocol-core-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

headers-test$(EXEEXT): $(headers_test_OBJECTS) $(headers_test_DEPENDENCIES) $(EXTRA_headers_test_DEPENDENCIES) 
	@rm -f headers-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(headers_test_OBJECTS) $(headers_test_LDADD) $(LIBS)
tests/interface-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

interface-test$(EXEEXT): $(interface_test_OBJECTS) $(interface_test_DEPENDENCIES) $(EXTRA_interface_test_DEPENDENCIES) 
	@rm -f interface-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(interface_test_OBJECTS) $(interface_test_LDADD) $(LIBS)
tests/list-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

list-test$(EXEEXT): $(list_test_OBJECTS) $(list_test_DEPENDENCIES) $(EXTRA_list_test_DEPENDENCIES) 
	@rm -f list-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(list_test_OBJECTS) $(list_test_LDADD) $(LIBS)
tests/map-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

map-test$(EXEEXT): $(map_test_OBJECTS) $(map_test_DEPENDENCIES) $(EXTRA_map_test_DEPENDENCIES) 
	@rm -f map-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(map_test_OBJECTS) $(map_test_LDADD) $(LIBS)
tests/message-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

message-test$(EXEEXT): $(message_test_OBJECTS) $(message_test_DEPENDENCIES) $(EXTRA_message_test_DEPENDENCIES) 
	@rm -f message-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(message_test_OBJECTS) $(message_test_LDADD) $(LIBS)
tests/newsignal-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)
src/wayland-server.$(OBJEXT): src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)

newsignal-test$(EXEEXT): $(newsignal_test_OBJECTS) $(newsignal_test_DEPENDENCIES) $(EXTRA_newsignal_test_DEPENDENCIES) 
	@rm -f newsignal-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(newsignal_test_OBJECTS) $(newsignal_test_LDADD) $(LIBS)
tests/os-wrappers-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

os-wrappers-test$(EXEEXT): $(os_wrappers_test_OBJECTS) $(os_wrappers_test_DEPENDENCIES) $(EXTRA_os_wrappers_test_DEPENDENCIES) 
	@rm -f os-wrappers-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(os_wrappers_test_OBJECTS) $(os_wrappers_test_LDADD) $(LIBS)
tests/protocol-logger-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

protocol-logger-test$(EXEEXT): $(protocol_logger_test_OBJECTS) $(protocol_logger_test_DEPENDENCIES) $(EXTRA_protocol_logger_test_DEPENDENCIES) 
	@rm -f protocol-logger-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(protocol_logger_test_OBJECTS) $(protocol_logger_test_LDADD) $(LIBS)
tests/queue-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

queue-test$(EXEEXT): $(queue_test_OBJECTS) $(queue_test_DEPENDENCIES) $(EXTRA_queue_test_DEPENDENCIES) 
	@rm -f queue-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(queue_test_OBJECTS) $(queue_test_LDADD) $(LIBS)
tests/resources-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

resources-test$(EXEEXT): $(resources_test_OBJECTS) $(resources_test_DEPENDENCIES) $(EXTRA_resources_test_DEPENDENCIES) 
	@rm -f resources-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(resources_test_OBJECTS) $(resources_test_LDADD) $(LIBS)
tests/sanity-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

sanity-test$(EXEEXT): $(sanity_test_OBJECTS) $(sanity_test_DEPENDENCIES) $(EXTRA_sanity_test_DEPENDENCIES) 
	@rm -f sanity-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sanity_test_OBJECTS) $(sanity_test_LDADD) $(LIBS)
tests/signal-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

signal-test$(EXEEXT): $(signal_test_OBJECTS) $(signal_test_DEPENDENCIES) $(EXTRA_signal_test_DEPENDENCIES) 
	@rm -f signal-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(signal_test_OBJECTS) $(signal_test_LDADD) $(LIBS)
tests/socket-test.$(OBJEXT): tests/$(am__dirstamp) \
	tests/$(DEPDIR)/$(am__dirstamp)

socket-test$(EXEEXT): $(socket_test_OBJECTS) $(socket_test_DEPENDENCIES) $(EXTRA_socket_test_DEPENDENCIES) 
	@rm -f socket-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(socket_test_OBJECTS) $(socket_test_LDADD) $(LIBS)
egl/wayland-egl-abi-check.$(OBJEXT): egl/$(am__dirstamp) \
	egl/$(DEPDIR)/$(am__dirstamp)

wayland-egl-abi-check$(EXEEXT): $(wayland_egl_abi_check_OBJECTS) $(wayland_egl_abi_check_DEPENDENCIES) $(EXTRA_wayland_egl_abi_check_DEPENDENCIES) 
	@rm -f wayland-egl-abi-check$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(wayland_egl_abi_check_OBJECTS) $(wayland_egl_abi_check_LDADD) $(LIBS)
src/wayland_scanner-scanner.$(OBJEXT): src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)
src/dtddata.$(OBJEXT): src/$(am__dirstamp) \
	src/$(DEPDIR)/$(am__dirstamp)

wayland-scanner$(EXEEXT): $(wayland_scanner_OBJECTS) $(wayland_scanner_DEPENDENCIES) $(EXTRA_wayland_scanner_DEPENDENCIES) 
	@rm -f wayland-scanner$(EXEEXT)
	$(AM_V_CCLD)$(wayland_scanner_LINK) $(wayland_scanner_OBJECTS) $(wayland_scanner_LDADD) $(LIBS)

mostlyclean-compile:
	-rm -f *.$(OBJEXT)
	-rm -f cursor/*.$(OBJEXT)
	-rm -f cursor/*.lo
	-rm -f egl/*.$(OBJEXT)
	-rm -f egl/*.lo
	-rm -f protocol/*.$(OBJEXT)
	-rm -f protocol/*.lo
	-rm -f src/*.$(OBJEXT)
	-rm -f src/*.lo
	-rm -f tests/*.$(OBJEXT)
	-rm -f tests/*.lo

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

@AMDEP_TRUE@@am__include@ @am__quote@cursor/$(DEPDIR)/libwayland_cursor_la-os-compatibility.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@cursor/$(DEPDIR)/libwayland_cursor_la-wayland-cursor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@cursor/$(DEPDIR)/libwayland_cursor_la-xcursor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@egl/$(DEPDIR)/wayland-egl-abi-check.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@egl/$(DEPDIR)/wayland-egl.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@protocol/$(DEPDIR)/libwayland_client_la-wayland-protocol.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@protocol/$(DEPDIR)/libwayland_server_la-wayland-protocol.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@protocol/$(DEPDIR)/tests-protocol.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/dtddata.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libwayland_client_la-wayland-client.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libwayland_private_la-connection.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libwayland_private_la-wayland-os.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libwayland_server_la-event-loop.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libwayland_server_la-wayland-server.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libwayland_server_la-wayland-shm.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libwayland_util_la-wayland-util.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/wayland-server.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/wayland_scanner-scanner.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/array-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/client-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/compositor-introspection-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/connection-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/cpp-compile-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/display-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/event-loop-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/exec-fd-leak-checker.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/fixed-benchmark.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/fixed-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/headers-protocol-core-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/headers-protocol-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/headers-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/interface-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/list-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/map-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/message-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/newsignal-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/os-wrappers-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/protocol-logger-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/queue-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/resources-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/sanity-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/signal-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/socket-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test-compositor.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test-helpers.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/test-runner.Plo@am__quote@

.S.o:
@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCCAS_TRUE@	$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ $<

.S.obj:
@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCCAS_TRUE@	$(CPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(CPPASCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.S.lo:
@am__fastdepCCAS_TRUE@	$(AM_V_CPPAS)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCCAS_TRUE@	$(LTCPPASCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCCAS_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCCAS_FALSE@	DEPDIR=$(DEPDIR) $(CCASDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCCAS_FALSE@	$(AM_V_CPPAS@am__nodep@)$(LTCPPASCOMPILE) -c -o $@ $<

.c.o:
@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<

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

.c.lo:
@am__fastdepCC_TRUE@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCC_TRUE@	$(LTCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<

src/libwayland_client_la-wayland-client.lo: src/wayland-client.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_client_la_CFLAGS) $(CFLAGS) -MT src/libwayland_client_la-wayland-client.lo -MD -MP -MF src/$(DEPDIR)/libwayland_client_la-wayland-client.Tpo -c -o src/libwayland_client_la-wayland-client.lo `test -f 'src/wayland-client.c' || echo '$(srcdir)/'`src/wayland-client.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) src/$(DEPDIR)/libwayland_client_la-wayland-client.Tpo src/$(DEPDIR)/libwayland_client_la-wayland-client.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='src/wayland-client.c' object='src/libwayland_client_la-wayland-client.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_client_la_CFLAGS) $(CFLAGS) -c -o src/libwayland_client_la-wayland-client.lo `test -f 'src/wayland-client.c' || echo '$(srcdir)/'`src/wayland-client.c

protocol/libwayland_client_la-wayland-protocol.lo: protocol/wayland-protocol.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_client_la_CFLAGS) $(CFLAGS) -MT protocol/libwayland_client_la-wayland-protocol.lo -MD -MP -MF protocol/$(DEPDIR)/libwayland_client_la-wayland-protocol.Tpo -c -o protocol/libwayland_client_la-wayland-protocol.lo `test -f 'protocol/wayland-protocol.c' || echo '$(srcdir)/'`protocol/wayland-protocol.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) protocol/$(DEPDIR)/libwayland_client_la-wayland-protocol.Tpo protocol/$(DEPDIR)/libwayland_client_la-wayland-protocol.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='protocol/wayland-protocol.c' object='protocol/libwayland_client_la-wayland-protocol.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_client_la_CFLAGS) $(CFLAGS) -c -o protocol/libwayland_client_la-wayland-protocol.lo `test -f 'protocol/wayland-protocol.c' || echo '$(srcdir)/'`protocol/wayland-protocol.c

cursor/libwayland_cursor_la-wayland-cursor.lo: cursor/wayland-cursor.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_cursor_la_CFLAGS) $(CFLAGS) -MT cursor/libwayland_cursor_la-wayland-cursor.lo -MD -MP -MF cursor/$(DEPDIR)/libwayland_cursor_la-wayland-cursor.Tpo -c -o cursor/libwayland_cursor_la-wayland-cursor.lo `test -f 'cursor/wayland-cursor.c' || echo '$(srcdir)/'`cursor/wayland-cursor.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) cursor/$(DEPDIR)/libwayland_cursor_la-wayland-cursor.Tpo cursor/$(DEPDIR)/libwayland_cursor_la-wayland-cursor.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='cursor/wayland-cursor.c' object='cursor/libwayland_cursor_la-wayland-cursor.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_cursor_la_CFLAGS) $(CFLAGS) -c -o cursor/libwayland_cursor_la-wayland-cursor.lo `test -f 'cursor/wayland-cursor.c' || echo '$(srcdir)/'`cursor/wayland-cursor.c

cursor/libwayland_cursor_la-os-compatibility.lo: cursor/os-compatibility.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_cursor_la_CFLAGS) $(CFLAGS) -MT cursor/libwayland_cursor_la-os-compatibility.lo -MD -MP -MF cursor/$(DEPDIR)/libwayland_cursor_la-os-compatibility.Tpo -c -o cursor/libwayland_cursor_la-os-compatibility.lo `test -f 'cursor/os-compatibility.c' || echo '$(srcdir)/'`cursor/os-compatibility.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) cursor/$(DEPDIR)/libwayland_cursor_la-os-compatibility.Tpo cursor/$(DEPDIR)/libwayland_cursor_la-os-compatibility.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='cursor/os-compatibility.c' object='cursor/libwayland_cursor_la-os-compatibility.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_cursor_la_CFLAGS) $(CFLAGS) -c -o cursor/libwayland_cursor_la-os-compatibility.lo `test -f 'cursor/os-compatibility.c' || echo '$(srcdir)/'`cursor/os-compatibility.c

cursor/libwayland_cursor_la-xcursor.lo: cursor/xcursor.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_cursor_la_CFLAGS) $(CFLAGS) -MT cursor/libwayland_cursor_la-xcursor.lo -MD -MP -MF cursor/$(DEPDIR)/libwayland_cursor_la-xcursor.Tpo -c -o cursor/libwayland_cursor_la-xcursor.lo `test -f 'cursor/xcursor.c' || echo '$(srcdir)/'`cursor/xcursor.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) cursor/$(DEPDIR)/libwayland_cursor_la-xcursor.Tpo cursor/$(DEPDIR)/libwayland_cursor_la-xcursor.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='cursor/xcursor.c' object='cursor/libwayland_cursor_la-xcursor.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_cursor_la_CFLAGS) $(CFLAGS) -c -o cursor/libwayland_cursor_la-xcursor.lo `test -f 'cursor/xcursor.c' || echo '$(srcdir)/'`cursor/xcursor.c

src/libwayland_private_la-connection.lo: src/connection.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_private_la_CFLAGS) $(CFLAGS) -MT src/libwayland_private_la-connection.lo -MD -MP -MF src/$(DEPDIR)/libwayland_private_la-connection.Tpo -c -o src/libwayland_private_la-connection.lo `test -f 'src/connection.c' || echo '$(srcdir)/'`src/connection.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) src/$(DEPDIR)/libwayland_private_la-connection.Tpo src/$(DEPDIR)/libwayland_private_la-connection.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='src/connection.c' object='src/libwayland_private_la-connection.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_private_la_CFLAGS) $(CFLAGS) -c -o src/libwayland_private_la-connection.lo `test -f 'src/connection.c' || echo '$(srcdir)/'`src/connection.c

src/libwayland_private_la-wayland-os.lo: src/wayland-os.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_private_la_CFLAGS) $(CFLAGS) -MT src/libwayland_private_la-wayland-os.lo -MD -MP -MF src/$(DEPDIR)/libwayland_private_la-wayland-os.Tpo -c -o src/libwayland_private_la-wayland-os.lo `test -f 'src/wayland-os.c' || echo '$(srcdir)/'`src/wayland-os.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) src/$(DEPDIR)/libwayland_private_la-wayland-os.Tpo src/$(DEPDIR)/libwayland_private_la-wayland-os.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='src/wayland-os.c' object='src/libwayland_private_la-wayland-os.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_private_la_CFLAGS) $(CFLAGS) -c -o src/libwayland_private_la-wayland-os.lo `test -f 'src/wayland-os.c' || echo '$(srcdir)/'`src/wayland-os.c

src/libwayland_server_la-wayland-server.lo: src/wayland-server.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_server_la_CFLAGS) $(CFLAGS) -MT src/libwayland_server_la-wayland-server.lo -MD -MP -MF src/$(DEPDIR)/libwayland_server_la-wayland-server.Tpo -c -o src/libwayland_server_la-wayland-server.lo `test -f 'src/wayland-server.c' || echo '$(srcdir)/'`src/wayland-server.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) src/$(DEPDIR)/libwayland_server_la-wayland-server.Tpo src/$(DEPDIR)/libwayland_server_la-wayland-server.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='src/wayland-server.c' object='src/libwayland_server_la-wayland-server.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_server_la_CFLAGS) $(CFLAGS) -c -o src/libwayland_server_la-wayland-server.lo `test -f 'src/wayland-server.c' || echo '$(srcdir)/'`src/wayland-server.c

src/libwayland_server_la-wayland-shm.lo: src/wayland-shm.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_server_la_CFLAGS) $(CFLAGS) -MT src/libwayland_server_la-wayland-shm.lo -MD -MP -MF src/$(DEPDIR)/libwayland_server_la-wayland-shm.Tpo -c -o src/libwayland_server_la-wayland-shm.lo `test -f 'src/wayland-shm.c' || echo '$(srcdir)/'`src/wayland-shm.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) src/$(DEPDIR)/libwayland_server_la-wayland-shm.Tpo src/$(DEPDIR)/libwayland_server_la-wayland-shm.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='src/wayland-shm.c' object='src/libwayland_server_la-wayland-shm.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_server_la_CFLAGS) $(CFLAGS) -c -o src/libwayland_server_la-wayland-shm.lo `test -f 'src/wayland-shm.c' || echo '$(srcdir)/'`src/wayland-shm.c

src/libwayland_server_la-event-loop.lo: src/event-loop.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_server_la_CFLAGS) $(CFLAGS) -MT src/libwayland_server_la-event-loop.lo -MD -MP -MF src/$(DEPDIR)/libwayland_server_la-event-loop.Tpo -c -o src/libwayland_server_la-event-loop.lo `test -f 'src/event-loop.c' || echo '$(srcdir)/'`src/event-loop.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) src/$(DEPDIR)/libwayland_server_la-event-loop.Tpo src/$(DEPDIR)/libwayland_server_la-event-loop.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='src/event-loop.c' object='src/libwayland_server_la-event-loop.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_server_la_CFLAGS) $(CFLAGS) -c -o src/libwayland_server_la-event-loop.lo `test -f 'src/event-loop.c' || echo '$(srcdir)/'`src/event-loop.c

protocol/libwayland_server_la-wayland-protocol.lo: protocol/wayland-protocol.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_server_la_CFLAGS) $(CFLAGS) -MT protocol/libwayland_server_la-wayland-protocol.lo -MD -MP -MF protocol/$(DEPDIR)/libwayland_server_la-wayland-protocol.Tpo -c -o protocol/libwayland_server_la-wayland-protocol.lo `test -f 'protocol/wayland-protocol.c' || echo '$(srcdir)/'`protocol/wayland-protocol.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) protocol/$(DEPDIR)/libwayland_server_la-wayland-protocol.Tpo protocol/$(DEPDIR)/libwayland_server_la-wayland-protocol.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='protocol/wayland-protocol.c' object='protocol/libwayland_server_la-wayland-protocol.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_server_la_CFLAGS) $(CFLAGS) -c -o protocol/libwayland_server_la-wayland-protocol.lo `test -f 'protocol/wayland-protocol.c' || echo '$(srcdir)/'`protocol/wayland-protocol.c

src/libwayland_util_la-wayland-util.lo: src/wayland-util.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_util_la_CFLAGS) $(CFLAGS) -MT src/libwayland_util_la-wayland-util.lo -MD -MP -MF src/$(DEPDIR)/libwayland_util_la-wayland-util.Tpo -c -o src/libwayland_util_la-wayland-util.lo `test -f 'src/wayland-util.c' || echo '$(srcdir)/'`src/wayland-util.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) src/$(DEPDIR)/libwayland_util_la-wayland-util.Tpo src/$(DEPDIR)/libwayland_util_la-wayland-util.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='src/wayland-util.c' object='src/libwayland_util_la-wayland-util.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libwayland_util_la_CFLAGS) $(CFLAGS) -c -o src/libwayland_util_la-wayland-util.lo `test -f 'src/wayland-util.c' || echo '$(srcdir)/'`src/wayland-util.c

src/wayland_scanner-scanner.o: src/scanner.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wayland_scanner_CFLAGS) $(CFLAGS) -MT src/wayland_scanner-scanner.o -MD -MP -MF src/$(DEPDIR)/wayland_scanner-scanner.Tpo -c -o src/wayland_scanner-scanner.o `test -f 'src/scanner.c' || echo '$(srcdir)/'`src/scanner.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) src/$(DEPDIR)/wayland_scanner-scanner.Tpo src/$(DEPDIR)/wayland_scanner-scanner.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='src/scanner.c' object='src/wayland_scanner-scanner.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wayland_scanner_CFLAGS) $(CFLAGS) -c -o src/wayland_scanner-scanner.o `test -f 'src/scanner.c' || echo '$(srcdir)/'`src/scanner.c

src/wayland_scanner-scanner.obj: src/scanner.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wayland_scanner_CFLAGS) $(CFLAGS) -MT src/wayland_scanner-scanner.obj -MD -MP -MF src/$(DEPDIR)/wayland_scanner-scanner.Tpo -c -o src/wayland_scanner-scanner.obj `if test -f 'src/scanner.c'; then $(CYGPATH_W) 'src/scanner.c'; else $(CYGPATH_W) '$(srcdir)/src/scanner.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) src/$(DEPDIR)/wayland_scanner-scanner.Tpo src/$(DEPDIR)/wayland_scanner-scanner.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='src/scanner.c' object='src/wayland_scanner-scanner.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(wayland_scanner_CFLAGS) $(CFLAGS) -c -o src/wayland_scanner-scanner.obj `if test -f 'src/scanner.c'; then $(CYGPATH_W) 'src/scanner.c'; else $(CYGPATH_W) '$(srcdir)/src/scanner.c'; fi`

.cpp.o:
@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<

.cpp.obj:
@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.obj$$||'`;\
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ `$(CYGPATH_W) '$<'` &&\
@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.cpp.lo:
@am__fastdepCXX_TRUE@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.lo$$||'`;\
@am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(LTCXXCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
	-rm -rf cursor/.libs cursor/_libs
	-rm -rf egl/.libs egl/_libs
	-rm -rf protocol/.libs protocol/_libs
	-rm -rf src/.libs src/_libs
	-rm -rf tests/.libs tests/_libs

distclean-libtool:
	-rm -f libtool config.lt
install-dist_aclocalDATA: $(dist_aclocal_DATA)
	@$(NORMAL_INSTALL)
	@list='$(dist_aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(aclocaldir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(aclocaldir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(aclocaldir)'"; \
	  $(INSTALL_DATA) $$files "$(DESTDIR)$(aclocaldir)" || exit $$?; \
	done

uninstall-dist_aclocalDATA:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_aclocal_DATA)'; test -n "$(aclocaldir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(aclocaldir)'; $(am__uninstall_files_from_dir)
install-dist_pkgdataDATA: $(dist_pkgdata_DATA)
	@$(NORMAL_INSTALL)
	@list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgdatadir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(pkgdatadir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgdatadir)'"; \
	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgdatadir)" || exit $$?; \
	done

uninstall-dist_pkgdataDATA:
	@$(NORMAL_UNINSTALL)
	@list='$(dist_pkgdata_DATA)'; test -n "$(pkgdatadir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(pkgdatadir)'; $(am__uninstall_files_from_dir)
install-pkgconfigDATA: $(pkgconfig_DATA)
	@$(NORMAL_INSTALL)
	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
	  $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
	done

uninstall-pkgconfigDATA:
	@$(NORMAL_UNINSTALL)
	@list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
install-includeHEADERS: $(include_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
	done

uninstall-includeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)
install-nodist_includeHEADERS: $(nodist_include_HEADERS)
	@$(NORMAL_INSTALL)
	@list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(includedir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(includedir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(includedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(includedir)" || exit $$?; \
	done

uninstall-nodist_includeHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(nodist_include_HEADERS)'; test -n "$(includedir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(includedir)'; $(am__uninstall_files_from_dir)

# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
# To change the values of 'make' variables: instead of editing Makefiles,
# (1) if the variable is set in 'config.status', edit 'config.status'
#     (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
$(am__recursive_targets):
	@fail=; \
	if $(am__make_keepgoing); then \
	  failcom='fail=yes'; \
	else \
	  failcom='exit 1'; \
	fi; \
	dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	case "$@" in \
	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
	  *) list='$(SUBDIRS)' ;; \
	esac; \
	for subdir in $$list; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
	fi; test -z "$$fail"

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

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
	  include_option=--etags-include; \
	  empty_fix=.; \
	else \
	  include_option=--include; \
	  empty_fix=; \
	fi; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test ! -f $$subdir/TAGS || \
	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
	  fi; \
	done; \
	$(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-recursive

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"
cscope: cscope.files
	test ! -s cscope.files \
	  || $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
clean-cscope:
	-rm -f cscope.files
cscope.files: clean-cscope cscopelist
cscopelist: cscopelist-recursive

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
	-rm -f cscope.out cscope.in.out cscope.po.out cscope.files

# Recover from deleted '.trs' file; this should ensure that
# "rm -f foo.log; make foo.trs" re-run 'foo.test', and re-create
# both 'foo.log' and 'foo.trs'.  Break the recipe in two subshells
# to avoid problems with "make -n".
.log.trs:
	rm -f $< $@
	$(MAKE) $(AM_MAKEFLAGS) $<

# Leading 'am--fnord' is there to ensure the list of targets does not
# expand to empty, as could happen e.g. with make check TESTS=''.
am--fnord $(TEST_LOGS) $(TEST_LOGS:.log=.trs): $(am__force_recheck)
am--force-recheck:
	@:

$(TEST_SUITE_LOG): $(TEST_LOGS)
	@$(am__set_TESTS_bases); \
	am__f_ok () { test -f "$$1" && test -r "$$1"; }; \
	redo_bases=`for i in $$bases; do \
	              am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \
	            done`; \
	if test -n "$$redo_bases"; then \
	  redo_logs=`for i in $$redo_bases; do echo $$i.log; done`; \
	  redo_results=`for i in $$redo_bases; do echo $$i.trs; done`; \
	  if $(am__make_dryrun); then :; else \
	    rm -f $$redo_logs && rm -f $$redo_results || exit 1; \
	  fi; \
	fi; \
	if test -n "$$am__remaking_logs"; then \
	  echo "fatal: making $(TEST_SUITE_LOG): possible infinite" \
	       "recursion detected" >&2; \
	elif test -n "$$redo_logs"; then \
	  am__remaking_logs=yes $(MAKE) $(AM_MAKEFLAGS) $$redo_logs; \
	fi; \
	if $(am__make_dryrun); then :; else \
	  st=0;  \
	  errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \
	  for i in $$redo_bases; do \
	    test -f $$i.trs && test -r $$i.trs \
	      || { echo "$$errmsg $$i.trs" >&2; st=1; }; \
	    test -f $$i.log && test -r $$i.log \
	      || { echo "$$errmsg $$i.log" >&2; st=1; }; \
	  done; \
	  test $$st -eq 0 || exit 1; \
	fi
	@$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \
	ws='[ 	]'; \
	results=`for b in $$bases; do echo $$b.trs; done`; \
	test -n "$$results" || results=/dev/null; \
	all=`  grep "^$$ws*:test-result:"           $$results | wc -l`; \
	pass=` grep "^$$ws*:test-result:$$ws*PASS"  $$results | wc -l`; \
	fail=` grep "^$$ws*:test-result:$$ws*FAIL"  $$results | wc -l`; \
	skip=` grep "^$$ws*:test-result:$$ws*SKIP"  $$results | wc -l`; \
	xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \
	xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \
	error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \
	if test `expr $$fail + $$xpass + $$error` -eq 0; then \
	  success=true; \
	else \
	  success=false; \
	fi; \
	br='==================='; br=$$br$$br$$br$$br; \
	result_count () \
	{ \
	    if test x"$$1" = x"--maybe-color"; then \
	      maybe_colorize=yes; \
	    elif test x"$$1" = x"--no-color"; then \
	      maybe_colorize=no; \
	    else \
	      echo "$@: invalid 'result_count' usage" >&2; exit 4; \
	    fi; \
	    shift; \
	    desc=$$1 count=$$2; \
	    if test $$maybe_colorize = yes && test $$count -gt 0; then \
	      color_start=$$3 color_end=$$std; \
	    else \
	      color_start= color_end=; \
	    fi; \
	    echo "$${color_start}# $$desc $$count$${color_end}"; \
	}; \
	create_testsuite_report () \
	{ \
	  result_count $$1 "TOTAL:" $$all   "$$brg"; \
	  result_count $$1 "PASS: " $$pass  "$$grn"; \
	  result_count $$1 "SKIP: " $$skip  "$$blu"; \
	  result_count $$1 "XFAIL:" $$xfail "$$lgn"; \
	  result_count $$1 "FAIL: " $$fail  "$$red"; \
	  result_count $$1 "XPASS:" $$xpass "$$red"; \
	  result_count $$1 "ERROR:" $$error "$$mgn"; \
	}; \
	{								\
	  echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" |	\
	    $(am__rst_title);						\
	  create_testsuite_report --no-color;				\
	  echo;								\
	  echo ".. contents:: :depth: 2";				\
	  echo;								\
	  for b in $$bases; do echo $$b; done				\
	    | $(am__create_global_log);					\
	} >$(TEST_SUITE_LOG).tmp || exit 1;				\
	mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG);			\
	if $$success; then						\
	  col="$$grn";							\
	 else								\
	  col="$$red";							\
	  test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG);		\
	fi;								\
	echo "$${col}$$br$${std}"; 					\
	echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}";	\
	echo "$${col}$$br$${std}"; 					\
	create_testsuite_report --maybe-color;				\
	echo "$$col$$br$$std";						\
	if $$success; then :; else					\
	  echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}";		\
	  if test -n "$(PACKAGE_BUGREPORT)"; then			\
	    echo "$${col}Please report to $(PACKAGE_BUGREPORT)$${std}";	\
	  fi;								\
	  echo "$$col$$br$$std";					\
	fi;								\
	$$success || exit 1

check-TESTS:
	@list='$(RECHECK_LOGS)';           test -z "$$list" || rm -f $$list
	@list='$(RECHECK_LOGS:.log=.trs)'; test -z "$$list" || rm -f $$list
	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
	@set +e; $(am__set_TESTS_bases); \
	log_list=`for i in $$bases; do echo $$i.log; done`; \
	trs_list=`for i in $$bases; do echo $$i.trs; done`; \
	log_list=`echo $$log_list`; trs_list=`echo $$trs_list`; \
	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \
	exit $$?;
recheck: all $(check_PROGRAMS)
	@test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)
	@set +e; $(am__set_TESTS_bases); \
	bases=`for i in $$bases; do echo $$i; done \
	         | $(am__list_recheck_tests)` || exit 1; \
	log_list=`for i in $$bases; do echo $$i.log; done`; \
	log_list=`echo $$log_list`; \
	$(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) \
	        am__force_recheck=am--force-recheck \
	        TEST_LOGS="$$log_list"; \
	exit $$?
array-test.log: array-test$(EXEEXT)
	@p='array-test$(EXEEXT)'; \
	b='array-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
client-test.log: client-test$(EXEEXT)
	@p='client-test$(EXEEXT)'; \
	b='client-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
display-test.log: display-test$(EXEEXT)
	@p='display-test$(EXEEXT)'; \
	b='display-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
connection-test.log: connection-test$(EXEEXT)
	@p='connection-test$(EXEEXT)'; \
	b='connection-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
event-loop-test.log: event-loop-test$(EXEEXT)
	@p='event-loop-test$(EXEEXT)'; \
	b='event-loop-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
fixed-test.log: fixed-test$(EXEEXT)
	@p='fixed-test$(EXEEXT)'; \
	b='fixed-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
interface-test.log: interface-test$(EXEEXT)
	@p='interface-test$(EXEEXT)'; \
	b='interface-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
list-test.log: list-test$(EXEEXT)
	@p='list-test$(EXEEXT)'; \
	b='list-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
map-test.log: map-test$(EXEEXT)
	@p='map-test$(EXEEXT)'; \
	b='map-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
os-wrappers-test.log: os-wrappers-test$(EXEEXT)
	@p='os-wrappers-test$(EXEEXT)'; \
	b='os-wrappers-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
sanity-test.log: sanity-test$(EXEEXT)
	@p='sanity-test$(EXEEXT)'; \
	b='sanity-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
socket-test.log: socket-test$(EXEEXT)
	@p='socket-test$(EXEEXT)'; \
	b='socket-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
queue-test.log: queue-test$(EXEEXT)
	@p='queue-test$(EXEEXT)'; \
	b='queue-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
signal-test.log: signal-test$(EXEEXT)
	@p='signal-test$(EXEEXT)'; \
	b='signal-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
newsignal-test.log: newsignal-test$(EXEEXT)
	@p='newsignal-test$(EXEEXT)'; \
	b='newsignal-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
resources-test.log: resources-test$(EXEEXT)
	@p='resources-test$(EXEEXT)'; \
	b='resources-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
message-test.log: message-test$(EXEEXT)
	@p='message-test$(EXEEXT)'; \
	b='message-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
headers-test.log: headers-test$(EXEEXT)
	@p='headers-test$(EXEEXT)'; \
	b='headers-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
compositor-introspection-test.log: compositor-introspection-test$(EXEEXT)
	@p='compositor-introspection-test$(EXEEXT)'; \
	b='compositor-introspection-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
protocol-logger-test.log: protocol-logger-test$(EXEEXT)
	@p='protocol-logger-test$(EXEEXT)'; \
	b='protocol-logger-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
wayland-egl-abi-check.log: wayland-egl-abi-check$(EXEEXT)
	@p='wayland-egl-abi-check$(EXEEXT)'; \
	b='wayland-egl-abi-check'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
cpp-compile-test.log: cpp-compile-test$(EXEEXT)
	@p='cpp-compile-test$(EXEEXT)'; \
	b='cpp-compile-test'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
egl/wayland-egl-symbols-check.log: egl/wayland-egl-symbols-check
	@p='egl/wayland-egl-symbols-check'; \
	b='egl/wayland-egl-symbols-check'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
tests/scanner-test.sh.log: tests/scanner-test.sh
	@p='tests/scanner-test.sh'; \
	b='tests/scanner-test.sh'; \
	$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
.test.log:
	@p='$<'; \
	$(am__set_b); \
	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
	--log-file $$b.log --trs-file $$b.trs \
	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
	"$$tst" $(AM_TESTS_FD_REDIRECT)
@am__EXEEXT_TRUE@.test$(EXEEXT).log:
@am__EXEEXT_TRUE@	@p='$<'; \
@am__EXEEXT_TRUE@	$(am__set_b); \
@am__EXEEXT_TRUE@	$(am__check_pre) $(TEST_LOG_DRIVER) --test-name "$$f" \
@am__EXEEXT_TRUE@	--log-file $$b.log --trs-file $$b.trs \
@am__EXEEXT_TRUE@	$(am__common_driver_flags) $(AM_TEST_LOG_DRIVER_FLAGS) $(TEST_LOG_DRIVER_FLAGS) -- $(TEST_LOG_COMPILE) \
@am__EXEEXT_TRUE@	"$$tst" $(AM_TESTS_FD_REDIRECT)

distdir: $(DISTFILES)
	$(am__remove_distdir)
	test -d "$(distdir)" || mkdir "$(distdir)"
	@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
	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    $(am__make_dryrun) \
	      || test -d "$(distdir)/$$subdir" \
	      || $(MKDIR_P) "$(distdir)/$$subdir" \
	      || exit 1; \
	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
	    $(am__relativize); \
	    new_distdir=$$reldir; \
	    dir1=$$subdir; dir2="$(top_distdir)"; \
	    $(am__relativize); \
	    new_top_distdir=$$reldir; \
	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
	    ($(am__cd) $$subdir && \
	      $(MAKE) $(AM_MAKEFLAGS) \
	        top_distdir="$$new_top_distdir" \
	        distdir="$$new_distdir" \
		am__remove_distdir=: \
		am__skip_length_check=: \
		am__skip_mode_fix=: \
	        distdir) \
	      || exit 1; \
	  fi; \
	done
	-test -n "$(am__skip_mode_fix)" \
	|| find "$(distdir)" -type d ! -perm -755 \
		-exec chmod u+rwx,go+rx {} \; -o \
	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
	|| chmod -R a+r "$(distdir)"
dist-gzip: distdir
	tardir=$(distdir) && $(am__tar) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).tar.gz
	$(am__post_remove_distdir)

dist-bzip2: distdir
	tardir=$(distdir) && $(am__tar) | BZIP2=$${BZIP2--9} bzip2 -c >$(distdir).tar.bz2
	$(am__post_remove_distdir)

dist-lzip: distdir
	tardir=$(distdir) && $(am__tar) | lzip -c $${LZIP_OPT--9} >$(distdir).tar.lz
	$(am__post_remove_distdir)
dist-xz: distdir
	tardir=$(distdir) && $(am__tar) | XZ_OPT=$${XZ_OPT--e} xz -c >$(distdir).tar.xz
	$(am__post_remove_distdir)

dist-tarZ: distdir
	@echo WARNING: "Support for distribution archives compressed with" \
		       "legacy program 'compress' is deprecated." >&2
	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
	$(am__post_remove_distdir)

dist-shar: distdir
	@echo WARNING: "Support for shar distribution archives is" \
	               "deprecated." >&2
	@echo WARNING: "It will be removed altogether in Automake 2.0" >&2
	shar $(distdir) | eval GZIP= gzip $(GZIP_ENV) -c >$(distdir).shar.gz
	$(am__post_remove_distdir)

dist-zip: distdir
	-rm -f $(distdir).zip
	zip -rq $(distdir).zip $(distdir)
	$(am__post_remove_distdir)

dist dist-all:
	$(MAKE) $(AM_MAKEFLAGS) $(DIST_TARGETS) am__post_remove_distdir='@:'
	$(am__post_remove_distdir)

# This target untars the dist file and tries a VPATH configuration.  Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
	case '$(DIST_ARCHIVES)' in \
	*.tar.gz*) \
	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).tar.gz | $(am__untar) ;;\
	*.tar.bz2*) \
	  bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
	*.tar.lz*) \
	  lzip -dc $(distdir).tar.lz | $(am__untar) ;;\
	*.tar.xz*) \
	  xz -dc $(distdir).tar.xz | $(am__untar) ;;\
	*.tar.Z*) \
	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
	*.shar.gz*) \
	  eval GZIP= gzip $(GZIP_ENV) -dc $(distdir).shar.gz | unshar ;;\
	*.zip*) \
	  unzip $(distdir).zip ;;\
	esac
	chmod -R a-w $(distdir)
	chmod u+w $(distdir)
	mkdir $(distdir)/_build $(distdir)/_build/sub $(distdir)/_inst
	chmod a-w $(distdir)
	test -d $(distdir)/_build || exit 0; \
	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
	  && am__cwd=`pwd` \
	  && $(am__cd) $(distdir)/_build/sub \
	  && ../../configure \
	    $(AM_DISTCHECK_CONFIGURE_FLAGS) \
	    $(DISTCHECK_CONFIGURE_FLAGS) \
	    --srcdir=../.. --prefix="$$dc_install_base" \
	  && $(MAKE) $(AM_MAKEFLAGS) \
	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
	  && $(MAKE) $(AM_MAKEFLAGS) check \
	  && $(MAKE) $(AM_MAKEFLAGS) install \
	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
	        distuninstallcheck \
	  && chmod -R a-w "$$dc_install_base" \
	  && ({ \
	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
	  && rm -rf "$$dc_destdir" \
	  && $(MAKE) $(AM_MAKEFLAGS) dist \
	  && rm -rf $(DIST_ARCHIVES) \
	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck \
	  && cd "$$am__cwd" \
	  || exit 1
	$(am__post_remove_distdir)
	@(echo "$(distdir) archives ready for distribution: "; \
	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
	@test -n '$(distuninstallcheck_dir)' || { \
	  echo 'ERROR: trying to run $@ with an empty' \
	       '$$(distuninstallcheck_dir)' >&2; \
	  exit 1; \
	}; \
	$(am__cd) '$(distuninstallcheck_dir)' || { \
	  echo 'ERROR: cannot chdir into $(distuninstallcheck_dir)' >&2; \
	  exit 1; \
	}; \
	test `$(am__distuninstallcheck_listfiles) | wc -l` -eq 0 \
	   || { echo "ERROR: files left after uninstall:" ; \
	        if test -n "$(DESTDIR)"; then \
	          echo "  (check DESTDIR support)"; \
	        fi ; \
	        $(distuninstallcheck_listfiles) ; \
	        exit 1; } >&2
distcleancheck: distclean
	@if test '$(srcdir)' = . ; then \
	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
	  exit 1 ; \
	fi
	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
	  || { echo "ERROR: files left in build directory after distclean:" ; \
	       $(distcleancheck_listfiles) ; \
	       exit 1; } >&2
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) check-recursive
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS) \
		config.h
install-binPROGRAMS: install-libLTLIBRARIES

installdirs: installdirs-recursive
installdirs-am:
	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(aclocaldir)" "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(includedir)" "$(DESTDIR)$(includedir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-recursive
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:
	-test -z "$(TEST_LOGS)" || rm -f $(TEST_LOGS)
	-test -z "$(TEST_LOGS:.log=.trs)" || rm -f $(TEST_LOGS:.log=.trs)
	-test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG)

clean-generic:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)

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)
	-rm -f cursor/$(DEPDIR)/$(am__dirstamp)
	-rm -f cursor/$(am__dirstamp)
	-rm -f egl/$(DEPDIR)/$(am__dirstamp)
	-rm -f egl/$(am__dirstamp)
	-rm -f protocol/$(DEPDIR)/$(am__dirstamp)
	-rm -f protocol/$(am__dirstamp)
	-rm -f src/$(DEPDIR)/$(am__dirstamp)
	-rm -f src/$(am__dirstamp)
	-rm -f tests/$(DEPDIR)/$(am__dirstamp)
	-rm -f tests/$(am__dirstamp)
	-test -z "$(DISTCLEANFILES)" || rm -f $(DISTCLEANFILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
@ENABLE_LIBRARIES_FALSE@clean-local:
clean: clean-recursive

clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
	clean-libLTLIBRARIES clean-libtool clean-local \
	clean-noinstLTLIBRARIES clean-noinstPROGRAMS mostlyclean-am

distclean: distclean-recursive
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf cursor/$(DEPDIR) egl/$(DEPDIR) protocol/$(DEPDIR) src/$(DEPDIR) tests/$(DEPDIR)
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-hdr distclean-libtool distclean-tags

dvi: dvi-recursive

dvi-am:

html: html-recursive

html-am:

info: info-recursive

info-am:

install-data-am: install-dist_aclocalDATA install-dist_pkgdataDATA \
	install-includeHEADERS install-nodist_includeHEADERS \
	install-pkgconfigDATA

install-dvi: install-dvi-recursive

install-dvi-am:

install-exec-am: install-binPROGRAMS install-libLTLIBRARIES

install-html: install-html-recursive

install-html-am:

install-info: install-info-recursive

install-info-am:

install-man:

install-pdf: install-pdf-recursive

install-pdf-am:

install-ps: install-ps-recursive

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-recursive
	-rm -f $(am__CONFIG_DISTCLEAN_FILES)
	-rm -rf $(top_srcdir)/autom4te.cache
	-rm -rf cursor/$(DEPDIR) egl/$(DEPDIR) protocol/$(DEPDIR) src/$(DEPDIR) tests/$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-recursive

mostlyclean-am: mostlyclean-compile mostlyclean-generic \
	mostlyclean-libtool

pdf: pdf-recursive

pdf-am:

ps: ps-recursive

ps-am:

uninstall-am: uninstall-binPROGRAMS uninstall-dist_aclocalDATA \
	uninstall-dist_pkgdataDATA uninstall-includeHEADERS \
	uninstall-libLTLIBRARIES uninstall-nodist_includeHEADERS \
	uninstall-pkgconfigDATA

.MAKE: $(am__recursive_targets) all check check-am install install-am \
	install-strip

.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
	am--refresh check check-TESTS check-am clean clean-binPROGRAMS \
	clean-checkPROGRAMS clean-cscope clean-generic \
	clean-libLTLIBRARIES clean-libtool clean-local \
	clean-noinstLTLIBRARIES clean-noinstPROGRAMS cscope \
	cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
	dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
	distcheck distclean distclean-compile distclean-generic \
	distclean-hdr distclean-libtool distclean-tags distcleancheck \
	distdir distuninstallcheck dvi dvi-am html html-am info \
	info-am install install-am install-binPROGRAMS install-data \
	install-data-am install-dist_aclocalDATA \
	install-dist_pkgdataDATA install-dvi install-dvi-am \
	install-exec install-exec-am install-html install-html-am \
	install-includeHEADERS install-info install-info-am \
	install-libLTLIBRARIES install-man \
	install-nodist_includeHEADERS install-pdf install-pdf-am \
	install-pkgconfigDATA install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs installdirs-am \
	maintainer-clean maintainer-clean-generic mostlyclean \
	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
	pdf pdf-am ps ps-am recheck tags tags-am uninstall \
	uninstall-am uninstall-binPROGRAMS uninstall-dist_aclocalDATA \
	uninstall-dist_pkgdataDATA uninstall-includeHEADERS \
	uninstall-libLTLIBRARIES uninstall-nodist_includeHEADERS \
	uninstall-pkgconfigDATA

.PRECIOUS: Makefile

src/dtddata.o: protocol/wayland.dtd
@USE_HOST_SCANNER_FALSE@$(BUILT_SOURCES) : wayland-scanner

@ENABLE_LIBRARIES_TRUE@protocol/%-protocol.c : $(top_srcdir)/protocol/%.xml
@ENABLE_LIBRARIES_TRUE@@USE_HOST_SCANNER_TRUE@	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) code $< $@
@ENABLE_LIBRARIES_TRUE@@USE_HOST_SCANNER_FALSE@	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) public-code $< $@

@ENABLE_LIBRARIES_TRUE@protocol/%-server-protocol.h : $(top_srcdir)/protocol/%.xml
@ENABLE_LIBRARIES_TRUE@	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) server-header $< $@

@ENABLE_LIBRARIES_TRUE@protocol/%-client-protocol.h : $(top_srcdir)/protocol/%.xml
@ENABLE_LIBRARIES_TRUE@	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) client-header $< $@

@ENABLE_LIBRARIES_TRUE@protocol/%-server-protocol-core.h : $(top_srcdir)/protocol/%.xml
@ENABLE_LIBRARIES_TRUE@	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) server-header -c < $< > $@

@ENABLE_LIBRARIES_TRUE@protocol/%-client-protocol-core.h : $(top_srcdir)/protocol/%.xml
@ENABLE_LIBRARIES_TRUE@	$(AM_V_GEN)$(MKDIR_P) $(dir $@) && $(wayland_scanner) client-header -c < $< > $@

@ENABLE_LIBRARIES_TRUE@tests/scanner-test.sh: $(top_builddir)/wayland-scanner

@ENABLE_LIBRARIES_TRUE@clean-local:
@ENABLE_LIBRARIES_TRUE@	-rm -rf tests/output

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