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

# Copyright (C) 1994-2014 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@

# GLIB - Library of useful C routines




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@
TESTS = $(am__EXEEXT_4) $(am__EXEEXT_6)
installed_test_PROGRAMS = $(am__EXEEXT_10)
noinst_PROGRAMS = $(am__EXEEXT_11)
check_PROGRAMS = $(am__EXEEXT_9)
@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_1 = $(all_test_ltlibs)
@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_2 = $(all_test_programs)
@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_3 = $(all_test_scripts)
@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__append_4 = $(all_test_data)
@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__append_5 = $(all_test_ltlibs)
@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__append_6 = $(all_test_programs)
@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__append_7 = $(all_test_scripts)
@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__append_8 = $(all_test_data)
@ENABLE_INSTALLED_TESTS_TRUE@am__append_9 = $(test_programs) $(installed_test_programs) \
@ENABLE_INSTALLED_TESTS_TRUE@                          $(test_extra_programs) $(installed_test_extra_programs)

@ENABLE_INSTALLED_TESTS_TRUE@am__append_10 = $(test_scripts) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(installed_test_scripts) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(test_extra_scripts) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(installed_test_extra_scripts) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(dist_test_scripts) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(dist_test_extra_scripts) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(dist_installed_test_scripts) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(dist_installed_test_extra_scripts)
@ENABLE_INSTALLED_TESTS_TRUE@am__append_11 = $(test_data) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(installed_test_data) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(dist_test_data) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(dist_installed_test_data)
@ENABLE_INSTALLED_TESTS_TRUE@am__append_12 = $(test_ltlibraries) $(installed_test_ltlibraries)
@ENABLE_INSTALLED_TESTS_TRUE@am__append_13 = $(installed_test_meta_DATA)
@HAVE_GCC_TRUE@am__append_14 = -Wstrict-aliasing=2

# -----------------------------------------------------------------------------
@OS_UNIX_TRUE@am__append_15 = \
@OS_UNIX_TRUE@	unix				\
@OS_UNIX_TRUE@	include				\
@OS_UNIX_TRUE@	$(NULL)

@OS_UNIX_TRUE@am__append_16 = tmpsample.xml
@HAVE_GCC_TRUE@am__append_17 = \
@HAVE_GCC_TRUE@	autoptr				\
@HAVE_GCC_TRUE@	$(NULL)


# -----------------------------------------------------------------------------
@HAVE_EVENTFD_TRUE@am__append_18 = gwakeup-fallback
subdir = glib/tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4macros/attributes.m4 \
	$(top_srcdir)/m4macros/glibtests.m4 \
	$(top_srcdir)/m4macros/gtk-doc.m4 \
	$(top_srcdir)/m4macros/libtool.m4 \
	$(top_srcdir)/m4macros/ltoptions.m4 \
	$(top_srcdir)/m4macros/ltsugar.m4 \
	$(top_srcdir)/m4macros/ltversion.m4 \
	$(top_srcdir)/m4macros/lt~obsolete.m4 \
	$(top_srcdir)/acinclude.m4 $(top_srcdir)/acglib.m4 \
	$(top_srcdir)/glib/libcharset/codeset.m4 \
	$(top_srcdir)/glib/libcharset/glibc21.m4 \
	$(top_srcdir)/m4macros/glib-gettext.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
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)$(installed_testdir)" \
	"$(DESTDIR)$(installed_testdir)" \
	"$(DESTDIR)$(installed_testdir)" \
	"$(DESTDIR)$(installed_test_metadir)" \
	"$(DESTDIR)$(installed_testdir)"
LTLIBRARIES = $(installed_test_LTLIBRARIES) $(noinst_LTLIBRARIES)
am__EXEEXT_1 =
@OS_UNIX_TRUE@am__EXEEXT_2 = unix$(EXEEXT) include$(EXEEXT) \
@OS_UNIX_TRUE@	$(am__EXEEXT_1)
@HAVE_GCC_TRUE@am__EXEEXT_3 = autoptr$(EXEEXT) $(am__EXEEXT_1)
am__EXEEXT_4 = array-test$(EXEEXT) asyncqueue$(EXEEXT) base64$(EXEEXT) \
	bitlock$(EXEEXT) bookmarkfile$(EXEEXT) bytes$(EXEEXT) \
	cache$(EXEEXT) checksum$(EXEEXT) collate$(EXEEXT) \
	cond$(EXEEXT) convert$(EXEEXT) dataset$(EXEEXT) date$(EXEEXT) \
	dir$(EXEEXT) environment$(EXEEXT) error$(EXEEXT) \
	fileutils$(EXEEXT) gdatetime$(EXEEXT) gvariant$(EXEEXT) \
	hash$(EXEEXT) hmac$(EXEEXT) hook$(EXEEXT) hostutils$(EXEEXT) \
	keyfile$(EXEEXT) list$(EXEEXT) logging$(EXEEXT) \
	mainloop$(EXEEXT) mappedfile$(EXEEXT) markup$(EXEEXT) \
	markup-parse$(EXEEXT) markup-collect$(EXEEXT) \
	markup-escape$(EXEEXT) markup-subparser$(EXEEXT) \
	mem-overflow$(EXEEXT) mutex$(EXEEXT) node$(EXEEXT) \
	once$(EXEEXT) option-context$(EXEEXT) option-argv0$(EXEEXT) \
	overflow$(EXEEXT) overflow-fallback$(EXEEXT) pattern$(EXEEXT) \
	private$(EXEEXT) protocol$(EXEEXT) queue$(EXEEXT) \
	rand$(EXEEXT) rec-mutex$(EXEEXT) regex$(EXEEXT) \
	rwlock$(EXEEXT) scannerapi$(EXEEXT) search-utils$(EXEEXT) \
	sequence$(EXEEXT) shell$(EXEEXT) slice$(EXEEXT) slist$(EXEEXT) \
	sort$(EXEEXT) spawn-multithreaded$(EXEEXT) \
	spawn-singlethread$(EXEEXT) strfuncs$(EXEEXT) string$(EXEEXT) \
	testing$(EXEEXT) test-printf$(EXEEXT) thread$(EXEEXT) \
	timeout$(EXEEXT) timer$(EXEEXT) tree$(EXEEXT) \
	utf8-performance$(EXEEXT) utf8-pointer$(EXEEXT) \
	utf8-validate$(EXEEXT) utf8-misc$(EXEEXT) utils$(EXEEXT) \
	unicode$(EXEEXT) uri$(EXEEXT) 1bit-mutex$(EXEEXT) \
	642026$(EXEEXT) $(am__EXEEXT_1) atomic$(EXEEXT) \
	642026-ec$(EXEEXT) $(am__EXEEXT_2) $(am__EXEEXT_3)
@HAVE_EVENTFD_TRUE@am__EXEEXT_5 = gwakeup-fallback$(EXEEXT)
am__EXEEXT_6 = $(am__EXEEXT_1) 1bit-emufutex$(EXEEXT) gwakeup$(EXEEXT) \
	$(am__EXEEXT_5)
am__EXEEXT_7 = test-spawn-echo$(EXEEXT) $(am__EXEEXT_1)
am__EXEEXT_8 = $(am__EXEEXT_4) $(am__EXEEXT_6) $(am__EXEEXT_7)
@ENABLE_ALWAYS_BUILD_TESTS_FALSE@am__EXEEXT_9 = $(am__EXEEXT_8)
@ENABLE_INSTALLED_TESTS_TRUE@am__EXEEXT_10 = $(am__EXEEXT_4) \
@ENABLE_INSTALLED_TESTS_TRUE@	$(am__EXEEXT_7)
@ENABLE_ALWAYS_BUILD_TESTS_TRUE@am__EXEEXT_11 = $(am__EXEEXT_8)
PROGRAMS = $(installed_test_PROGRAMS) $(noinst_PROGRAMS)
am_1bit_emufutex_OBJECTS = 1bit_emufutex-1bit-mutex.$(OBJEXT)
1bit_emufutex_OBJECTS = $(am_1bit_emufutex_OBJECTS)
1bit_emufutex_LDADD = $(LDADD)
1bit_emufutex_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
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 = 
1bit_emufutex_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(1bit_emufutex_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
1bit_mutex_SOURCES = 1bit-mutex.c
1bit_mutex_OBJECTS = 1bit-mutex.$(OBJEXT)
1bit_mutex_LDADD = $(LDADD)
1bit_mutex_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
642026_SOURCES = 642026.c
642026_OBJECTS = 642026.$(OBJEXT)
642026_LDADD = $(LDADD)
642026_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
am_642026_ec_OBJECTS = 642026_ec-642026.$(OBJEXT)
642026_ec_OBJECTS = $(am_642026_ec_OBJECTS)
642026_ec_LDADD = $(LDADD)
642026_ec_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
642026_ec_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(642026_ec_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
array_test_SOURCES = array-test.c
array_test_OBJECTS = array-test.$(OBJEXT)
array_test_LDADD = $(LDADD)
array_test_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
asyncqueue_SOURCES = asyncqueue.c
asyncqueue_OBJECTS = asyncqueue.$(OBJEXT)
asyncqueue_LDADD = $(LDADD)
asyncqueue_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
atomic_SOURCES = atomic.c
atomic_OBJECTS = atomic-atomic.$(OBJEXT)
atomic_LDADD = $(LDADD)
atomic_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
atomic_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(atomic_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
autoptr_SOURCES = autoptr.c
autoptr_OBJECTS = autoptr.$(OBJEXT)
autoptr_LDADD = $(LDADD)
autoptr_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
base64_SOURCES = base64.c
base64_OBJECTS = base64.$(OBJEXT)
base64_LDADD = $(LDADD)
base64_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
bitlock_SOURCES = bitlock.c
bitlock_OBJECTS = bitlock.$(OBJEXT)
bitlock_LDADD = $(LDADD)
bitlock_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
bookmarkfile_SOURCES = bookmarkfile.c
bookmarkfile_OBJECTS = bookmarkfile.$(OBJEXT)
bookmarkfile_LDADD = $(LDADD)
bookmarkfile_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
bytes_SOURCES = bytes.c
bytes_OBJECTS = bytes.$(OBJEXT)
bytes_LDADD = $(LDADD)
bytes_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
cache_SOURCES = cache.c
cache_OBJECTS = cache.$(OBJEXT)
cache_LDADD = $(LDADD)
cache_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
checksum_SOURCES = checksum.c
checksum_OBJECTS = checksum.$(OBJEXT)
checksum_LDADD = $(LDADD)
checksum_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
collate_SOURCES = collate.c
collate_OBJECTS = collate.$(OBJEXT)
collate_LDADD = $(LDADD)
collate_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
cond_SOURCES = cond.c
cond_OBJECTS = cond.$(OBJEXT)
cond_LDADD = $(LDADD)
cond_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
convert_SOURCES = convert.c
convert_OBJECTS = convert.$(OBJEXT)
convert_LDADD = $(LDADD)
convert_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
dataset_SOURCES = dataset.c
dataset_OBJECTS = dataset.$(OBJEXT)
dataset_LDADD = $(LDADD)
dataset_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
date_SOURCES = date.c
date_OBJECTS = date.$(OBJEXT)
date_LDADD = $(LDADD)
date_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
dir_SOURCES = dir.c
dir_OBJECTS = dir.$(OBJEXT)
dir_LDADD = $(LDADD)
dir_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
environment_SOURCES = environment.c
environment_OBJECTS = environment.$(OBJEXT)
environment_LDADD = $(LDADD)
environment_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
error_SOURCES = error.c
error_OBJECTS = error.$(OBJEXT)
error_LDADD = $(LDADD)
error_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
fileutils_SOURCES = fileutils.c
fileutils_OBJECTS = fileutils.$(OBJEXT)
fileutils_LDADD = $(LDADD)
fileutils_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
gdatetime_SOURCES = gdatetime.c
gdatetime_OBJECTS = gdatetime.$(OBJEXT)
gdatetime_LDADD = $(LDADD)
gdatetime_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
gvariant_SOURCES = gvariant.c
gvariant_OBJECTS = gvariant.$(OBJEXT)
gvariant_LDADD = $(LDADD)
gvariant_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
am_gwakeup_OBJECTS = gwakeuptest.$(OBJEXT) gwakeup.$(OBJEXT)
gwakeup_OBJECTS = $(am_gwakeup_OBJECTS)
gwakeup_LDADD = $(LDADD)
gwakeup_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
am__gwakeup_fallback_SOURCES_DIST = gwakeuptest.c ../../glib/gwakeup.c
@HAVE_EVENTFD_TRUE@am_gwakeup_fallback_OBJECTS =  \
@HAVE_EVENTFD_TRUE@	gwakeup_fallback-gwakeuptest.$(OBJEXT) \
@HAVE_EVENTFD_TRUE@	gwakeup_fallback-gwakeup.$(OBJEXT)
gwakeup_fallback_OBJECTS = $(am_gwakeup_fallback_OBJECTS)
gwakeup_fallback_LDADD = $(LDADD)
gwakeup_fallback_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
gwakeup_fallback_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(gwakeup_fallback_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
	-o $@
hash_SOURCES = hash.c
hash_OBJECTS = hash.$(OBJEXT)
hash_LDADD = $(LDADD)
hash_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
hmac_SOURCES = hmac.c
hmac_OBJECTS = hmac.$(OBJEXT)
hmac_LDADD = $(LDADD)
hmac_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
hook_SOURCES = hook.c
hook_OBJECTS = hook.$(OBJEXT)
hook_LDADD = $(LDADD)
hook_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
hostutils_SOURCES = hostutils.c
hostutils_OBJECTS = hostutils.$(OBJEXT)
hostutils_LDADD = $(LDADD)
hostutils_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
include_SOURCES = include.c
include_OBJECTS = include.$(OBJEXT)
include_LDADD = $(LDADD)
include_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
keyfile_SOURCES = keyfile.c
keyfile_OBJECTS = keyfile.$(OBJEXT)
keyfile_LDADD = $(LDADD)
keyfile_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
list_SOURCES = list.c
list_OBJECTS = list.$(OBJEXT)
list_LDADD = $(LDADD)
list_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
logging_SOURCES = logging.c
logging_OBJECTS = logging.$(OBJEXT)
logging_LDADD = $(LDADD)
logging_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
mainloop_SOURCES = mainloop.c
mainloop_OBJECTS = mainloop.$(OBJEXT)
mainloop_LDADD = $(LDADD)
mainloop_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
mappedfile_SOURCES = mappedfile.c
mappedfile_OBJECTS = mappedfile.$(OBJEXT)
mappedfile_LDADD = $(LDADD)
mappedfile_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
markup_SOURCES = markup.c
markup_OBJECTS = markup.$(OBJEXT)
markup_LDADD = $(LDADD)
markup_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
markup_collect_SOURCES = markup-collect.c
markup_collect_OBJECTS = markup-collect.$(OBJEXT)
markup_collect_LDADD = $(LDADD)
markup_collect_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
markup_escape_SOURCES = markup-escape.c
markup_escape_OBJECTS = markup-escape.$(OBJEXT)
markup_escape_LDADD = $(LDADD)
markup_escape_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
markup_parse_SOURCES = markup-parse.c
markup_parse_OBJECTS = markup-parse.$(OBJEXT)
markup_parse_LDADD = $(LDADD)
markup_parse_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
markup_subparser_SOURCES = markup-subparser.c
markup_subparser_OBJECTS = markup-subparser.$(OBJEXT)
markup_subparser_LDADD = $(LDADD)
markup_subparser_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
mem_overflow_SOURCES = mem-overflow.c
mem_overflow_OBJECTS = mem-overflow.$(OBJEXT)
mem_overflow_LDADD = $(LDADD)
mem_overflow_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
mutex_SOURCES = mutex.c
mutex_OBJECTS = mutex.$(OBJEXT)
mutex_LDADD = $(LDADD)
mutex_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
node_SOURCES = node.c
node_OBJECTS = node.$(OBJEXT)
node_LDADD = $(LDADD)
node_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
once_SOURCES = once.c
once_OBJECTS = once.$(OBJEXT)
once_LDADD = $(LDADD)
once_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
option_argv0_SOURCES = option-argv0.c
option_argv0_OBJECTS = option-argv0.$(OBJEXT)
option_argv0_LDADD = $(LDADD)
option_argv0_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
option_context_SOURCES = option-context.c
option_context_OBJECTS = option-context.$(OBJEXT)
option_context_LDADD = $(LDADD)
option_context_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
overflow_SOURCES = overflow.c
overflow_OBJECTS = overflow.$(OBJEXT)
overflow_LDADD = $(LDADD)
overflow_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
am_overflow_fallback_OBJECTS = overflow.$(OBJEXT)
overflow_fallback_OBJECTS = $(am_overflow_fallback_OBJECTS)
overflow_fallback_LDADD = $(LDADD)
overflow_fallback_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
pattern_SOURCES = pattern.c
pattern_OBJECTS = pattern.$(OBJEXT)
pattern_LDADD = $(LDADD)
pattern_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
private_SOURCES = private.c
private_OBJECTS = private.$(OBJEXT)
private_LDADD = $(LDADD)
private_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
private_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(private_LDFLAGS) $(LDFLAGS) -o $@
protocol_SOURCES = protocol.c
protocol_OBJECTS = protocol.$(OBJEXT)
protocol_LDADD = $(LDADD)
protocol_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
queue_SOURCES = queue.c
queue_OBJECTS = queue.$(OBJEXT)
queue_LDADD = $(LDADD)
queue_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
rand_SOURCES = rand.c
rand_OBJECTS = rand.$(OBJEXT)
rand_LDADD = $(LDADD)
rand_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
rec_mutex_SOURCES = rec-mutex.c
rec_mutex_OBJECTS = rec-mutex.$(OBJEXT)
rec_mutex_LDADD = $(LDADD)
rec_mutex_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
regex_SOURCES = regex.c
regex_OBJECTS = regex.$(OBJEXT)
am__DEPENDENCIES_1 = $(top_builddir)/glib/libglib-2.0.la
am__DEPENDENCIES_2 =
@USE_SYSTEM_PCRE_FALSE@am__DEPENDENCIES_3 =  \
@USE_SYSTEM_PCRE_FALSE@	$(top_builddir)/glib/pcre/libpcre.la
@USE_SYSTEM_PCRE_TRUE@am__DEPENDENCIES_3 = $(am__DEPENDENCIES_2)
regex_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_3)
rwlock_SOURCES = rwlock.c
rwlock_OBJECTS = rwlock.$(OBJEXT)
rwlock_LDADD = $(LDADD)
rwlock_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
scannerapi_SOURCES = scannerapi.c
scannerapi_OBJECTS = scannerapi.$(OBJEXT)
scannerapi_LDADD = $(LDADD)
scannerapi_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
search_utils_SOURCES = search-utils.c
search_utils_OBJECTS = search-utils.$(OBJEXT)
search_utils_LDADD = $(LDADD)
search_utils_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
sequence_SOURCES = sequence.c
sequence_OBJECTS = sequence.$(OBJEXT)
sequence_LDADD = $(LDADD)
sequence_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
shell_SOURCES = shell.c
shell_OBJECTS = shell.$(OBJEXT)
shell_LDADD = $(LDADD)
shell_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
slice_SOURCES = slice.c
slice_OBJECTS = slice.$(OBJEXT)
slice_LDADD = $(LDADD)
slice_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
slist_SOURCES = slist.c
slist_OBJECTS = slist.$(OBJEXT)
slist_LDADD = $(LDADD)
slist_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
sort_SOURCES = sort.c
sort_OBJECTS = sort.$(OBJEXT)
sort_LDADD = $(LDADD)
sort_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
spawn_multithreaded_SOURCES = spawn-multithreaded.c
spawn_multithreaded_OBJECTS = spawn-multithreaded.$(OBJEXT)
spawn_multithreaded_LDADD = $(LDADD)
spawn_multithreaded_DEPENDENCIES =  \
	$(top_builddir)/glib/libglib-2.0.la
spawn_multithreaded_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(spawn_multithreaded_LDFLAGS) \
	$(LDFLAGS) -o $@
spawn_singlethread_SOURCES = spawn-singlethread.c
spawn_singlethread_OBJECTS = spawn-singlethread.$(OBJEXT)
spawn_singlethread_LDADD = $(LDADD)
spawn_singlethread_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
spawn_singlethread_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(spawn_singlethread_LDFLAGS) \
	$(LDFLAGS) -o $@
strfuncs_SOURCES = strfuncs.c
strfuncs_OBJECTS = strfuncs.$(OBJEXT)
strfuncs_LDADD = $(LDADD)
strfuncs_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
string_SOURCES = string.c
string_OBJECTS = string.$(OBJEXT)
string_LDADD = $(LDADD)
string_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
test_printf_SOURCES = test-printf.c
test_printf_OBJECTS = test-printf.$(OBJEXT)
test_printf_LDADD = $(LDADD)
test_printf_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
test_spawn_echo_SOURCES = test-spawn-echo.c
test_spawn_echo_OBJECTS = test-spawn-echo.$(OBJEXT)
test_spawn_echo_LDADD = $(LDADD)
test_spawn_echo_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
testing_SOURCES = testing.c
testing_OBJECTS = testing.$(OBJEXT)
testing_LDADD = $(LDADD)
testing_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
thread_SOURCES = thread.c
thread_OBJECTS = thread.$(OBJEXT)
thread_LDADD = $(LDADD)
thread_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
thread_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(thread_LDFLAGS) $(LDFLAGS) -o $@
timeout_SOURCES = timeout.c
timeout_OBJECTS = timeout.$(OBJEXT)
timeout_LDADD = $(LDADD)
timeout_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
timer_SOURCES = timer.c
timer_OBJECTS = timer.$(OBJEXT)
timer_LDADD = $(LDADD)
timer_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
tree_SOURCES = tree.c
tree_OBJECTS = tree.$(OBJEXT)
tree_LDADD = $(LDADD)
tree_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
unicode_SOURCES = unicode.c
unicode_OBJECTS = unicode.$(OBJEXT)
unicode_LDADD = $(LDADD)
unicode_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
unix_SOURCES = unix.c
unix_OBJECTS = unix.$(OBJEXT)
unix_LDADD = $(LDADD)
unix_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
uri_SOURCES = uri.c
uri_OBJECTS = uri.$(OBJEXT)
uri_LDADD = $(LDADD)
uri_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
utf8_misc_SOURCES = utf8-misc.c
utf8_misc_OBJECTS = utf8-misc.$(OBJEXT)
utf8_misc_LDADD = $(LDADD)
utf8_misc_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
utf8_performance_SOURCES = utf8-performance.c
utf8_performance_OBJECTS = utf8-performance.$(OBJEXT)
utf8_performance_LDADD = $(LDADD)
utf8_performance_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
utf8_pointer_SOURCES = utf8-pointer.c
utf8_pointer_OBJECTS = utf8-pointer.$(OBJEXT)
utf8_pointer_LDADD = $(LDADD)
utf8_pointer_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
utf8_validate_SOURCES = utf8-validate.c
utf8_validate_OBJECTS = utf8-validate.$(OBJEXT)
utf8_validate_LDADD = $(LDADD)
utf8_validate_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
utils_SOURCES = utils.c
utils_OBJECTS = utils.$(OBJEXT)
utils_LDADD = $(LDADD)
utils_DEPENDENCIES = $(top_builddir)/glib/libglib-2.0.la
SCRIPTS = $(installed_test_SCRIPTS) $(noinst_SCRIPTS)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
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 = 
SOURCES = $(1bit_emufutex_SOURCES) 1bit-mutex.c 642026.c \
	$(642026_ec_SOURCES) array-test.c asyncqueue.c atomic.c \
	autoptr.c base64.c bitlock.c bookmarkfile.c bytes.c cache.c \
	checksum.c collate.c cond.c convert.c dataset.c date.c dir.c \
	environment.c error.c fileutils.c gdatetime.c gvariant.c \
	$(gwakeup_SOURCES) $(gwakeup_fallback_SOURCES) hash.c hmac.c \
	hook.c hostutils.c include.c keyfile.c list.c logging.c \
	mainloop.c mappedfile.c markup.c markup-collect.c \
	markup-escape.c markup-parse.c markup-subparser.c \
	mem-overflow.c mutex.c node.c once.c option-argv0.c \
	option-context.c overflow.c $(overflow_fallback_SOURCES) \
	pattern.c private.c protocol.c queue.c rand.c rec-mutex.c \
	regex.c rwlock.c scannerapi.c search-utils.c sequence.c \
	shell.c slice.c slist.c sort.c spawn-multithreaded.c \
	spawn-singlethread.c strfuncs.c string.c test-printf.c \
	test-spawn-echo.c testing.c thread.c timeout.c timer.c tree.c \
	unicode.c unix.c uri.c utf8-misc.c utf8-performance.c \
	utf8-pointer.c utf8-validate.c utils.c
DIST_SOURCES = $(1bit_emufutex_SOURCES) 1bit-mutex.c 642026.c \
	$(642026_ec_SOURCES) array-test.c asyncqueue.c atomic.c \
	autoptr.c base64.c bitlock.c bookmarkfile.c bytes.c cache.c \
	checksum.c collate.c cond.c convert.c dataset.c date.c dir.c \
	environment.c error.c fileutils.c gdatetime.c gvariant.c \
	$(gwakeup_SOURCES) $(am__gwakeup_fallback_SOURCES_DIST) hash.c \
	hmac.c hook.c hostutils.c include.c keyfile.c list.c logging.c \
	mainloop.c mappedfile.c markup.c markup-collect.c \
	markup-escape.c markup-parse.c markup-subparser.c \
	mem-overflow.c mutex.c node.c once.c option-argv0.c \
	option-context.c overflow.c $(overflow_fallback_SOURCES) \
	pattern.c private.c protocol.c queue.c rand.c rec-mutex.c \
	regex.c rwlock.c scannerapi.c search-utils.c sequence.c \
	shell.c slice.c slist.c sort.c spawn-multithreaded.c \
	spawn-singlethread.c strfuncs.c string.c test-printf.c \
	test-spawn-echo.c testing.c thread.c timeout.c timer.c tree.c \
	unicode.c unix.c uri.c utf8-misc.c utf8-performance.c \
	utf8-pointer.c utf8-validate.c utils.c
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
DATA = $(installed_test_meta_DATA) $(nobase_installed_test_DATA) \
	$(noinst_DATA)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__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)
AM_RECURSIVE_TARGETS = check recheck
TEST_SUITE_LOG = test-suite.log
TEST_EXTENSIONS = @EXEEXT@ .test
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)
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/depcomp \
	$(top_srcdir)/glib-tap.mk $(top_srcdir)/test-driver
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ABS_TAPSET_DIR = @ABS_TAPSET_DIR@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CARBON_LIBS = @CARBON_LIBS@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
COCOA_LIBS = @COCOA_LIBS@
CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DBUS1_CFLAGS = @DBUS1_CFLAGS@
DBUS1_LIBS = @DBUS1_LIBS@
DBUS_DAEMON = @DBUS_DAEMON@
DEFS = -DG_LOG_DOMAIN=\"GLib\" -DEXEEXT=\"$(EXEEXT)\"
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DTRACE = @DTRACE@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FAM_LIBS = @FAM_LIBS@
FGREP = @FGREP@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GIO = @GIO@
GIO_MODULE_DIR = @GIO_MODULE_DIR@
GLIBC21 = @GLIBC21@
GLIB_BINARY_AGE = @GLIB_BINARY_AGE@
GLIB_DEBUG_FLAGS = @GLIB_DEBUG_FLAGS@
GLIB_EXTRA_CFLAGS = @GLIB_EXTRA_CFLAGS@
GLIB_HIDDEN_VISIBILITY_CFLAGS = @GLIB_HIDDEN_VISIBILITY_CFLAGS@
GLIB_INTERFACE_AGE = @GLIB_INTERFACE_AGE@
GLIB_LINK_FLAGS = @GLIB_LINK_FLAGS@
GLIB_MAJOR_VERSION = @GLIB_MAJOR_VERSION@
GLIB_MICRO_VERSION = @GLIB_MICRO_VERSION@
GLIB_MINOR_VERSION = @GLIB_MINOR_VERSION@
GLIB_RUNTIME_LIBDIR = @GLIB_RUNTIME_LIBDIR@
GLIB_VERSION = @GLIB_VERSION@
GLIB_WARN_CFLAGS = @GLIB_WARN_CFLAGS@
GLIB_WIN32_STATIC_COMPILATION_DEFINE = @GLIB_WIN32_STATIC_COMPILATION_DEFINE@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GREP = @GREP@
GSPAWN = @GSPAWN@
GTHREAD_COMPILE_IMPL_DEFINES = @GTHREAD_COMPILE_IMPL_DEFINES@
GTKDOC_CHECK = @GTKDOC_CHECK@
GTKDOC_CHECK_PATH = @GTKDOC_CHECK_PATH@
GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@
GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@
GTKDOC_MKPDF = @GTKDOC_MKPDF@
GTKDOC_REBASE = @GTKDOC_REBASE@
G_LIBS_EXTRA = @G_LIBS_EXTRA@
G_MODULE_BROKEN_RTLD_GLOBAL = @G_MODULE_BROKEN_RTLD_GLOBAL@
G_MODULE_HAVE_DLERROR = @G_MODULE_HAVE_DLERROR@
G_MODULE_IMPL = @G_MODULE_IMPL@
G_MODULE_LDFLAGS = @G_MODULE_LDFLAGS@
G_MODULE_LIBS = @G_MODULE_LIBS@
G_MODULE_LIBS_EXTRA = @G_MODULE_LIBS_EXTRA@
G_MODULE_NEED_USCORE = @G_MODULE_NEED_USCORE@
G_MODULE_PLUGIN_LIBS = @G_MODULE_PLUGIN_LIBS@
G_MODULE_SUPPORTED = @G_MODULE_SUPPORTED@
G_THREAD_CFLAGS = @G_THREAD_CFLAGS@
G_THREAD_LIBS = @G_THREAD_LIBS@
G_THREAD_LIBS_EXTRA = @G_THREAD_LIBS_EXTRA@
G_THREAD_LIBS_FOR_GTHREAD = @G_THREAD_LIBS_FOR_GTHREAD@
HTML_DIR = @HTML_DIR@
ICONV_LIBS = @ICONV_LIBS@
INDENT = @INDENT@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBELF_CFLAGS = @LIBELF_CFLAGS@
LIBELF_LIBS = @LIBELF_LIBS@
LIBFFI_CFLAGS = @LIBFFI_CFLAGS@
LIBFFI_LIBS = @LIBFFI_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBSYSTEMD_CFLAGS = @LIBSYSTEMD_CFLAGS@
LIBSYSTEMD_LIBS = @LIBSYSTEMD_LIBS@
LIBTOOL = @LIBTOOL@
LIB_EXE_MACHINE_FLAG = @LIB_EXE_MACHINE_FLAG@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LTP = @LTP@
LTP_GENHTML = @LTP_GENHTML@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_CURRENT_MINUS_AGE = @LT_CURRENT_MINUS_AGE@
LT_RELEASE = @LT_RELEASE@
LT_REVISION = @LT_REVISION@
LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
NAMESER_COMPAT_INCLUDE = @NAMESER_COMPAT_INCLUDE@
NETWORK_LIBS = @NETWORK_LIBS@
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@
PCRE_CFLAGS = @PCRE_CFLAGS@
PCRE_LIBS = @PCRE_LIBS@
PCRE_REQUIRES = @PCRE_REQUIRES@
PCRE_WARN_CFLAGS = @PCRE_WARN_CFLAGS@
PERL = @PERL@
PERL_PATH = @PERL_PATH@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
PLATFORMDEP = @PLATFORMDEP@
POFILES = @POFILES@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
RANLIB = @RANLIB@
REBUILD = @REBUILD@
SED = @SED@
SELINUX_LIBS = @SELINUX_LIBS@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SHTOOL = @SHTOOL@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WINDRES = @WINDRES@
WSPIAPI_INCLUDE = @WSPIAPI_INCLUDE@
XATTR_LIBS = @XATTR_LIBS@
XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
ZLIB_CFLAGS = @ZLIB_CFLAGS@
ZLIB_LIBS = @ZLIB_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
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@
config_h_INCLUDES = @config_h_INCLUDES@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
gio_INCLUDES = @gio_INCLUDES@
glib_INCLUDES = @glib_INCLUDES@
gmodule_INCLUDES = @gmodule_INCLUDES@
gobject_INCLUDES = @gobject_INCLUDES@
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@
installed_test_metadir = @installed_test_metadir@
installed_testdir = @installed_testdir@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
ms_librarian = @ms_librarian@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
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@
TESTS_ENVIRONMENT = \
	G_TEST_SRCDIR="$(abs_srcdir)" 		\
	G_TEST_BUILDDIR="$(abs_builddir)" 	\
	G_DEBUG=gc-friendly 			\
	MALLOC_CHECK_=2 			\
	MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))

LOG_DRIVER = env AM_TAP_AWK='$(AWK)' $(SHELL) $(top_srcdir)/tap-driver.sh
LOG_COMPILER = $(top_srcdir)/tap-test
NULL = 

# initialize variables for unconditional += appending
BUILT_SOURCES = 
BUILT_EXTRA_DIST = 
CLEANFILES = *.log *.trs $(am__append_13) $(am__append_16)
DISTCLEANFILES = 
MAINTAINERCLEANFILES = 

# -----------------------------------------------------------------------------
EXTRA_DIST = $(all_dist_test_scripts) $(all_dist_test_data) \
	bookmarks.xbel
installed_test_LTLIBRARIES = $(am__append_12)
installed_test_SCRIPTS = $(am__append_10)
nobase_installed_test_DATA = $(am__append_11)
noinst_LTLIBRARIES = $(am__append_1)
noinst_SCRIPTS = $(am__append_3)
noinst_DATA = $(am__append_4)
check_LTLIBRARIES = $(am__append_5)
check_SCRIPTS = $(am__append_7)
check_DATA = $(am__append_8)

# Note: build even the installed-only targets during 'make check' to ensure that they still work.
# We need to do a bit of trickery here and manage disting via EXTRA_DIST instead of using dist_ prefixes to
# prevent automake from mistreating gmake functions like $(wildcard ...) and $(addprefix ...) as if they were
# filenames, including removing duplicate instances of the opening part before the space, eg. '$(addprefix'.
all_test_programs = $(test_programs) $(uninstalled_test_programs) $(installed_test_programs) \
                        $(test_extra_programs) $(uninstalled_test_extra_programs) $(installed_test_extra_programs)

all_test_scripts = $(test_scripts) $(uninstalled_test_scripts) \
	$(installed_test_scripts) $(test_extra_scripts) \
	$(uninstalled_test_extra_scripts) \
	$(installed_test_extra_scripts) $(all_dist_test_scripts)
all_dist_test_scripts = $(dist_test_scripts) $(dist_uninstalled_test_scripts) $(dist_installed_test_scripts) \
                        $(dist_test_extra_scripts) $(dist_uninstalled_test_extra_scripts) $(dist_installed_test_extra_scripts)

all_test_data = $(test_data) $(uninstalled_test_data) \
	$(installed_test_data) $(all_dist_test_data)
all_dist_test_data = $(dist_test_data) $(dist_uninstalled_test_data) $(dist_installed_test_data)
all_test_ltlibs = $(test_ltlibraries) $(uninstalled_test_ltlibraries) $(installed_test_ltlibraries)
@ENABLE_INSTALLED_TESTS_TRUE@installed_testcases = $(test_programs) $(installed_test_programs) \
@ENABLE_INSTALLED_TESTS_TRUE@                      $(test_scripts) $(installed_test_scripts) \
@ENABLE_INSTALLED_TESTS_TRUE@                      $(dist_test_scripts) $(dist_installed_test_scripts)

@ENABLE_INSTALLED_TESTS_TRUE@installed_test_meta_DATA = $(installed_testcases:=.test)
@USE_SYSTEM_PCRE_FALSE@pcre_lib = $(top_builddir)/glib/pcre/libpcre.la
@USE_SYSTEM_PCRE_TRUE@pcre_lib = $(PCRE_LIBS)
@USE_SYSTEM_PCRE_FALSE@pcre_inc = -DPCRE_STATIC
@USE_SYSTEM_PCRE_TRUE@pcre_inc = $(PCRE_CFLAGS)
LDADD = $(top_builddir)/glib/libglib-2.0.la -lm
AM_CPPFLAGS = -g $(glib_INCLUDES) $(GLIB_DEBUG_FLAGS)
AM_CFLAGS = $(GLIB_WARN_CFLAGS) $(pcre_inc)

# The regex test uses pcre_version()
regex_LDADD = $(LDADD) $(pcre_lib)

# These tests corrupt the gcov bookkeeping, so we
# skip them. See bug 682133
spawn_singlethread_LDFLAGS = $(patsubst -lgcov,,$(LDFLAGS))
spawn_multithreaded_LDFLAGS = $(patsubst -lgcov,,$(LDFLAGS))

# -----------------------------------------------------------------------------
dist_test_data = keyfiletest.ini pages.ini keyfile.c empty \
	4096-random-bytes $(NULL) bookmarks/fail-01.xbel \
	bookmarks/fail-02.xbel bookmarks/fail-03.xbel \
	bookmarks/fail-04.xbel bookmarks/fail-05.xbel \
	bookmarks/fail-06.xbel bookmarks/fail-07.xbel \
	bookmarks/fail-08.xbel bookmarks/fail-09.xbel \
	bookmarks/fail-10.xbel bookmarks/fail-11.xbel \
	bookmarks/fail-12.xbel bookmarks/fail-13.xbel \
	bookmarks/fail-14.xbel bookmarks/fail-15.xbel \
	bookmarks/fail-16.xbel bookmarks/fail-17.xbel \
	bookmarks/valid-01.xbel bookmarks/valid-02.xbel \
	bookmarks/valid-03.xbel $(NULL) $(all_markup_data)
dist_test_extra_scripts = \
	echo-script			\
	echo-script.bat			\
	$(NULL)

test_extra_programs = \
	test-spawn-echo			\
	$(NULL)


# -----------------------------------------------------------------------------
test_programs = array-test asyncqueue base64 bitlock bookmarkfile \
	bytes cache checksum collate cond convert dataset date dir \
	environment error fileutils gdatetime gvariant hash hmac hook \
	hostutils keyfile list logging mainloop mappedfile markup \
	markup-parse markup-collect markup-escape markup-subparser \
	mem-overflow mutex node once option-context option-argv0 \
	overflow overflow-fallback pattern private protocol queue rand \
	rec-mutex regex rwlock scannerapi search-utils sequence shell \
	slice slist sort spawn-multithreaded spawn-singlethread \
	strfuncs string testing test-printf thread timeout timer tree \
	utf8-performance utf8-pointer utf8-validate utf8-misc utils \
	unicode uri 1bit-mutex 642026 $(NULL) atomic 642026-ec \
	$(am__append_15) $(am__append_17)
uninstalled_test_programs = $(NULL) 1bit-emufutex gwakeup \
	$(am__append_18)
markup_tests = \
	fail-1 fail-2 fail-3 fail-4 fail-5 \
	fail-6 fail-7 fail-8 fail-9 fail-10 \
	fail-11 fail-12 fail-13 fail-14 fail-15 \
	fail-16 fail-17 fail-18 fail-19 fail-20 \
	fail-21 fail-22 fail-23 fail-24 fail-25 \
	fail-26 fail-27 fail-28 fail-29 fail-30 \
	fail-31 fail-32 fail-33 fail-34 fail-35 \
	fail-36 fail-37 fail-38 fail-39 fail-40 \
	fail-41 fail-42 fail-43 fail-44 fail-45 \
	fail-46 fail-47 fail-48 fail-49 \
	valid-1 valid-2 valid-3 valid-4 valid-5 \
	valid-6 valid-7 valid-8 valid-9 valid-10 \
	valid-11 valid-12 valid-13 valid-14 valid-15 \
	valid-16 \
	$(NULL)

cdata_markup_tests = \
	valid-8 valid-16 \
	$(NULL)

all_markup_data = \
	$(addprefix markups/,$(markup_tests:=.gmarkup) $(markup_tests:=.expected)) \
	$(addprefix markups/,$(cdata_markup_tests.=.cdata-as-text))

atomic_CFLAGS = $(AM_CFLAGS) $(am__append_14)
overflow_fallback_SOURCES = overflow.c
overflow_fallback_FALGS = $(AM_CFLAGS) -D_GLIB_TEST_OVERFLOW_FALLBACK
642026_ec_SOURCES = 642026.c
642026_ec_CFLAGS = -DG_ERRORCHECK_MUTEXES
1bit_emufutex_SOURCES = 1bit-mutex.c
1bit_emufutex_CFLAGS = $(AM_CFLAGS) -DTEST_EMULATED_FUTEX
gwakeup_SOURCES = gwakeuptest.c ../../glib/gwakeup.c

# some testing of gtester functionality
@OS_UNIX_TRUE@XMLLINT = xmllint
@OS_UNIX_TRUE@GTESTER = $(top_builddir)/glib/gtester
@OS_UNIX_TRUE@private_LDFLAGS = @G_THREAD_LIBS@
@OS_UNIX_TRUE@thread_LDFLAGS = @G_THREAD_LIBS@
@HAVE_EVENTFD_TRUE@gwakeup_fallback_SOURCES = gwakeuptest.c ../../glib/gwakeup.c
@HAVE_EVENTFD_TRUE@gwakeup_fallback_CFLAGS = $(AM_CFLAGS) -DTEST_EVENTFD_FALLBACK
all: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) all-am

.SUFFIXES:
.SUFFIXES: .c .lo .log .o .obj .test .test$(EXEEXT) .trs
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/glib-tap.mk $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu glib/tests/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnu glib/tests/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;
$(top_srcdir)/glib-tap.mk $(am__empty):

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):

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

install-installed_testLTLIBRARIES: $(installed_test_LTLIBRARIES)
	@$(NORMAL_INSTALL)
	@list='$(installed_test_LTLIBRARIES)'; test -n "$(installed_testdir)" || 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)$(installed_testdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(installed_testdir)" || exit 1; \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(installed_testdir)'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(installed_testdir)"; \
	}

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

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

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
install-installed_testPROGRAMS: $(installed_test_PROGRAMS)
	@$(NORMAL_INSTALL)
	@list='$(installed_test_PROGRAMS)'; test -n "$(installed_testdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(installed_testdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(installed_testdir)" || 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)$(installed_testdir)$$dir'"; \
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(installed_testdir)$$dir" || exit $$?; \
	    } \
	; done

uninstall-installed_testPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(installed_test_PROGRAMS)'; test -n "$(installed_testdir)" || 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)$(installed_testdir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(installed_testdir)" && rm -f $$files

clean-installed_testPROGRAMS:
	@list='$(installed_test_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

1bit-emufutex$(EXEEXT): $(1bit_emufutex_OBJECTS) $(1bit_emufutex_DEPENDENCIES) $(EXTRA_1bit_emufutex_DEPENDENCIES) 
	@rm -f 1bit-emufutex$(EXEEXT)
	$(AM_V_CCLD)$(1bit_emufutex_LINK) $(1bit_emufutex_OBJECTS) $(1bit_emufutex_LDADD) $(LIBS)

1bit-mutex$(EXEEXT): $(1bit_mutex_OBJECTS) $(1bit_mutex_DEPENDENCIES) $(EXTRA_1bit_mutex_DEPENDENCIES) 
	@rm -f 1bit-mutex$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(1bit_mutex_OBJECTS) $(1bit_mutex_LDADD) $(LIBS)

642026$(EXEEXT): $(642026_OBJECTS) $(642026_DEPENDENCIES) $(EXTRA_642026_DEPENDENCIES) 
	@rm -f 642026$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(642026_OBJECTS) $(642026_LDADD) $(LIBS)

642026-ec$(EXEEXT): $(642026_ec_OBJECTS) $(642026_ec_DEPENDENCIES) $(EXTRA_642026_ec_DEPENDENCIES) 
	@rm -f 642026-ec$(EXEEXT)
	$(AM_V_CCLD)$(642026_ec_LINK) $(642026_ec_OBJECTS) $(642026_ec_LDADD) $(LIBS)

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)

asyncqueue$(EXEEXT): $(asyncqueue_OBJECTS) $(asyncqueue_DEPENDENCIES) $(EXTRA_asyncqueue_DEPENDENCIES) 
	@rm -f asyncqueue$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(asyncqueue_OBJECTS) $(asyncqueue_LDADD) $(LIBS)

atomic$(EXEEXT): $(atomic_OBJECTS) $(atomic_DEPENDENCIES) $(EXTRA_atomic_DEPENDENCIES) 
	@rm -f atomic$(EXEEXT)
	$(AM_V_CCLD)$(atomic_LINK) $(atomic_OBJECTS) $(atomic_LDADD) $(LIBS)

autoptr$(EXEEXT): $(autoptr_OBJECTS) $(autoptr_DEPENDENCIES) $(EXTRA_autoptr_DEPENDENCIES) 
	@rm -f autoptr$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(autoptr_OBJECTS) $(autoptr_LDADD) $(LIBS)

base64$(EXEEXT): $(base64_OBJECTS) $(base64_DEPENDENCIES) $(EXTRA_base64_DEPENDENCIES) 
	@rm -f base64$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(base64_OBJECTS) $(base64_LDADD) $(LIBS)

bitlock$(EXEEXT): $(bitlock_OBJECTS) $(bitlock_DEPENDENCIES) $(EXTRA_bitlock_DEPENDENCIES) 
	@rm -f bitlock$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(bitlock_OBJECTS) $(bitlock_LDADD) $(LIBS)

bookmarkfile$(EXEEXT): $(bookmarkfile_OBJECTS) $(bookmarkfile_DEPENDENCIES) $(EXTRA_bookmarkfile_DEPENDENCIES) 
	@rm -f bookmarkfile$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(bookmarkfile_OBJECTS) $(bookmarkfile_LDADD) $(LIBS)

bytes$(EXEEXT): $(bytes_OBJECTS) $(bytes_DEPENDENCIES) $(EXTRA_bytes_DEPENDENCIES) 
	@rm -f bytes$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(bytes_OBJECTS) $(bytes_LDADD) $(LIBS)

cache$(EXEEXT): $(cache_OBJECTS) $(cache_DEPENDENCIES) $(EXTRA_cache_DEPENDENCIES) 
	@rm -f cache$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(cache_OBJECTS) $(cache_LDADD) $(LIBS)

checksum$(EXEEXT): $(checksum_OBJECTS) $(checksum_DEPENDENCIES) $(EXTRA_checksum_DEPENDENCIES) 
	@rm -f checksum$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(checksum_OBJECTS) $(checksum_LDADD) $(LIBS)

collate$(EXEEXT): $(collate_OBJECTS) $(collate_DEPENDENCIES) $(EXTRA_collate_DEPENDENCIES) 
	@rm -f collate$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(collate_OBJECTS) $(collate_LDADD) $(LIBS)

cond$(EXEEXT): $(cond_OBJECTS) $(cond_DEPENDENCIES) $(EXTRA_cond_DEPENDENCIES) 
	@rm -f cond$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(cond_OBJECTS) $(cond_LDADD) $(LIBS)

convert$(EXEEXT): $(convert_OBJECTS) $(convert_DEPENDENCIES) $(EXTRA_convert_DEPENDENCIES) 
	@rm -f convert$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(convert_OBJECTS) $(convert_LDADD) $(LIBS)

dataset$(EXEEXT): $(dataset_OBJECTS) $(dataset_DEPENDENCIES) $(EXTRA_dataset_DEPENDENCIES) 
	@rm -f dataset$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(dataset_OBJECTS) $(dataset_LDADD) $(LIBS)

date$(EXEEXT): $(date_OBJECTS) $(date_DEPENDENCIES) $(EXTRA_date_DEPENDENCIES) 
	@rm -f date$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(date_OBJECTS) $(date_LDADD) $(LIBS)

dir$(EXEEXT): $(dir_OBJECTS) $(dir_DEPENDENCIES) $(EXTRA_dir_DEPENDENCIES) 
	@rm -f dir$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(dir_OBJECTS) $(dir_LDADD) $(LIBS)

environment$(EXEEXT): $(environment_OBJECTS) $(environment_DEPENDENCIES) $(EXTRA_environment_DEPENDENCIES) 
	@rm -f environment$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(environment_OBJECTS) $(environment_LDADD) $(LIBS)

error$(EXEEXT): $(error_OBJECTS) $(error_DEPENDENCIES) $(EXTRA_error_DEPENDENCIES) 
	@rm -f error$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(error_OBJECTS) $(error_LDADD) $(LIBS)

fileutils$(EXEEXT): $(fileutils_OBJECTS) $(fileutils_DEPENDENCIES) $(EXTRA_fileutils_DEPENDENCIES) 
	@rm -f fileutils$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fileutils_OBJECTS) $(fileutils_LDADD) $(LIBS)

gdatetime$(EXEEXT): $(gdatetime_OBJECTS) $(gdatetime_DEPENDENCIES) $(EXTRA_gdatetime_DEPENDENCIES) 
	@rm -f gdatetime$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(gdatetime_OBJECTS) $(gdatetime_LDADD) $(LIBS)

gvariant$(EXEEXT): $(gvariant_OBJECTS) $(gvariant_DEPENDENCIES) $(EXTRA_gvariant_DEPENDENCIES) 
	@rm -f gvariant$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(gvariant_OBJECTS) $(gvariant_LDADD) $(LIBS)

gwakeup$(EXEEXT): $(gwakeup_OBJECTS) $(gwakeup_DEPENDENCIES) $(EXTRA_gwakeup_DEPENDENCIES) 
	@rm -f gwakeup$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(gwakeup_OBJECTS) $(gwakeup_LDADD) $(LIBS)

gwakeup-fallback$(EXEEXT): $(gwakeup_fallback_OBJECTS) $(gwakeup_fallback_DEPENDENCIES) $(EXTRA_gwakeup_fallback_DEPENDENCIES) 
	@rm -f gwakeup-fallback$(EXEEXT)
	$(AM_V_CCLD)$(gwakeup_fallback_LINK) $(gwakeup_fallback_OBJECTS) $(gwakeup_fallback_LDADD) $(LIBS)

hash$(EXEEXT): $(hash_OBJECTS) $(hash_DEPENDENCIES) $(EXTRA_hash_DEPENDENCIES) 
	@rm -f hash$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(hash_OBJECTS) $(hash_LDADD) $(LIBS)

hmac$(EXEEXT): $(hmac_OBJECTS) $(hmac_DEPENDENCIES) $(EXTRA_hmac_DEPENDENCIES) 
	@rm -f hmac$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(hmac_OBJECTS) $(hmac_LDADD) $(LIBS)

hook$(EXEEXT): $(hook_OBJECTS) $(hook_DEPENDENCIES) $(EXTRA_hook_DEPENDENCIES) 
	@rm -f hook$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(hook_OBJECTS) $(hook_LDADD) $(LIBS)

hostutils$(EXEEXT): $(hostutils_OBJECTS) $(hostutils_DEPENDENCIES) $(EXTRA_hostutils_DEPENDENCIES) 
	@rm -f hostutils$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(hostutils_OBJECTS) $(hostutils_LDADD) $(LIBS)

include$(EXEEXT): $(include_OBJECTS) $(include_DEPENDENCIES) $(EXTRA_include_DEPENDENCIES) 
	@rm -f include$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(include_OBJECTS) $(include_LDADD) $(LIBS)

keyfile$(EXEEXT): $(keyfile_OBJECTS) $(keyfile_DEPENDENCIES) $(EXTRA_keyfile_DEPENDENCIES) 
	@rm -f keyfile$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(keyfile_OBJECTS) $(keyfile_LDADD) $(LIBS)

list$(EXEEXT): $(list_OBJECTS) $(list_DEPENDENCIES) $(EXTRA_list_DEPENDENCIES) 
	@rm -f list$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(list_OBJECTS) $(list_LDADD) $(LIBS)

logging$(EXEEXT): $(logging_OBJECTS) $(logging_DEPENDENCIES) $(EXTRA_logging_DEPENDENCIES) 
	@rm -f logging$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(logging_OBJECTS) $(logging_LDADD) $(LIBS)

mainloop$(EXEEXT): $(mainloop_OBJECTS) $(mainloop_DEPENDENCIES) $(EXTRA_mainloop_DEPENDENCIES) 
	@rm -f mainloop$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(mainloop_OBJECTS) $(mainloop_LDADD) $(LIBS)

mappedfile$(EXEEXT): $(mappedfile_OBJECTS) $(mappedfile_DEPENDENCIES) $(EXTRA_mappedfile_DEPENDENCIES) 
	@rm -f mappedfile$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(mappedfile_OBJECTS) $(mappedfile_LDADD) $(LIBS)

markup$(EXEEXT): $(markup_OBJECTS) $(markup_DEPENDENCIES) $(EXTRA_markup_DEPENDENCIES) 
	@rm -f markup$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(markup_OBJECTS) $(markup_LDADD) $(LIBS)

markup-collect$(EXEEXT): $(markup_collect_OBJECTS) $(markup_collect_DEPENDENCIES) $(EXTRA_markup_collect_DEPENDENCIES) 
	@rm -f markup-collect$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(markup_collect_OBJECTS) $(markup_collect_LDADD) $(LIBS)

markup-escape$(EXEEXT): $(markup_escape_OBJECTS) $(markup_escape_DEPENDENCIES) $(EXTRA_markup_escape_DEPENDENCIES) 
	@rm -f markup-escape$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(markup_escape_OBJECTS) $(markup_escape_LDADD) $(LIBS)

markup-parse$(EXEEXT): $(markup_parse_OBJECTS) $(markup_parse_DEPENDENCIES) $(EXTRA_markup_parse_DEPENDENCIES) 
	@rm -f markup-parse$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(markup_parse_OBJECTS) $(markup_parse_LDADD) $(LIBS)

markup-subparser$(EXEEXT): $(markup_subparser_OBJECTS) $(markup_subparser_DEPENDENCIES) $(EXTRA_markup_subparser_DEPENDENCIES) 
	@rm -f markup-subparser$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(markup_subparser_OBJECTS) $(markup_subparser_LDADD) $(LIBS)

mem-overflow$(EXEEXT): $(mem_overflow_OBJECTS) $(mem_overflow_DEPENDENCIES) $(EXTRA_mem_overflow_DEPENDENCIES) 
	@rm -f mem-overflow$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(mem_overflow_OBJECTS) $(mem_overflow_LDADD) $(LIBS)

mutex$(EXEEXT): $(mutex_OBJECTS) $(mutex_DEPENDENCIES) $(EXTRA_mutex_DEPENDENCIES) 
	@rm -f mutex$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(mutex_OBJECTS) $(mutex_LDADD) $(LIBS)

node$(EXEEXT): $(node_OBJECTS) $(node_DEPENDENCIES) $(EXTRA_node_DEPENDENCIES) 
	@rm -f node$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(node_OBJECTS) $(node_LDADD) $(LIBS)

once$(EXEEXT): $(once_OBJECTS) $(once_DEPENDENCIES) $(EXTRA_once_DEPENDENCIES) 
	@rm -f once$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(once_OBJECTS) $(once_LDADD) $(LIBS)

option-argv0$(EXEEXT): $(option_argv0_OBJECTS) $(option_argv0_DEPENDENCIES) $(EXTRA_option_argv0_DEPENDENCIES) 
	@rm -f option-argv0$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(option_argv0_OBJECTS) $(option_argv0_LDADD) $(LIBS)

option-context$(EXEEXT): $(option_context_OBJECTS) $(option_context_DEPENDENCIES) $(EXTRA_option_context_DEPENDENCIES) 
	@rm -f option-context$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(option_context_OBJECTS) $(option_context_LDADD) $(LIBS)

overflow$(EXEEXT): $(overflow_OBJECTS) $(overflow_DEPENDENCIES) $(EXTRA_overflow_DEPENDENCIES) 
	@rm -f overflow$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(overflow_OBJECTS) $(overflow_LDADD) $(LIBS)

overflow-fallback$(EXEEXT): $(overflow_fallback_OBJECTS) $(overflow_fallback_DEPENDENCIES) $(EXTRA_overflow_fallback_DEPENDENCIES) 
	@rm -f overflow-fallback$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(overflow_fallback_OBJECTS) $(overflow_fallback_LDADD) $(LIBS)

pattern$(EXEEXT): $(pattern_OBJECTS) $(pattern_DEPENDENCIES) $(EXTRA_pattern_DEPENDENCIES) 
	@rm -f pattern$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pattern_OBJECTS) $(pattern_LDADD) $(LIBS)

private$(EXEEXT): $(private_OBJECTS) $(private_DEPENDENCIES) $(EXTRA_private_DEPENDENCIES) 
	@rm -f private$(EXEEXT)
	$(AM_V_CCLD)$(private_LINK) $(private_OBJECTS) $(private_LDADD) $(LIBS)

protocol$(EXEEXT): $(protocol_OBJECTS) $(protocol_DEPENDENCIES) $(EXTRA_protocol_DEPENDENCIES) 
	@rm -f protocol$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(protocol_OBJECTS) $(protocol_LDADD) $(LIBS)

queue$(EXEEXT): $(queue_OBJECTS) $(queue_DEPENDENCIES) $(EXTRA_queue_DEPENDENCIES) 
	@rm -f queue$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(queue_OBJECTS) $(queue_LDADD) $(LIBS)

rand$(EXEEXT): $(rand_OBJECTS) $(rand_DEPENDENCIES) $(EXTRA_rand_DEPENDENCIES) 
	@rm -f rand$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(rand_OBJECTS) $(rand_LDADD) $(LIBS)

rec-mutex$(EXEEXT): $(rec_mutex_OBJECTS) $(rec_mutex_DEPENDENCIES) $(EXTRA_rec_mutex_DEPENDENCIES) 
	@rm -f rec-mutex$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(rec_mutex_OBJECTS) $(rec_mutex_LDADD) $(LIBS)

regex$(EXEEXT): $(regex_OBJECTS) $(regex_DEPENDENCIES) $(EXTRA_regex_DEPENDENCIES) 
	@rm -f regex$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(regex_OBJECTS) $(regex_LDADD) $(LIBS)

rwlock$(EXEEXT): $(rwlock_OBJECTS) $(rwlock_DEPENDENCIES) $(EXTRA_rwlock_DEPENDENCIES) 
	@rm -f rwlock$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(rwlock_OBJECTS) $(rwlock_LDADD) $(LIBS)

scannerapi$(EXEEXT): $(scannerapi_OBJECTS) $(scannerapi_DEPENDENCIES) $(EXTRA_scannerapi_DEPENDENCIES) 
	@rm -f scannerapi$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(scannerapi_OBJECTS) $(scannerapi_LDADD) $(LIBS)

search-utils$(EXEEXT): $(search_utils_OBJECTS) $(search_utils_DEPENDENCIES) $(EXTRA_search_utils_DEPENDENCIES) 
	@rm -f search-utils$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(search_utils_OBJECTS) $(search_utils_LDADD) $(LIBS)

sequence$(EXEEXT): $(sequence_OBJECTS) $(sequence_DEPENDENCIES) $(EXTRA_sequence_DEPENDENCIES) 
	@rm -f sequence$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sequence_OBJECTS) $(sequence_LDADD) $(LIBS)

shell$(EXEEXT): $(shell_OBJECTS) $(shell_DEPENDENCIES) $(EXTRA_shell_DEPENDENCIES) 
	@rm -f shell$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(shell_OBJECTS) $(shell_LDADD) $(LIBS)

slice$(EXEEXT): $(slice_OBJECTS) $(slice_DEPENDENCIES) $(EXTRA_slice_DEPENDENCIES) 
	@rm -f slice$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(slice_OBJECTS) $(slice_LDADD) $(LIBS)

slist$(EXEEXT): $(slist_OBJECTS) $(slist_DEPENDENCIES) $(EXTRA_slist_DEPENDENCIES) 
	@rm -f slist$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(slist_OBJECTS) $(slist_LDADD) $(LIBS)

sort$(EXEEXT): $(sort_OBJECTS) $(sort_DEPENDENCIES) $(EXTRA_sort_DEPENDENCIES) 
	@rm -f sort$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sort_OBJECTS) $(sort_LDADD) $(LIBS)

spawn-multithreaded$(EXEEXT): $(spawn_multithreaded_OBJECTS) $(spawn_multithreaded_DEPENDENCIES) $(EXTRA_spawn_multithreaded_DEPENDENCIES) 
	@rm -f spawn-multithreaded$(EXEEXT)
	$(AM_V_CCLD)$(spawn_multithreaded_LINK) $(spawn_multithreaded_OBJECTS) $(spawn_multithreaded_LDADD) $(LIBS)

spawn-singlethread$(EXEEXT): $(spawn_singlethread_OBJECTS) $(spawn_singlethread_DEPENDENCIES) $(EXTRA_spawn_singlethread_DEPENDENCIES) 
	@rm -f spawn-singlethread$(EXEEXT)
	$(AM_V_CCLD)$(spawn_singlethread_LINK) $(spawn_singlethread_OBJECTS) $(spawn_singlethread_LDADD) $(LIBS)

strfuncs$(EXEEXT): $(strfuncs_OBJECTS) $(strfuncs_DEPENDENCIES) $(EXTRA_strfuncs_DEPENDENCIES) 
	@rm -f strfuncs$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(strfuncs_OBJECTS) $(strfuncs_LDADD) $(LIBS)

string$(EXEEXT): $(string_OBJECTS) $(string_DEPENDENCIES) $(EXTRA_string_DEPENDENCIES) 
	@rm -f string$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(string_OBJECTS) $(string_LDADD) $(LIBS)

test-printf$(EXEEXT): $(test_printf_OBJECTS) $(test_printf_DEPENDENCIES) $(EXTRA_test_printf_DEPENDENCIES) 
	@rm -f test-printf$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(test_printf_OBJECTS) $(test_printf_LDADD) $(LIBS)

test-spawn-echo$(EXEEXT): $(test_spawn_echo_OBJECTS) $(test_spawn_echo_DEPENDENCIES) $(EXTRA_test_spawn_echo_DEPENDENCIES) 
	@rm -f test-spawn-echo$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(test_spawn_echo_OBJECTS) $(test_spawn_echo_LDADD) $(LIBS)

testing$(EXEEXT): $(testing_OBJECTS) $(testing_DEPENDENCIES) $(EXTRA_testing_DEPENDENCIES) 
	@rm -f testing$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(testing_OBJECTS) $(testing_LDADD) $(LIBS)

thread$(EXEEXT): $(thread_OBJECTS) $(thread_DEPENDENCIES) $(EXTRA_thread_DEPENDENCIES) 
	@rm -f thread$(EXEEXT)
	$(AM_V_CCLD)$(thread_LINK) $(thread_OBJECTS) $(thread_LDADD) $(LIBS)

timeout$(EXEEXT): $(timeout_OBJECTS) $(timeout_DEPENDENCIES) $(EXTRA_timeout_DEPENDENCIES) 
	@rm -f timeout$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(timeout_OBJECTS) $(timeout_LDADD) $(LIBS)

timer$(EXEEXT): $(timer_OBJECTS) $(timer_DEPENDENCIES) $(EXTRA_timer_DEPENDENCIES) 
	@rm -f timer$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(timer_OBJECTS) $(timer_LDADD) $(LIBS)

tree$(EXEEXT): $(tree_OBJECTS) $(tree_DEPENDENCIES) $(EXTRA_tree_DEPENDENCIES) 
	@rm -f tree$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree_OBJECTS) $(tree_LDADD) $(LIBS)

unicode$(EXEEXT): $(unicode_OBJECTS) $(unicode_DEPENDENCIES) $(EXTRA_unicode_DEPENDENCIES) 
	@rm -f unicode$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(unicode_OBJECTS) $(unicode_LDADD) $(LIBS)

unix$(EXEEXT): $(unix_OBJECTS) $(unix_DEPENDENCIES) $(EXTRA_unix_DEPENDENCIES) 
	@rm -f unix$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(unix_OBJECTS) $(unix_LDADD) $(LIBS)

uri$(EXEEXT): $(uri_OBJECTS) $(uri_DEPENDENCIES) $(EXTRA_uri_DEPENDENCIES) 
	@rm -f uri$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(uri_OBJECTS) $(uri_LDADD) $(LIBS)

utf8-misc$(EXEEXT): $(utf8_misc_OBJECTS) $(utf8_misc_DEPENDENCIES) $(EXTRA_utf8_misc_DEPENDENCIES) 
	@rm -f utf8-misc$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(utf8_misc_OBJECTS) $(utf8_misc_LDADD) $(LIBS)

utf8-performance$(EXEEXT): $(utf8_performance_OBJECTS) $(utf8_performance_DEPENDENCIES) $(EXTRA_utf8_performance_DEPENDENCIES) 
	@rm -f utf8-performance$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(utf8_performance_OBJECTS) $(utf8_performance_LDADD) $(LIBS)

utf8-pointer$(EXEEXT): $(utf8_pointer_OBJECTS) $(utf8_pointer_DEPENDENCIES) $(EXTRA_utf8_pointer_DEPENDENCIES) 
	@rm -f utf8-pointer$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(utf8_pointer_OBJECTS) $(utf8_pointer_LDADD) $(LIBS)

utf8-validate$(EXEEXT): $(utf8_validate_OBJECTS) $(utf8_validate_DEPENDENCIES) $(EXTRA_utf8_validate_DEPENDENCIES) 
	@rm -f utf8-validate$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(utf8_validate_OBJECTS) $(utf8_validate_LDADD) $(LIBS)

utils$(EXEEXT): $(utils_OBJECTS) $(utils_DEPENDENCIES) $(EXTRA_utils_DEPENDENCIES) 
	@rm -f utils$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(utils_OBJECTS) $(utils_LDADD) $(LIBS)
install-installed_testSCRIPTS: $(installed_test_SCRIPTS)
	@$(NORMAL_INSTALL)
	@list='$(installed_test_SCRIPTS)'; test -n "$(installed_testdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(installed_testdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(installed_testdir)" || exit 1; \
	fi; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  if test -f "$$d$$p"; then echo "$$d$$p"; echo "$$p"; else :; fi; \
	done | \
	sed -e 'p;s,.*/,,;n' \
	    -e 'h;s|.*|.|' \
	    -e 'p;x;s,.*/,,;$(transform)' | 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; \
	      if (++n[d] == $(am__install_max)) { \
		print "f", d, files[d]; n[d] = 0; files[d] = "" } } \
	    else { print "f", d "/" $$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_SCRIPT) $$files '$(DESTDIR)$(installed_testdir)$$dir'"; \
	       $(INSTALL_SCRIPT) $$files "$(DESTDIR)$(installed_testdir)$$dir" || exit $$?; \
	     } \
	; done

uninstall-installed_testSCRIPTS:
	@$(NORMAL_UNINSTALL)
	@list='$(installed_test_SCRIPTS)'; test -n "$(installed_testdir)" || exit 0; \
	files=`for p in $$list; do echo "$$p"; done | \
	       sed -e 's,.*/,,;$(transform)'`; \
	dir='$(DESTDIR)$(installed_testdir)'; $(am__uninstall_files_from_dir)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/1bit-mutex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/1bit_emufutex-1bit-mutex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/642026.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/642026_ec-642026.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asyncqueue.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic-atomic.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/autoptr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitlock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bookmarkfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bytes.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cache.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checksum.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/collate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cond.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/convert.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dataset.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/date.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dir.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/environment.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fileutils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gdatetime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvariant.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gwakeup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gwakeup_fallback-gwakeup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gwakeup_fallback-gwakeuptest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gwakeuptest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hmac.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hook.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hostutils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/include.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/keyfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/logging.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mainloop.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mappedfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markup-collect.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markup-escape.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markup-parse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markup-subparser.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mem-overflow.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/node.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/once.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/option-argv0.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/option-context.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/overflow.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pattern.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/private.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protocol.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queue.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rand.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rec-mutex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rwlock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scannerapi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/search-utils.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sequence.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slice.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slist.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sort.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spawn-multithreaded.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spawn-singlethread.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strfuncs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-printf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-spawn-echo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testing.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timeout.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unicode.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unix.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uri.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8-misc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8-performance.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8-pointer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utf8-validate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Po@am__quote@

.c.o:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.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)$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.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)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.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 $@ $<

1bit_emufutex-1bit-mutex.o: 1bit-mutex.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(1bit_emufutex_CFLAGS) $(CFLAGS) -MT 1bit_emufutex-1bit-mutex.o -MD -MP -MF $(DEPDIR)/1bit_emufutex-1bit-mutex.Tpo -c -o 1bit_emufutex-1bit-mutex.o `test -f '1bit-mutex.c' || echo '$(srcdir)/'`1bit-mutex.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/1bit_emufutex-1bit-mutex.Tpo $(DEPDIR)/1bit_emufutex-1bit-mutex.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='1bit-mutex.c' object='1bit_emufutex-1bit-mutex.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) $(1bit_emufutex_CFLAGS) $(CFLAGS) -c -o 1bit_emufutex-1bit-mutex.o `test -f '1bit-mutex.c' || echo '$(srcdir)/'`1bit-mutex.c

1bit_emufutex-1bit-mutex.obj: 1bit-mutex.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(1bit_emufutex_CFLAGS) $(CFLAGS) -MT 1bit_emufutex-1bit-mutex.obj -MD -MP -MF $(DEPDIR)/1bit_emufutex-1bit-mutex.Tpo -c -o 1bit_emufutex-1bit-mutex.obj `if test -f '1bit-mutex.c'; then $(CYGPATH_W) '1bit-mutex.c'; else $(CYGPATH_W) '$(srcdir)/1bit-mutex.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/1bit_emufutex-1bit-mutex.Tpo $(DEPDIR)/1bit_emufutex-1bit-mutex.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='1bit-mutex.c' object='1bit_emufutex-1bit-mutex.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) $(1bit_emufutex_CFLAGS) $(CFLAGS) -c -o 1bit_emufutex-1bit-mutex.obj `if test -f '1bit-mutex.c'; then $(CYGPATH_W) '1bit-mutex.c'; else $(CYGPATH_W) '$(srcdir)/1bit-mutex.c'; fi`

642026_ec-642026.o: 642026.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(642026_ec_CFLAGS) $(CFLAGS) -MT 642026_ec-642026.o -MD -MP -MF $(DEPDIR)/642026_ec-642026.Tpo -c -o 642026_ec-642026.o `test -f '642026.c' || echo '$(srcdir)/'`642026.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/642026_ec-642026.Tpo $(DEPDIR)/642026_ec-642026.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='642026.c' object='642026_ec-642026.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) $(642026_ec_CFLAGS) $(CFLAGS) -c -o 642026_ec-642026.o `test -f '642026.c' || echo '$(srcdir)/'`642026.c

642026_ec-642026.obj: 642026.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(642026_ec_CFLAGS) $(CFLAGS) -MT 642026_ec-642026.obj -MD -MP -MF $(DEPDIR)/642026_ec-642026.Tpo -c -o 642026_ec-642026.obj `if test -f '642026.c'; then $(CYGPATH_W) '642026.c'; else $(CYGPATH_W) '$(srcdir)/642026.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/642026_ec-642026.Tpo $(DEPDIR)/642026_ec-642026.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='642026.c' object='642026_ec-642026.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) $(642026_ec_CFLAGS) $(CFLAGS) -c -o 642026_ec-642026.obj `if test -f '642026.c'; then $(CYGPATH_W) '642026.c'; else $(CYGPATH_W) '$(srcdir)/642026.c'; fi`

atomic-atomic.o: atomic.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(atomic_CFLAGS) $(CFLAGS) -MT atomic-atomic.o -MD -MP -MF $(DEPDIR)/atomic-atomic.Tpo -c -o atomic-atomic.o `test -f 'atomic.c' || echo '$(srcdir)/'`atomic.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/atomic-atomic.Tpo $(DEPDIR)/atomic-atomic.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='atomic.c' object='atomic-atomic.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) $(atomic_CFLAGS) $(CFLAGS) -c -o atomic-atomic.o `test -f 'atomic.c' || echo '$(srcdir)/'`atomic.c

atomic-atomic.obj: atomic.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(atomic_CFLAGS) $(CFLAGS) -MT atomic-atomic.obj -MD -MP -MF $(DEPDIR)/atomic-atomic.Tpo -c -o atomic-atomic.obj `if test -f 'atomic.c'; then $(CYGPATH_W) 'atomic.c'; else $(CYGPATH_W) '$(srcdir)/atomic.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/atomic-atomic.Tpo $(DEPDIR)/atomic-atomic.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='atomic.c' object='atomic-atomic.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) $(atomic_CFLAGS) $(CFLAGS) -c -o atomic-atomic.obj `if test -f 'atomic.c'; then $(CYGPATH_W) 'atomic.c'; else $(CYGPATH_W) '$(srcdir)/atomic.c'; fi`

gwakeup.o: ../../glib/gwakeup.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gwakeup.o -MD -MP -MF $(DEPDIR)/gwakeup.Tpo -c -o gwakeup.o `test -f '../../glib/gwakeup.c' || echo '$(srcdir)/'`../../glib/gwakeup.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gwakeup.Tpo $(DEPDIR)/gwakeup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../../glib/gwakeup.c' object='gwakeup.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) $(AM_CFLAGS) $(CFLAGS) -c -o gwakeup.o `test -f '../../glib/gwakeup.c' || echo '$(srcdir)/'`../../glib/gwakeup.c

gwakeup.obj: ../../glib/gwakeup.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT gwakeup.obj -MD -MP -MF $(DEPDIR)/gwakeup.Tpo -c -o gwakeup.obj `if test -f '../../glib/gwakeup.c'; then $(CYGPATH_W) '../../glib/gwakeup.c'; else $(CYGPATH_W) '$(srcdir)/../../glib/gwakeup.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gwakeup.Tpo $(DEPDIR)/gwakeup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../../glib/gwakeup.c' object='gwakeup.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) $(AM_CFLAGS) $(CFLAGS) -c -o gwakeup.obj `if test -f '../../glib/gwakeup.c'; then $(CYGPATH_W) '../../glib/gwakeup.c'; else $(CYGPATH_W) '$(srcdir)/../../glib/gwakeup.c'; fi`

gwakeup_fallback-gwakeuptest.o: gwakeuptest.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gwakeup_fallback_CFLAGS) $(CFLAGS) -MT gwakeup_fallback-gwakeuptest.o -MD -MP -MF $(DEPDIR)/gwakeup_fallback-gwakeuptest.Tpo -c -o gwakeup_fallback-gwakeuptest.o `test -f 'gwakeuptest.c' || echo '$(srcdir)/'`gwakeuptest.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gwakeup_fallback-gwakeuptest.Tpo $(DEPDIR)/gwakeup_fallback-gwakeuptest.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gwakeuptest.c' object='gwakeup_fallback-gwakeuptest.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) $(gwakeup_fallback_CFLAGS) $(CFLAGS) -c -o gwakeup_fallback-gwakeuptest.o `test -f 'gwakeuptest.c' || echo '$(srcdir)/'`gwakeuptest.c

gwakeup_fallback-gwakeuptest.obj: gwakeuptest.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gwakeup_fallback_CFLAGS) $(CFLAGS) -MT gwakeup_fallback-gwakeuptest.obj -MD -MP -MF $(DEPDIR)/gwakeup_fallback-gwakeuptest.Tpo -c -o gwakeup_fallback-gwakeuptest.obj `if test -f 'gwakeuptest.c'; then $(CYGPATH_W) 'gwakeuptest.c'; else $(CYGPATH_W) '$(srcdir)/gwakeuptest.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gwakeup_fallback-gwakeuptest.Tpo $(DEPDIR)/gwakeup_fallback-gwakeuptest.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='gwakeuptest.c' object='gwakeup_fallback-gwakeuptest.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) $(gwakeup_fallback_CFLAGS) $(CFLAGS) -c -o gwakeup_fallback-gwakeuptest.obj `if test -f 'gwakeuptest.c'; then $(CYGPATH_W) 'gwakeuptest.c'; else $(CYGPATH_W) '$(srcdir)/gwakeuptest.c'; fi`

gwakeup_fallback-gwakeup.o: ../../glib/gwakeup.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gwakeup_fallback_CFLAGS) $(CFLAGS) -MT gwakeup_fallback-gwakeup.o -MD -MP -MF $(DEPDIR)/gwakeup_fallback-gwakeup.Tpo -c -o gwakeup_fallback-gwakeup.o `test -f '../../glib/gwakeup.c' || echo '$(srcdir)/'`../../glib/gwakeup.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gwakeup_fallback-gwakeup.Tpo $(DEPDIR)/gwakeup_fallback-gwakeup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../../glib/gwakeup.c' object='gwakeup_fallback-gwakeup.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) $(gwakeup_fallback_CFLAGS) $(CFLAGS) -c -o gwakeup_fallback-gwakeup.o `test -f '../../glib/gwakeup.c' || echo '$(srcdir)/'`../../glib/gwakeup.c

gwakeup_fallback-gwakeup.obj: ../../glib/gwakeup.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(gwakeup_fallback_CFLAGS) $(CFLAGS) -MT gwakeup_fallback-gwakeup.obj -MD -MP -MF $(DEPDIR)/gwakeup_fallback-gwakeup.Tpo -c -o gwakeup_fallback-gwakeup.obj `if test -f '../../glib/gwakeup.c'; then $(CYGPATH_W) '../../glib/gwakeup.c'; else $(CYGPATH_W) '$(srcdir)/../../glib/gwakeup.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/gwakeup_fallback-gwakeup.Tpo $(DEPDIR)/gwakeup_fallback-gwakeup.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../../glib/gwakeup.c' object='gwakeup_fallback-gwakeup.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) $(gwakeup_fallback_CFLAGS) $(CFLAGS) -c -o gwakeup_fallback-gwakeup.obj `if test -f '../../glib/gwakeup.c'; then $(CYGPATH_W) '../../glib/gwakeup.c'; else $(CYGPATH_W) '$(srcdir)/../../glib/gwakeup.c'; fi`

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
install-installed_test_metaDATA: $(installed_test_meta_DATA)
	@$(NORMAL_INSTALL)
	@list='$(installed_test_meta_DATA)'; test -n "$(installed_test_metadir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(installed_test_metadir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(installed_test_metadir)" || 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)$(installed_test_metadir)'"; \
	  $(INSTALL_DATA) $$files "$(DESTDIR)$(installed_test_metadir)" || exit $$?; \
	done

uninstall-installed_test_metaDATA:
	@$(NORMAL_UNINSTALL)
	@list='$(installed_test_meta_DATA)'; test -n "$(installed_test_metadir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(installed_test_metadir)'; $(am__uninstall_files_from_dir)
install-nobase_installed_testDATA: $(nobase_installed_test_DATA)
	@$(NORMAL_INSTALL)
	@list='$(nobase_installed_test_DATA)'; test -n "$(installed_testdir)" || list=; \
	if test -n "$$list"; then \
	  echo " $(MKDIR_P) '$(DESTDIR)$(installed_testdir)'"; \
	  $(MKDIR_P) "$(DESTDIR)$(installed_testdir)" || exit 1; \
	fi; \
	$(am__nobase_list) | while read dir files; do \
	  xfiles=; for file in $$files; do \
	    if test -f "$$file"; then xfiles="$$xfiles $$file"; \
	    else xfiles="$$xfiles $(srcdir)/$$file"; fi; done; \
	  test -z "$$xfiles" || { \
	    test "x$$dir" = x. || { \
	      echo " $(MKDIR_P) '$(DESTDIR)$(installed_testdir)/$$dir'"; \
	      $(MKDIR_P) "$(DESTDIR)$(installed_testdir)/$$dir"; }; \
	    echo " $(INSTALL_DATA) $$xfiles '$(DESTDIR)$(installed_testdir)/$$dir'"; \
	    $(INSTALL_DATA) $$xfiles "$(DESTDIR)$(installed_testdir)/$$dir" || exit $$?; }; \
	done

uninstall-nobase_installed_testDATA:
	@$(NORMAL_UNINSTALL)
	@list='$(nobase_installed_test_DATA)'; test -n "$(installed_testdir)" || list=; \
	$(am__nobase_strip_setup); files=`$(am__nobase_strip)`; \
	dir='$(DESTDIR)$(installed_testdir)'; $(am__uninstall_files_from_dir)

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

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	$(am__define_uniq_tagged_files); \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: ctags-am

CTAGS: ctags
ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	$(am__define_uniq_tagged_files); \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && $(am__cd) $(top_srcdir) \
	  && gtags -i $(GTAGS_ARGS) "$$here"
cscopelist: cscopelist-am

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

distclean-tags:
	-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags

# 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_LTLIBRARIES) $(check_PROGRAMS) $(check_SCRIPTS) $(check_DATA)
	@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)
asyncqueue.log: asyncqueue$(EXEEXT)
	@p='asyncqueue$(EXEEXT)'; \
	b='asyncqueue'; \
	$(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)
base64.log: base64$(EXEEXT)
	@p='base64$(EXEEXT)'; \
	b='base64'; \
	$(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)
bitlock.log: bitlock$(EXEEXT)
	@p='bitlock$(EXEEXT)'; \
	b='bitlock'; \
	$(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)
bookmarkfile.log: bookmarkfile$(EXEEXT)
	@p='bookmarkfile$(EXEEXT)'; \
	b='bookmarkfile'; \
	$(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)
bytes.log: bytes$(EXEEXT)
	@p='bytes$(EXEEXT)'; \
	b='bytes'; \
	$(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)
cache.log: cache$(EXEEXT)
	@p='cache$(EXEEXT)'; \
	b='cache'; \
	$(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)
checksum.log: checksum$(EXEEXT)
	@p='checksum$(EXEEXT)'; \
	b='checksum'; \
	$(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)
collate.log: collate$(EXEEXT)
	@p='collate$(EXEEXT)'; \
	b='collate'; \
	$(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)
cond.log: cond$(EXEEXT)
	@p='cond$(EXEEXT)'; \
	b='cond'; \
	$(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)
convert.log: convert$(EXEEXT)
	@p='convert$(EXEEXT)'; \
	b='convert'; \
	$(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)
dataset.log: dataset$(EXEEXT)
	@p='dataset$(EXEEXT)'; \
	b='dataset'; \
	$(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)
date.log: date$(EXEEXT)
	@p='date$(EXEEXT)'; \
	b='date'; \
	$(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)
dir.log: dir$(EXEEXT)
	@p='dir$(EXEEXT)'; \
	b='dir'; \
	$(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)
environment.log: environment$(EXEEXT)
	@p='environment$(EXEEXT)'; \
	b='environment'; \
	$(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)
error.log: error$(EXEEXT)
	@p='error$(EXEEXT)'; \
	b='error'; \
	$(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)
fileutils.log: fileutils$(EXEEXT)
	@p='fileutils$(EXEEXT)'; \
	b='fileutils'; \
	$(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)
gdatetime.log: gdatetime$(EXEEXT)
	@p='gdatetime$(EXEEXT)'; \
	b='gdatetime'; \
	$(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)
gvariant.log: gvariant$(EXEEXT)
	@p='gvariant$(EXEEXT)'; \
	b='gvariant'; \
	$(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)
hash.log: hash$(EXEEXT)
	@p='hash$(EXEEXT)'; \
	b='hash'; \
	$(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)
hmac.log: hmac$(EXEEXT)
	@p='hmac$(EXEEXT)'; \
	b='hmac'; \
	$(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)
hook.log: hook$(EXEEXT)
	@p='hook$(EXEEXT)'; \
	b='hook'; \
	$(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)
hostutils.log: hostutils$(EXEEXT)
	@p='hostutils$(EXEEXT)'; \
	b='hostutils'; \
	$(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)
keyfile.log: keyfile$(EXEEXT)
	@p='keyfile$(EXEEXT)'; \
	b='keyfile'; \
	$(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.log: list$(EXEEXT)
	@p='list$(EXEEXT)'; \
	b='list'; \
	$(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)
logging.log: logging$(EXEEXT)
	@p='logging$(EXEEXT)'; \
	b='logging'; \
	$(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)
mainloop.log: mainloop$(EXEEXT)
	@p='mainloop$(EXEEXT)'; \
	b='mainloop'; \
	$(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)
mappedfile.log: mappedfile$(EXEEXT)
	@p='mappedfile$(EXEEXT)'; \
	b='mappedfile'; \
	$(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)
markup.log: markup$(EXEEXT)
	@p='markup$(EXEEXT)'; \
	b='markup'; \
	$(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)
markup-parse.log: markup-parse$(EXEEXT)
	@p='markup-parse$(EXEEXT)'; \
	b='markup-parse'; \
	$(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)
markup-collect.log: markup-collect$(EXEEXT)
	@p='markup-collect$(EXEEXT)'; \
	b='markup-collect'; \
	$(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)
markup-escape.log: markup-escape$(EXEEXT)
	@p='markup-escape$(EXEEXT)'; \
	b='markup-escape'; \
	$(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)
markup-subparser.log: markup-subparser$(EXEEXT)
	@p='markup-subparser$(EXEEXT)'; \
	b='markup-subparser'; \
	$(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)
mem-overflow.log: mem-overflow$(EXEEXT)
	@p='mem-overflow$(EXEEXT)'; \
	b='mem-overflow'; \
	$(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)
mutex.log: mutex$(EXEEXT)
	@p='mutex$(EXEEXT)'; \
	b='mutex'; \
	$(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)
node.log: node$(EXEEXT)
	@p='node$(EXEEXT)'; \
	b='node'; \
	$(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)
once.log: once$(EXEEXT)
	@p='once$(EXEEXT)'; \
	b='once'; \
	$(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)
option-context.log: option-context$(EXEEXT)
	@p='option-context$(EXEEXT)'; \
	b='option-context'; \
	$(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)
option-argv0.log: option-argv0$(EXEEXT)
	@p='option-argv0$(EXEEXT)'; \
	b='option-argv0'; \
	$(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)
overflow.log: overflow$(EXEEXT)
	@p='overflow$(EXEEXT)'; \
	b='overflow'; \
	$(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)
overflow-fallback.log: overflow-fallback$(EXEEXT)
	@p='overflow-fallback$(EXEEXT)'; \
	b='overflow-fallback'; \
	$(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)
pattern.log: pattern$(EXEEXT)
	@p='pattern$(EXEEXT)'; \
	b='pattern'; \
	$(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)
private.log: private$(EXEEXT)
	@p='private$(EXEEXT)'; \
	b='private'; \
	$(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.log: protocol$(EXEEXT)
	@p='protocol$(EXEEXT)'; \
	b='protocol'; \
	$(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.log: queue$(EXEEXT)
	@p='queue$(EXEEXT)'; \
	b='queue'; \
	$(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)
rand.log: rand$(EXEEXT)
	@p='rand$(EXEEXT)'; \
	b='rand'; \
	$(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)
rec-mutex.log: rec-mutex$(EXEEXT)
	@p='rec-mutex$(EXEEXT)'; \
	b='rec-mutex'; \
	$(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)
regex.log: regex$(EXEEXT)
	@p='regex$(EXEEXT)'; \
	b='regex'; \
	$(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)
rwlock.log: rwlock$(EXEEXT)
	@p='rwlock$(EXEEXT)'; \
	b='rwlock'; \
	$(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)
scannerapi.log: scannerapi$(EXEEXT)
	@p='scannerapi$(EXEEXT)'; \
	b='scannerapi'; \
	$(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)
search-utils.log: search-utils$(EXEEXT)
	@p='search-utils$(EXEEXT)'; \
	b='search-utils'; \
	$(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)
sequence.log: sequence$(EXEEXT)
	@p='sequence$(EXEEXT)'; \
	b='sequence'; \
	$(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)
shell.log: shell$(EXEEXT)
	@p='shell$(EXEEXT)'; \
	b='shell'; \
	$(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)
slice.log: slice$(EXEEXT)
	@p='slice$(EXEEXT)'; \
	b='slice'; \
	$(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)
slist.log: slist$(EXEEXT)
	@p='slist$(EXEEXT)'; \
	b='slist'; \
	$(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)
sort.log: sort$(EXEEXT)
	@p='sort$(EXEEXT)'; \
	b='sort'; \
	$(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)
spawn-multithreaded.log: spawn-multithreaded$(EXEEXT)
	@p='spawn-multithreaded$(EXEEXT)'; \
	b='spawn-multithreaded'; \
	$(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)
spawn-singlethread.log: spawn-singlethread$(EXEEXT)
	@p='spawn-singlethread$(EXEEXT)'; \
	b='spawn-singlethread'; \
	$(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)
strfuncs.log: strfuncs$(EXEEXT)
	@p='strfuncs$(EXEEXT)'; \
	b='strfuncs'; \
	$(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)
string.log: string$(EXEEXT)
	@p='string$(EXEEXT)'; \
	b='string'; \
	$(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)
testing.log: testing$(EXEEXT)
	@p='testing$(EXEEXT)'; \
	b='testing'; \
	$(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-printf.log: test-printf$(EXEEXT)
	@p='test-printf$(EXEEXT)'; \
	b='test-printf'; \
	$(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)
thread.log: thread$(EXEEXT)
	@p='thread$(EXEEXT)'; \
	b='thread'; \
	$(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)
timeout.log: timeout$(EXEEXT)
	@p='timeout$(EXEEXT)'; \
	b='timeout'; \
	$(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)
timer.log: timer$(EXEEXT)
	@p='timer$(EXEEXT)'; \
	b='timer'; \
	$(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)
tree.log: tree$(EXEEXT)
	@p='tree$(EXEEXT)'; \
	b='tree'; \
	$(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)
utf8-performance.log: utf8-performance$(EXEEXT)
	@p='utf8-performance$(EXEEXT)'; \
	b='utf8-performance'; \
	$(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)
utf8-pointer.log: utf8-pointer$(EXEEXT)
	@p='utf8-pointer$(EXEEXT)'; \
	b='utf8-pointer'; \
	$(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)
utf8-validate.log: utf8-validate$(EXEEXT)
	@p='utf8-validate$(EXEEXT)'; \
	b='utf8-validate'; \
	$(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)
utf8-misc.log: utf8-misc$(EXEEXT)
	@p='utf8-misc$(EXEEXT)'; \
	b='utf8-misc'; \
	$(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)
utils.log: utils$(EXEEXT)
	@p='utils$(EXEEXT)'; \
	b='utils'; \
	$(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)
unicode.log: unicode$(EXEEXT)
	@p='unicode$(EXEEXT)'; \
	b='unicode'; \
	$(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)
uri.log: uri$(EXEEXT)
	@p='uri$(EXEEXT)'; \
	b='uri'; \
	$(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)
1bit-mutex.log: 1bit-mutex$(EXEEXT)
	@p='1bit-mutex$(EXEEXT)'; \
	b='1bit-mutex'; \
	$(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)
642026.log: 642026$(EXEEXT)
	@p='642026$(EXEEXT)'; \
	b='642026'; \
	$(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)
atomic.log: atomic$(EXEEXT)
	@p='atomic$(EXEEXT)'; \
	b='atomic'; \
	$(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)
642026-ec.log: 642026-ec$(EXEEXT)
	@p='642026-ec$(EXEEXT)'; \
	b='642026-ec'; \
	$(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)
unix.log: unix$(EXEEXT)
	@p='unix$(EXEEXT)'; \
	b='unix'; \
	$(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)
include.log: include$(EXEEXT)
	@p='include$(EXEEXT)'; \
	b='include'; \
	$(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)
autoptr.log: autoptr$(EXEEXT)
	@p='autoptr$(EXEEXT)'; \
	b='autoptr'; \
	$(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)
1bit-emufutex.log: 1bit-emufutex$(EXEEXT)
	@p='1bit-emufutex$(EXEEXT)'; \
	b='1bit-emufutex'; \
	$(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)
gwakeup.log: gwakeup$(EXEEXT)
	@p='gwakeup$(EXEEXT)'; \
	b='gwakeup'; \
	$(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)
gwakeup-fallback.log: gwakeup-fallback$(EXEEXT)
	@p='gwakeup-fallback$(EXEEXT)'; \
	b='gwakeup-fallback'; \
	$(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)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) $(check_LTLIBRARIES) $(check_PROGRAMS) \
	  $(check_SCRIPTS) $(check_DATA)
	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(SCRIPTS) $(DATA)
installdirs:
	for dir in "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_testdir)" "$(DESTDIR)$(installed_test_metadir)" "$(DESTDIR)$(installed_testdir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

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

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

clean-am: clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \
	clean-installed_testLTLIBRARIES clean-installed_testPROGRAMS \
	clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
	mostlyclean-am

distclean: distclean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am: install-installed_testLTLIBRARIES \
	install-installed_testPROGRAMS install-installed_testSCRIPTS \
	install-installed_test_metaDATA \
	install-nobase_installed_testDATA

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

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

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-installed_testLTLIBRARIES \
	uninstall-installed_testPROGRAMS \
	uninstall-installed_testSCRIPTS \
	uninstall-installed_test_metaDATA \
	uninstall-nobase_installed_testDATA

.MAKE: all check check-am install install-am install-strip

.PHONY: CTAGS GTAGS TAGS all all-am check check-TESTS check-am clean \
	clean-checkLTLIBRARIES clean-checkPROGRAMS clean-generic \
	clean-installed_testLTLIBRARIES clean-installed_testPROGRAMS \
	clean-libtool clean-noinstLTLIBRARIES clean-noinstPROGRAMS \
	cscopelist-am ctags ctags-am distclean distclean-compile \
	distclean-generic distclean-libtool distclean-tags distdir dvi \
	dvi-am html html-am info info-am install install-am \
	install-data install-data-am install-dvi install-dvi-am \
	install-exec install-exec-am install-html install-html-am \
	install-info install-info-am install-installed_testLTLIBRARIES \
	install-installed_testPROGRAMS install-installed_testSCRIPTS \
	install-installed_test_metaDATA install-man \
	install-nobase_installed_testDATA install-pdf install-pdf-am \
	install-ps install-ps-am install-strip installcheck \
	installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	recheck tags tags-am uninstall uninstall-am \
	uninstall-installed_testLTLIBRARIES \
	uninstall-installed_testPROGRAMS \
	uninstall-installed_testSCRIPTS \
	uninstall-installed_test_metaDATA \
	uninstall-nobase_installed_testDATA

.PRECIOUS: Makefile


@ENABLE_INSTALLED_TESTS_TRUE@%.test: %$(EXEEXT) Makefile
@ENABLE_INSTALLED_TESTS_TRUE@	$(AM_V_GEN) (echo '[Test]' > $@.tmp; \
@ENABLE_INSTALLED_TESTS_TRUE@	echo 'Type=session' >> $@.tmp; \
@ENABLE_INSTALLED_TESTS_TRUE@	echo 'Exec=$(installed_testdir)/$(notdir $<) --tap' >> $@.tmp; \
@ENABLE_INSTALLED_TESTS_TRUE@	echo 'Output=TAP' >> $@.tmp; \
@ENABLE_INSTALLED_TESTS_TRUE@	mv $@.tmp $@)

@OS_UNIX_TRUE@gtester-xmllint-check: # check testreport xml with xmllint if present
@OS_UNIX_TRUE@	${GTESTER} -k --quiet -o tmpsample.xml --test-arg=--gtester-selftest ${GTESTER}
@OS_UNIX_TRUE@	${XMLLINT} --version 2>/dev/null; test "$$?" != 0 || ${XMLLINT} --noout tmpsample.xml

@OS_UNIX_TRUE@check-am: gtester-xmllint-check

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