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

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009  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@
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@
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
	$(srcdir)/makefile.msc.in $(top_srcdir)/Makefile.decl
noinst_PROGRAMS = $(am__EXEEXT_5) testgdate$(EXEEXT) \
	testgdateparser$(EXEEXT) unicode-normalize$(EXEEXT) \
	unicode-collate$(EXEEXT) $(am__EXEEXT_6) \
	errorcheck-mutex-test$(EXEEXT) assert-msg-test$(EXEEXT)
check_PROGRAMS = $(am__EXEEXT_3) $(am__EXEEXT_4)
TESTS = $(am__EXEEXT_3) $(test_scripts)
subdir = tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(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.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES = makefile.msc
CONFIG_CLEAN_VPATH_FILES =
LTLIBRARIES = $(noinst_LTLIBRARIES)
am__DEPENDENCIES_1 =
libmoduletestplugin_a_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
	$(libadd_libgmodule) $(libadd_libglib)
am_libmoduletestplugin_a_la_OBJECTS = libmoduletestplugin_a.lo
libmoduletestplugin_a_la_OBJECTS =  \
	$(am_libmoduletestplugin_a_la_OBJECTS)
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
libmoduletestplugin_a_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(libmoduletestplugin_a_la_LDFLAGS) \
	$(LDFLAGS) -o $@
libmoduletestplugin_b_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
	$(libadd_libgmodule) $(libadd_libglib)
am_libmoduletestplugin_b_la_OBJECTS = libmoduletestplugin_b.lo
libmoduletestplugin_b_la_OBJECTS =  \
	$(am_libmoduletestplugin_b_la_OBJECTS)
libmoduletestplugin_b_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(libmoduletestplugin_b_la_LDFLAGS) \
	$(LDFLAGS) -o $@
@HAVE_CXX_TRUE@am__EXEEXT_1 = cxx-test$(EXEEXT)
@PLATFORM_WIN32_TRUE@am__EXEEXT_2 = spawn-test-win32-gui$(EXEEXT)
am__EXEEXT_3 = atomic-test$(EXEEXT) base64-test$(EXEEXT) \
	bit-test$(EXEEXT) $(am__EXEEXT_1) checksum-test$(EXEEXT) \
	child-test$(EXEEXT) completion-test$(EXEEXT) \
	convert-test$(EXEEXT) date-test$(EXEEXT) dirname-test$(EXEEXT) \
	file-test$(EXEEXT) env-test$(EXEEXT) gio-test$(EXEEXT) \
	hash-test$(EXEEXT) iochannel-test$(EXEEXT) list-test$(EXEEXT) \
	mainloop-test$(EXEEXT) mapping-test$(EXEEXT) \
	markup-collect$(EXEEXT) markup-escape-test$(EXEEXT) \
	module-test$(EXEEXT) node-test$(EXEEXT) onceinit$(EXEEXT) \
	patterntest$(EXEEXT) queue-test$(EXEEXT) \
	asyncqueue-test$(EXEEXT) qsort-test$(EXEEXT) \
	relation-test$(EXEEXT) sequence-test$(EXEEXT) \
	shell-test$(EXEEXT) slist-test$(EXEEXT) slice-test$(EXEEXT) \
	slice-color$(EXEEXT) slice-concurrent$(EXEEXT) \
	slice-threadinit$(EXEEXT) spawn-test$(EXEEXT) $(am__EXEEXT_2) \
	thread-test$(EXEEXT) threadpool-test$(EXEEXT) \
	tree-test$(EXEEXT) type-test$(EXEEXT) \
	unicode-caseconv$(EXEEXT) unicode-encoding$(EXEEXT) \
	utf8-validate$(EXEEXT) utf8-pointer$(EXEEXT) uri-test$(EXEEXT) \
	regex-test$(EXEEXT)
am__EXEEXT_4 = markup-test$(EXEEXT) unicode-collate$(EXEEXT) \
	bookmarkfile-test$(EXEEXT)
am__EXEEXT_5 = scannerapi$(EXEEXT) testglib$(EXEEXT) \
	testingbase64$(EXEEXT)
@ENABLE_TIMELOOP_TRUE@am__EXEEXT_6 = timeloop$(EXEEXT) \
@ENABLE_TIMELOOP_TRUE@	timeloop-closure$(EXEEXT)
PROGRAMS = $(noinst_PROGRAMS)
assert_msg_test_SOURCES = assert-msg-test.c
assert_msg_test_OBJECTS = assert-msg-test.$(OBJEXT)
assert_msg_test_DEPENDENCIES = $(libglib)
asyncqueue_test_SOURCES = asyncqueue-test.c
asyncqueue_test_OBJECTS = asyncqueue-test.$(OBJEXT)
am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(libglib) \
	$(am__DEPENDENCIES_1)
am__DEPENDENCIES_3 = $(libgthread) $(am__DEPENDENCIES_1) \
	$(am__DEPENDENCIES_2)
asyncqueue_test_DEPENDENCIES = $(am__DEPENDENCIES_3)
atomic_test_SOURCES = atomic-test.c
atomic_test_OBJECTS = atomic-test.$(OBJEXT)
atomic_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
base64_test_SOURCES = base64-test.c
base64_test_OBJECTS = base64-test.$(OBJEXT)
base64_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
bit_test_SOURCES = bit-test.c
bit_test_OBJECTS = bit-test.$(OBJEXT)
bit_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
bookmarkfile_test_SOURCES = bookmarkfile-test.c
bookmarkfile_test_OBJECTS = bookmarkfile-test.$(OBJEXT)
bookmarkfile_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
checksum_test_SOURCES = checksum-test.c
checksum_test_OBJECTS = checksum-test.$(OBJEXT)
checksum_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
child_test_SOURCES = child-test.c
child_test_OBJECTS = child-test.$(OBJEXT)
child_test_DEPENDENCIES = $(am__DEPENDENCIES_3)
completion_test_SOURCES = completion-test.c
completion_test_OBJECTS = completion-test.$(OBJEXT)
completion_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
convert_test_SOURCES = convert-test.c
convert_test_OBJECTS = convert-test.$(OBJEXT)
convert_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
am__cxx_test_SOURCES_DIST = cxx-test.C
@HAVE_CXX_TRUE@am_cxx_test_OBJECTS = cxx-test.$(OBJEXT)
cxx_test_OBJECTS = $(am_cxx_test_OBJECTS)
@HAVE_CXX_TRUE@cxx_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
date_test_SOURCES = date-test.c
date_test_OBJECTS = date-test.$(OBJEXT)
date_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
dirname_test_SOURCES = dirname-test.c
dirname_test_OBJECTS = dirname-test.$(OBJEXT)
dirname_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
env_test_SOURCES = env-test.c
env_test_OBJECTS = env-test.$(OBJEXT)
env_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
errorcheck_mutex_test_SOURCES = errorcheck-mutex-test.c
errorcheck_mutex_test_OBJECTS = errorcheck-mutex-test.$(OBJEXT)
errorcheck_mutex_test_DEPENDENCIES = $(libglib) $(libgthread) \
	$(am__DEPENDENCIES_1)
file_test_SOURCES = file-test.c
file_test_OBJECTS = file-test.$(OBJEXT)
file_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
gio_test_SOURCES = gio-test.c
gio_test_OBJECTS = gio-test.$(OBJEXT)
gio_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
hash_test_SOURCES = hash-test.c
hash_test_OBJECTS = hash-test.$(OBJEXT)
hash_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
iochannel_test_SOURCES = iochannel-test.c
iochannel_test_OBJECTS = iochannel-test.$(OBJEXT)
iochannel_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
list_test_SOURCES = list-test.c
list_test_OBJECTS = list-test.$(OBJEXT)
list_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
mainloop_test_SOURCES = mainloop-test.c
mainloop_test_OBJECTS = mainloop-test.$(OBJEXT)
mainloop_test_DEPENDENCIES = $(am__DEPENDENCIES_3)
mapping_test_SOURCES = mapping-test.c
mapping_test_OBJECTS = mapping-test.$(OBJEXT)
mapping_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
markup_collect_SOURCES = markup-collect.c
markup_collect_OBJECTS = markup-collect.$(OBJEXT)
markup_collect_DEPENDENCIES = $(am__DEPENDENCIES_2)
markup_escape_test_SOURCES = markup-escape-test.c
markup_escape_test_OBJECTS = markup-escape-test.$(OBJEXT)
markup_escape_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
markup_test_SOURCES = markup-test.c
markup_test_OBJECTS = markup-test.$(OBJEXT)
markup_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
module_test_SOURCES = module-test.c
module_test_OBJECTS = module-test.$(OBJEXT)
am__DEPENDENCIES_4 = $(libgmodule) $(am__DEPENDENCIES_1) \
	$(am__DEPENDENCIES_2)
module_test_DEPENDENCIES = $(am__DEPENDENCIES_4) $(module_test_exp)
module_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(module_test_LDFLAGS) $(LDFLAGS) -o $@
node_test_SOURCES = node-test.c
node_test_OBJECTS = node-test.$(OBJEXT)
node_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
onceinit_SOURCES = onceinit.c
onceinit_OBJECTS = onceinit.$(OBJEXT)
onceinit_DEPENDENCIES = $(am__DEPENDENCIES_3)
patterntest_SOURCES = patterntest.c
patterntest_OBJECTS = patterntest.$(OBJEXT)
patterntest_DEPENDENCIES = $(libglib)
qsort_test_SOURCES = qsort-test.c
qsort_test_OBJECTS = qsort-test.$(OBJEXT)
qsort_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
queue_test_SOURCES = queue-test.c
queue_test_OBJECTS = queue-test.$(OBJEXT)
queue_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
regex_test_SOURCES = regex-test.c
regex_test_OBJECTS = regex-test.$(OBJEXT)
regex_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
relation_test_SOURCES = relation-test.c
relation_test_OBJECTS = relation-test.$(OBJEXT)
relation_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_scannerapi_OBJECTS = scannerapi.$(OBJEXT)
scannerapi_OBJECTS = $(am_scannerapi_OBJECTS)
scannerapi_DEPENDENCIES = $(am__DEPENDENCIES_2)
sequence_test_SOURCES = sequence-test.c
sequence_test_OBJECTS = sequence-test.$(OBJEXT)
sequence_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
shell_test_SOURCES = shell-test.c
shell_test_OBJECTS = shell-test.$(OBJEXT)
shell_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
am_slice_color_OBJECTS = slice-color.$(OBJEXT) memchunks.$(OBJEXT)
slice_color_OBJECTS = $(am_slice_color_OBJECTS)
slice_color_DEPENDENCIES = $(am__DEPENDENCIES_3)
am_slice_concurrent_OBJECTS = slice-concurrent.$(OBJEXT)
slice_concurrent_OBJECTS = $(am_slice_concurrent_OBJECTS)
slice_concurrent_DEPENDENCIES = $(am__DEPENDENCIES_3)
am_slice_test_OBJECTS = slice-test.$(OBJEXT) memchunks.$(OBJEXT)
slice_test_OBJECTS = $(am_slice_test_OBJECTS)
slice_test_DEPENDENCIES = $(am__DEPENDENCIES_3)
am_slice_threadinit_OBJECTS = slice-threadinit.$(OBJEXT)
slice_threadinit_OBJECTS = $(am_slice_threadinit_OBJECTS)
slice_threadinit_DEPENDENCIES = $(am__DEPENDENCIES_3)
slist_test_SOURCES = slist-test.c
slist_test_OBJECTS = slist-test.$(OBJEXT)
slist_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
spawn_test_SOURCES = spawn-test.c
spawn_test_OBJECTS = spawn-test.$(OBJEXT)
spawn_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
spawn_test_win32_gui_SOURCES = spawn-test-win32-gui.c
spawn_test_win32_gui_OBJECTS = spawn-test-win32-gui.$(OBJEXT)
spawn_test_win32_gui_LDADD = $(LDADD)
spawn_test_win32_gui_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(spawn_test_win32_gui_LDFLAGS) \
	$(LDFLAGS) -o $@
testgdate_SOURCES = testgdate.c
testgdate_OBJECTS = testgdate.$(OBJEXT)
testgdate_DEPENDENCIES = $(libglib)
testgdateparser_SOURCES = testgdateparser.c
testgdateparser_OBJECTS = testgdateparser.$(OBJEXT)
testgdateparser_DEPENDENCIES = $(libglib)
am_testglib_OBJECTS = testglib.$(OBJEXT)
testglib_OBJECTS = $(am_testglib_OBJECTS)
testglib_DEPENDENCIES = $(libglib)
am_testingbase64_OBJECTS = testingbase64.$(OBJEXT)
testingbase64_OBJECTS = $(am_testingbase64_OBJECTS)
testingbase64_DEPENDENCIES = $(am__DEPENDENCIES_2)
thread_test_SOURCES = thread-test.c
thread_test_OBJECTS = thread-test.$(OBJEXT)
thread_test_DEPENDENCIES = $(am__DEPENDENCIES_3)
threadpool_test_SOURCES = threadpool-test.c
threadpool_test_OBJECTS = threadpool-test.$(OBJEXT)
threadpool_test_DEPENDENCIES = $(am__DEPENDENCIES_3)
timeloop_SOURCES = timeloop.c
timeloop_OBJECTS = timeloop.$(OBJEXT)
@ENABLE_TIMELOOP_TRUE@timeloop_DEPENDENCIES = $(libglib)
timeloop_closure_SOURCES = timeloop-closure.c
timeloop_closure_OBJECTS = timeloop-closure.$(OBJEXT)
@ENABLE_TIMELOOP_TRUE@timeloop_closure_DEPENDENCIES = $(libglib) \
@ENABLE_TIMELOOP_TRUE@	$(libgobject)
tree_test_SOURCES = tree-test.c
tree_test_OBJECTS = tree-test.$(OBJEXT)
tree_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
type_test_SOURCES = type-test.c
type_test_OBJECTS = type-test.$(OBJEXT)
type_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
unicode_caseconv_SOURCES = unicode-caseconv.c
unicode_caseconv_OBJECTS = unicode-caseconv.$(OBJEXT)
unicode_caseconv_DEPENDENCIES = $(am__DEPENDENCIES_2)
unicode_collate_SOURCES = unicode-collate.c
unicode_collate_OBJECTS = unicode-collate.$(OBJEXT)
unicode_collate_DEPENDENCIES = $(am__DEPENDENCIES_2)
unicode_encoding_SOURCES = unicode-encoding.c
unicode_encoding_OBJECTS = unicode-encoding.$(OBJEXT)
unicode_encoding_DEPENDENCIES = $(am__DEPENDENCIES_2)
unicode_normalize_SOURCES = unicode-normalize.c
unicode_normalize_OBJECTS = unicode-normalize.$(OBJEXT)
unicode_normalize_DEPENDENCIES = $(libglib)
uri_test_SOURCES = uri-test.c
uri_test_OBJECTS = uri-test.$(OBJEXT)
uri_test_DEPENDENCIES = $(am__DEPENDENCIES_2)
utf8_pointer_SOURCES = utf8-pointer.c
utf8_pointer_OBJECTS = utf8-pointer.$(OBJEXT)
utf8_pointer_DEPENDENCIES = $(am__DEPENDENCIES_2)
utf8_validate_SOURCES = utf8-validate.c
utf8_validate_OBJECTS = utf8-validate.$(OBJEXT)
utf8_validate_DEPENDENCIES = $(am__DEPENDENCIES_2)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CXX) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_$(V))
am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY))
am__v_CXX_0 = @echo "  CXX   " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) $(AM_V_lt) --tag=CXX $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \
	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CXXLD = $(am__v_CXXLD_$(V))
am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY))
am__v_CXXLD_0 = @echo "  CXXLD " $@;
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_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo "  CC    " $@;
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_$(V))
am__v_CCLD_ = $(am__v_CCLD_$(AM_DEFAULT_VERBOSITY))
am__v_CCLD_0 = @echo "  CCLD  " $@;
AM_V_GEN = $(am__v_GEN_$(V))
am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY))
am__v_GEN_0 = @echo "  GEN   " $@;
SOURCES = $(libmoduletestplugin_a_la_SOURCES) \
	$(libmoduletestplugin_b_la_SOURCES) assert-msg-test.c \
	asyncqueue-test.c atomic-test.c base64-test.c bit-test.c \
	bookmarkfile-test.c checksum-test.c child-test.c \
	completion-test.c convert-test.c $(cxx_test_SOURCES) \
	date-test.c dirname-test.c env-test.c errorcheck-mutex-test.c \
	file-test.c gio-test.c hash-test.c iochannel-test.c \
	list-test.c mainloop-test.c mapping-test.c markup-collect.c \
	markup-escape-test.c markup-test.c module-test.c node-test.c \
	onceinit.c patterntest.c qsort-test.c queue-test.c \
	regex-test.c relation-test.c $(scannerapi_SOURCES) \
	sequence-test.c shell-test.c $(slice_color_SOURCES) \
	$(slice_concurrent_SOURCES) $(slice_test_SOURCES) \
	$(slice_threadinit_SOURCES) slist-test.c spawn-test.c \
	spawn-test-win32-gui.c testgdate.c testgdateparser.c \
	$(testglib_SOURCES) $(testingbase64_SOURCES) thread-test.c \
	threadpool-test.c timeloop.c timeloop-closure.c tree-test.c \
	type-test.c unicode-caseconv.c unicode-collate.c \
	unicode-encoding.c unicode-normalize.c uri-test.c \
	utf8-pointer.c utf8-validate.c
DIST_SOURCES = $(libmoduletestplugin_a_la_SOURCES) \
	$(libmoduletestplugin_b_la_SOURCES) assert-msg-test.c \
	asyncqueue-test.c atomic-test.c base64-test.c bit-test.c \
	bookmarkfile-test.c checksum-test.c child-test.c \
	completion-test.c convert-test.c $(am__cxx_test_SOURCES_DIST) \
	date-test.c dirname-test.c env-test.c errorcheck-mutex-test.c \
	file-test.c gio-test.c hash-test.c iochannel-test.c \
	list-test.c mainloop-test.c mapping-test.c markup-collect.c \
	markup-escape-test.c markup-test.c module-test.c node-test.c \
	onceinit.c patterntest.c qsort-test.c queue-test.c \
	regex-test.c relation-test.c $(scannerapi_SOURCES) \
	sequence-test.c shell-test.c $(slice_color_SOURCES) \
	$(slice_concurrent_SOURCES) $(slice_test_SOURCES) \
	$(slice_threadinit_SOURCES) slist-test.c spawn-test.c \
	spawn-test-win32-gui.c testgdate.c testgdateparser.c \
	$(testglib_SOURCES) $(testingbase64_SOURCES) thread-test.c \
	threadpool-test.c timeloop.c timeloop-closure.c tree-test.c \
	type-test.c unicode-caseconv.c unicode-collate.c \
	unicode-encoding.c unicode-normalize.c uri-test.c \
	utf8-pointer.c utf8-validate.c
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
	html-recursive info-recursive install-data-recursive \
	install-dvi-recursive install-exec-recursive \
	install-html-recursive install-info-recursive \
	install-pdf-recursive install-ps-recursive install-recursive \
	installcheck-recursive installdirs-recursive pdf-recursive \
	ps-recursive uninstall-recursive
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
  distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
	distdir
ETAGS = etags
CTAGS = ctags
am__tty_colors = \
red=; grn=; lgn=; blu=; std=
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
  dir0=`pwd`; \
  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
  sed_rest='s,^[^/]*/*,,'; \
  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
  sed_butlast='s,/*[^/]*$$,,'; \
  while test -n "$$dir1"; do \
    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
    if test "$$first" != "."; then \
      if test "$$first" = ".."; then \
        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
      else \
        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
        if test "$$first2" = "$$first"; then \
          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
        else \
          dir2="../$$dir2"; \
        fi; \
        dir0="$$dir0"/"$$first"; \
      fi; \
    fi; \
    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
  done; \
  reldir="$$dir2"
ABS_GLIB_RUNTIME_LIBDIR = @ABS_GLIB_RUNTIME_LIBDIR@
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CONFIG_STATUS_DEPENDENCIES = @CONFIG_STATUS_DEPENDENCIES@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DISABLE_MEM_POOLS = @DISABLE_MEM_POOLS@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
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_GENMARSHAL = @GLIB_GENMARSHAL@
GLIB_INTERFACE_AGE = @GLIB_INTERFACE_AGE@
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_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_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@
LIBASYNCNS_LIBADD = @LIBASYNCNS_LIBADD@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBTOOL_EXPORT_OPTIONS = @LIBTOOL_EXPORT_OPTIONS@
LIB_EXE_MACHINE_FLAG = @LIB_EXE_MACHINE_FLAG@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_CURRENT_MINUS_AGE = @LT_CURRENT_MINUS_AGE@
LT_RELEASE = @LT_RELEASE@
LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
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@
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@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WINDRES = @WINDRES@
XATTR_LIBS = @XATTR_LIBS@
XGETTEXT = @XGETTEXT@
XMLCATALOG = @XMLCATALOG@
XML_CATALOG_FILE = @XML_CATALOG_FILE@
XSLTPROC = @XSLTPROC@
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_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
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@

#GTESTER = gtester 			# for non-GLIB packages
GTESTER = $(top_builddir)/glib/gtester			# for the GLIB package
GTESTER_REPORT = $(top_builddir)/glib/gtester-report	# for the GLIB package

# initialize variables for unconditional += appending
EXTRA_DIST = $(test_scripts) makefile.msc.in casefold.txt casemap.txt \
	gen-casefold-txt.pl gen-casemap-txt.pl iochannel-test-infile \
	utf8.txt timeloop-basic.c
TEST_PROGS = scannerapi testglib testingbase64
SUBDIRS = gobject refcount
AM_CPPFLAGS = \
	-I$(top_srcdir) 		\
	-I$(top_srcdir)/glib 		\
	-I$(top_srcdir)/gmodule 	\
	$(GLIB_DEBUG_FLAGS)

AM_CFLAGS = -g
EFENCE = 
libglib = $(top_builddir)/glib/libglib-2.0.la
libgthread = $(top_builddir)/gthread/libgthread-2.0.la
libgmodule = $(top_builddir)/gmodule/libgmodule-2.0.la
libgobject = $(top_builddir)/gobject/libgobject-2.0.la
libadd_libgmodule = $(libgmodule)
libadd_libglib = $(libglib)
@PLATFORM_WIN32_TRUE@no_undefined = -no-undefined
@PLATFORM_WIN32_TRUE@module_test_exp = module-test.exp
@PLATFORM_WIN32_TRUE@spawn_test_win32_gui = spawn-test-win32-gui
@PLATFORM_WIN32_TRUE@spawn_test_win32_gui_LDFLAGS = -mwindows
BUILT_EXTRA_DIST = \
	makefile.msc

@HAVE_CXX_FALSE@CXX_TEST = 
@HAVE_CXX_TRUE@CXX_TEST = cxx-test
@HAVE_CXX_TRUE@cxx_test_LDADD = $(progs_ldadd)
@HAVE_CXX_TRUE@cxx_test_SOURCES = cxx-test.C
@ENABLE_TIMELOOP_TRUE@timeloop = timeloop timeloop-closure
scannerapi_SOURCES = scannerapi.c
scannerapi_LDADD = $(progs_ldadd)
testglib_SOURCES = testglib.c
testglib_LDADD = $(libglib)
testingbase64_SOURCES = testingbase64.c
testingbase64_LDADD = $(progs_ldadd)
patterntest_LDADD = $(libglib)
testgdate_LDADD = $(libglib)
testgdateparser_LDADD = $(libglib)
unicode_normalize_LDADD = $(libglib)
errorcheck_mutex_test_LDADD = $(libglib) $(libgthread) $(G_THREAD_LIBS) 
assert_msg_test_LDADD = $(libglib)
@ENABLE_TIMELOOP_TRUE@timeloop_LDADD = $(libglib)
@ENABLE_TIMELOOP_TRUE@timeloop_closure_LDADD = $(libglib) $(libgobject)
test_programs = \
	atomic-test				\
	base64-test				\
	bit-test				\
	$(CXX_TEST)				\
	checksum-test				\
	child-test				\
	completion-test				\
	convert-test				\
	date-test				\
	dirname-test				\
	file-test				\
	env-test				\
	gio-test				\
	hash-test				\
	iochannel-test				\
	list-test				\
	mainloop-test				\
	mapping-test				\
	markup-collect				\
	markup-escape-test			\
	module-test				\
	node-test				\
	onceinit				\
	patterntest				\
	queue-test				\
	asyncqueue-test				\
	qsort-test				\
	relation-test				\
	sequence-test				\
	shell-test				\
	slist-test				\
	slice-test				\
	slice-color				\
	slice-concurrent			\
	slice-threadinit			\
	spawn-test				\
	$(spawn_test_win32_gui)			\
	thread-test				\
	threadpool-test				\
	tree-test				\
	type-test				\
	unicode-caseconv			\
	unicode-encoding			\
	utf8-validate				\
	utf8-pointer				\
	uri-test				\
	regex-test

test_scripts = run-markup-tests.sh run-collate-tests.sh run-bookmark-test.sh run-assert-msg-test.sh
test_script_support_programs = markup-test unicode-collate bookmarkfile-test
TESTS_ENVIRONMENT = srcdir=$(srcdir) \
	LIBCHARSET_ALIAS_DIR=$(top_builddir)/glib/libcharset \
	MALLOC_CHECK_=2	\
        MALLOC_PERTURB_=$$(($${RANDOM:-256} % 256))

progs_ldadd = $(EFENCE) $(libglib) $(EFENCE)
thread_ldadd = $(libgthread) $(G_THREAD_LIBS) $(progs_ldadd)
module_ldadd = $(libgmodule) $(G_MODULE_LIBS) $(progs_ldadd)
atomic_test_LDADD = $(progs_ldadd)
base64_test_LDADD = $(progs_ldadd)
bit_test_LDADD = $(progs_ldadd)
bookmarkfile_test_LDADD = $(progs_ldadd)
checksum_test_LDADD = $(progs_ldadd)
child_test_LDADD = $(thread_ldadd)
completion_test_LDADD = $(progs_ldadd)
convert_test_LDADD = $(progs_ldadd)
date_test_LDADD = $(progs_ldadd)
dirname_test_LDADD = $(progs_ldadd)
file_test_LDADD = $(progs_ldadd)
env_test_LDADD = $(progs_ldadd)
gio_test_LDADD = $(progs_ldadd)
hash_test_LDADD = $(progs_ldadd)
iochannel_test_LDADD = $(progs_ldadd)
list_test_LDADD = $(progs_ldadd)
mainloop_test_LDADD = $(thread_ldadd)
markup_test_LDADD = $(progs_ldadd)
mapping_test_LDADD = $(progs_ldadd)
markup_escape_test_LDADD = $(progs_ldadd)
module_test_LDADD = $(module_ldadd) $(module_test_exp)
module_test_LDFLAGS = $(G_MODULE_LDFLAGS)
node_test_LDADD = $(progs_ldadd)
onceinit_LDADD = $(thread_ldadd)
queue_test_LDADD = $(progs_ldadd)
asyncqueue_test_LDADD = $(thread_ldadd)
qsort_test_LDADD = $(progs_ldadd)
relation_test_LDADD = $(progs_ldadd)
sequence_test_LDADD = $(progs_ldadd)
shell_test_LDADD = $(progs_ldadd)
slist_test_LDADD = $(progs_ldadd)
slice_test_SOURCES = slice-test.c memchunks.c
slice_test_LDADD = $(thread_ldadd)
slice_color_SOURCES = slice-color.c memchunks.c
slice_color_LDADD = $(thread_ldadd)
slice_concurrent_SOURCES = slice-concurrent.c
slice_concurrent_LDADD = $(thread_ldadd)
slice_threadinit_SOURCES = slice-threadinit.c
slice_threadinit_LDADD = $(thread_ldadd)
spawn_test_LDADD = $(progs_ldadd)
thread_test_LDADD = $(thread_ldadd)
threadpool_test_LDADD = $(thread_ldadd)
tree_test_LDADD = $(progs_ldadd)
type_test_LDADD = $(progs_ldadd)
unicode_encoding_LDADD = $(progs_ldadd)
unicode_caseconv_LDADD = $(progs_ldadd)
unicode_collate_LDADD = $(progs_ldadd)
utf8_validate_LDADD = $(progs_ldadd)
utf8_pointer_LDADD = $(progs_ldadd)
uri_test_LDADD = $(progs_ldadd)
regex_test_LDADD = $(progs_ldadd)
markup_collect_LDADD = $(progs_ldadd)
noinst_LTLIBRARIES = libmoduletestplugin_a.la libmoduletestplugin_b.la
libmoduletestplugin_a_la_SOURCES = libmoduletestplugin_a.c
libmoduletestplugin_a_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined) -rpath $(libdir)
libmoduletestplugin_a_la_LIBADD = $(G_MODULE_LIBS) $(libadd_libgmodule) $(libadd_libglib)
libmoduletestplugin_b_la_SOURCES = libmoduletestplugin_b.c
libmoduletestplugin_b_la_LDFLAGS = $(G_MODULE_LDFLAGS) -avoid-version -module $(no_undefined) -rpath $(libdir)
libmoduletestplugin_b_la_LIBADD = $(G_MODULE_LIBS) $(libadd_libgmodule) $(libadd_libglib)
DISTCLEANFILES = \
	iochannel-test-outfile 	\
	file-test-get-contents 	\
	maptest 		\
	mapchild 		\
	collate.out

all: all-recursive

.SUFFIXES:
.SUFFIXES: .C .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.decl $(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 tests/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnu tests/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

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

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
makefile.msc: $(top_builddir)/config.status $(srcdir)/makefile.msc.in
	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@

clean-noinstLTLIBRARIES:
	-test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
	@list='$(noinst_LTLIBRARIES)'; for p in $$list; do \
	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
	  test "$$dir" != "$$p" || dir=.; \
	  echo "rm -f \"$${dir}/so_locations\""; \
	  rm -f "$${dir}/so_locations"; \
	done
libmoduletestplugin_a.la: $(libmoduletestplugin_a_la_OBJECTS) $(libmoduletestplugin_a_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libmoduletestplugin_a_la_LINK)  $(libmoduletestplugin_a_la_OBJECTS) $(libmoduletestplugin_a_la_LIBADD) $(LIBS)
libmoduletestplugin_b.la: $(libmoduletestplugin_b_la_OBJECTS) $(libmoduletestplugin_b_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libmoduletestplugin_b_la_LINK)  $(libmoduletestplugin_b_la_OBJECTS) $(libmoduletestplugin_b_la_LIBADD) $(LIBS)

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

clean-noinstPROGRAMS:
	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
assert-msg-test$(EXEEXT): $(assert_msg_test_OBJECTS) $(assert_msg_test_DEPENDENCIES) 
	@rm -f assert-msg-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(assert_msg_test_OBJECTS) $(assert_msg_test_LDADD) $(LIBS)
asyncqueue-test$(EXEEXT): $(asyncqueue_test_OBJECTS) $(asyncqueue_test_DEPENDENCIES) 
	@rm -f asyncqueue-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(asyncqueue_test_OBJECTS) $(asyncqueue_test_LDADD) $(LIBS)
atomic-test$(EXEEXT): $(atomic_test_OBJECTS) $(atomic_test_DEPENDENCIES) 
	@rm -f atomic-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(atomic_test_OBJECTS) $(atomic_test_LDADD) $(LIBS)
base64-test$(EXEEXT): $(base64_test_OBJECTS) $(base64_test_DEPENDENCIES) 
	@rm -f base64-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(base64_test_OBJECTS) $(base64_test_LDADD) $(LIBS)
bit-test$(EXEEXT): $(bit_test_OBJECTS) $(bit_test_DEPENDENCIES) 
	@rm -f bit-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(bit_test_OBJECTS) $(bit_test_LDADD) $(LIBS)
bookmarkfile-test$(EXEEXT): $(bookmarkfile_test_OBJECTS) $(bookmarkfile_test_DEPENDENCIES) 
	@rm -f bookmarkfile-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(bookmarkfile_test_OBJECTS) $(bookmarkfile_test_LDADD) $(LIBS)
checksum-test$(EXEEXT): $(checksum_test_OBJECTS) $(checksum_test_DEPENDENCIES) 
	@rm -f checksum-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(checksum_test_OBJECTS) $(checksum_test_LDADD) $(LIBS)
child-test$(EXEEXT): $(child_test_OBJECTS) $(child_test_DEPENDENCIES) 
	@rm -f child-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(child_test_OBJECTS) $(child_test_LDADD) $(LIBS)
completion-test$(EXEEXT): $(completion_test_OBJECTS) $(completion_test_DEPENDENCIES) 
	@rm -f completion-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(completion_test_OBJECTS) $(completion_test_LDADD) $(LIBS)
convert-test$(EXEEXT): $(convert_test_OBJECTS) $(convert_test_DEPENDENCIES) 
	@rm -f convert-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(convert_test_OBJECTS) $(convert_test_LDADD) $(LIBS)
cxx-test$(EXEEXT): $(cxx_test_OBJECTS) $(cxx_test_DEPENDENCIES) 
	@rm -f cxx-test$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(cxx_test_OBJECTS) $(cxx_test_LDADD) $(LIBS)
date-test$(EXEEXT): $(date_test_OBJECTS) $(date_test_DEPENDENCIES) 
	@rm -f date-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(date_test_OBJECTS) $(date_test_LDADD) $(LIBS)
dirname-test$(EXEEXT): $(dirname_test_OBJECTS) $(dirname_test_DEPENDENCIES) 
	@rm -f dirname-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(dirname_test_OBJECTS) $(dirname_test_LDADD) $(LIBS)
env-test$(EXEEXT): $(env_test_OBJECTS) $(env_test_DEPENDENCIES) 
	@rm -f env-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(env_test_OBJECTS) $(env_test_LDADD) $(LIBS)
errorcheck-mutex-test$(EXEEXT): $(errorcheck_mutex_test_OBJECTS) $(errorcheck_mutex_test_DEPENDENCIES) 
	@rm -f errorcheck-mutex-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(errorcheck_mutex_test_OBJECTS) $(errorcheck_mutex_test_LDADD) $(LIBS)
file-test$(EXEEXT): $(file_test_OBJECTS) $(file_test_DEPENDENCIES) 
	@rm -f file-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(file_test_OBJECTS) $(file_test_LDADD) $(LIBS)
gio-test$(EXEEXT): $(gio_test_OBJECTS) $(gio_test_DEPENDENCIES) 
	@rm -f gio-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(gio_test_OBJECTS) $(gio_test_LDADD) $(LIBS)
hash-test$(EXEEXT): $(hash_test_OBJECTS) $(hash_test_DEPENDENCIES) 
	@rm -f hash-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(hash_test_OBJECTS) $(hash_test_LDADD) $(LIBS)
iochannel-test$(EXEEXT): $(iochannel_test_OBJECTS) $(iochannel_test_DEPENDENCIES) 
	@rm -f iochannel-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(iochannel_test_OBJECTS) $(iochannel_test_LDADD) $(LIBS)
list-test$(EXEEXT): $(list_test_OBJECTS) $(list_test_DEPENDENCIES) 
	@rm -f list-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(list_test_OBJECTS) $(list_test_LDADD) $(LIBS)
mainloop-test$(EXEEXT): $(mainloop_test_OBJECTS) $(mainloop_test_DEPENDENCIES) 
	@rm -f mainloop-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(mainloop_test_OBJECTS) $(mainloop_test_LDADD) $(LIBS)
mapping-test$(EXEEXT): $(mapping_test_OBJECTS) $(mapping_test_DEPENDENCIES) 
	@rm -f mapping-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(mapping_test_OBJECTS) $(mapping_test_LDADD) $(LIBS)
markup-collect$(EXEEXT): $(markup_collect_OBJECTS) $(markup_collect_DEPENDENCIES) 
	@rm -f markup-collect$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(markup_collect_OBJECTS) $(markup_collect_LDADD) $(LIBS)
markup-escape-test$(EXEEXT): $(markup_escape_test_OBJECTS) $(markup_escape_test_DEPENDENCIES) 
	@rm -f markup-escape-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(markup_escape_test_OBJECTS) $(markup_escape_test_LDADD) $(LIBS)
markup-test$(EXEEXT): $(markup_test_OBJECTS) $(markup_test_DEPENDENCIES) 
	@rm -f markup-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(markup_test_OBJECTS) $(markup_test_LDADD) $(LIBS)
module-test$(EXEEXT): $(module_test_OBJECTS) $(module_test_DEPENDENCIES) 
	@rm -f module-test$(EXEEXT)
	$(AM_V_CCLD)$(module_test_LINK) $(module_test_OBJECTS) $(module_test_LDADD) $(LIBS)
node-test$(EXEEXT): $(node_test_OBJECTS) $(node_test_DEPENDENCIES) 
	@rm -f node-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(node_test_OBJECTS) $(node_test_LDADD) $(LIBS)
onceinit$(EXEEXT): $(onceinit_OBJECTS) $(onceinit_DEPENDENCIES) 
	@rm -f onceinit$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(onceinit_OBJECTS) $(onceinit_LDADD) $(LIBS)
patterntest$(EXEEXT): $(patterntest_OBJECTS) $(patterntest_DEPENDENCIES) 
	@rm -f patterntest$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(patterntest_OBJECTS) $(patterntest_LDADD) $(LIBS)
qsort-test$(EXEEXT): $(qsort_test_OBJECTS) $(qsort_test_DEPENDENCIES) 
	@rm -f qsort-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(qsort_test_OBJECTS) $(qsort_test_LDADD) $(LIBS)
queue-test$(EXEEXT): $(queue_test_OBJECTS) $(queue_test_DEPENDENCIES) 
	@rm -f queue-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(queue_test_OBJECTS) $(queue_test_LDADD) $(LIBS)
regex-test$(EXEEXT): $(regex_test_OBJECTS) $(regex_test_DEPENDENCIES) 
	@rm -f regex-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(regex_test_OBJECTS) $(regex_test_LDADD) $(LIBS)
relation-test$(EXEEXT): $(relation_test_OBJECTS) $(relation_test_DEPENDENCIES) 
	@rm -f relation-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(relation_test_OBJECTS) $(relation_test_LDADD) $(LIBS)
scannerapi$(EXEEXT): $(scannerapi_OBJECTS) $(scannerapi_DEPENDENCIES) 
	@rm -f scannerapi$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(scannerapi_OBJECTS) $(scannerapi_LDADD) $(LIBS)
sequence-test$(EXEEXT): $(sequence_test_OBJECTS) $(sequence_test_DEPENDENCIES) 
	@rm -f sequence-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sequence_test_OBJECTS) $(sequence_test_LDADD) $(LIBS)
shell-test$(EXEEXT): $(shell_test_OBJECTS) $(shell_test_DEPENDENCIES) 
	@rm -f shell-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(shell_test_OBJECTS) $(shell_test_LDADD) $(LIBS)
slice-color$(EXEEXT): $(slice_color_OBJECTS) $(slice_color_DEPENDENCIES) 
	@rm -f slice-color$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(slice_color_OBJECTS) $(slice_color_LDADD) $(LIBS)
slice-concurrent$(EXEEXT): $(slice_concurrent_OBJECTS) $(slice_concurrent_DEPENDENCIES) 
	@rm -f slice-concurrent$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(slice_concurrent_OBJECTS) $(slice_concurrent_LDADD) $(LIBS)
slice-test$(EXEEXT): $(slice_test_OBJECTS) $(slice_test_DEPENDENCIES) 
	@rm -f slice-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(slice_test_OBJECTS) $(slice_test_LDADD) $(LIBS)
slice-threadinit$(EXEEXT): $(slice_threadinit_OBJECTS) $(slice_threadinit_DEPENDENCIES) 
	@rm -f slice-threadinit$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(slice_threadinit_OBJECTS) $(slice_threadinit_LDADD) $(LIBS)
slist-test$(EXEEXT): $(slist_test_OBJECTS) $(slist_test_DEPENDENCIES) 
	@rm -f slist-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(slist_test_OBJECTS) $(slist_test_LDADD) $(LIBS)
spawn-test$(EXEEXT): $(spawn_test_OBJECTS) $(spawn_test_DEPENDENCIES) 
	@rm -f spawn-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(spawn_test_OBJECTS) $(spawn_test_LDADD) $(LIBS)
spawn-test-win32-gui$(EXEEXT): $(spawn_test_win32_gui_OBJECTS) $(spawn_test_win32_gui_DEPENDENCIES) 
	@rm -f spawn-test-win32-gui$(EXEEXT)
	$(AM_V_CCLD)$(spawn_test_win32_gui_LINK) $(spawn_test_win32_gui_OBJECTS) $(spawn_test_win32_gui_LDADD) $(LIBS)
testgdate$(EXEEXT): $(testgdate_OBJECTS) $(testgdate_DEPENDENCIES) 
	@rm -f testgdate$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(testgdate_OBJECTS) $(testgdate_LDADD) $(LIBS)
testgdateparser$(EXEEXT): $(testgdateparser_OBJECTS) $(testgdateparser_DEPENDENCIES) 
	@rm -f testgdateparser$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(testgdateparser_OBJECTS) $(testgdateparser_LDADD) $(LIBS)
testglib$(EXEEXT): $(testglib_OBJECTS) $(testglib_DEPENDENCIES) 
	@rm -f testglib$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(testglib_OBJECTS) $(testglib_LDADD) $(LIBS)
testingbase64$(EXEEXT): $(testingbase64_OBJECTS) $(testingbase64_DEPENDENCIES) 
	@rm -f testingbase64$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(testingbase64_OBJECTS) $(testingbase64_LDADD) $(LIBS)
thread-test$(EXEEXT): $(thread_test_OBJECTS) $(thread_test_DEPENDENCIES) 
	@rm -f thread-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(thread_test_OBJECTS) $(thread_test_LDADD) $(LIBS)
threadpool-test$(EXEEXT): $(threadpool_test_OBJECTS) $(threadpool_test_DEPENDENCIES) 
	@rm -f threadpool-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(threadpool_test_OBJECTS) $(threadpool_test_LDADD) $(LIBS)
timeloop$(EXEEXT): $(timeloop_OBJECTS) $(timeloop_DEPENDENCIES) 
	@rm -f timeloop$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(timeloop_OBJECTS) $(timeloop_LDADD) $(LIBS)
timeloop-closure$(EXEEXT): $(timeloop_closure_OBJECTS) $(timeloop_closure_DEPENDENCIES) 
	@rm -f timeloop-closure$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(timeloop_closure_OBJECTS) $(timeloop_closure_LDADD) $(LIBS)
tree-test$(EXEEXT): $(tree_test_OBJECTS) $(tree_test_DEPENDENCIES) 
	@rm -f tree-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(tree_test_OBJECTS) $(tree_test_LDADD) $(LIBS)
type-test$(EXEEXT): $(type_test_OBJECTS) $(type_test_DEPENDENCIES) 
	@rm -f type-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(type_test_OBJECTS) $(type_test_LDADD) $(LIBS)
unicode-caseconv$(EXEEXT): $(unicode_caseconv_OBJECTS) $(unicode_caseconv_DEPENDENCIES) 
	@rm -f unicode-caseconv$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(unicode_caseconv_OBJECTS) $(unicode_caseconv_LDADD) $(LIBS)
unicode-collate$(EXEEXT): $(unicode_collate_OBJECTS) $(unicode_collate_DEPENDENCIES) 
	@rm -f unicode-collate$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(unicode_collate_OBJECTS) $(unicode_collate_LDADD) $(LIBS)
unicode-encoding$(EXEEXT): $(unicode_encoding_OBJECTS) $(unicode_encoding_DEPENDENCIES) 
	@rm -f unicode-encoding$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(unicode_encoding_OBJECTS) $(unicode_encoding_LDADD) $(LIBS)
unicode-normalize$(EXEEXT): $(unicode_normalize_OBJECTS) $(unicode_normalize_DEPENDENCIES) 
	@rm -f unicode-normalize$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(unicode_normalize_OBJECTS) $(unicode_normalize_LDADD) $(LIBS)
uri-test$(EXEEXT): $(uri_test_OBJECTS) $(uri_test_DEPENDENCIES) 
	@rm -f uri-test$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(uri_test_OBJECTS) $(uri_test_LDADD) $(LIBS)
utf8-pointer$(EXEEXT): $(utf8_pointer_OBJECTS) $(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) 
	@rm -f utf8-validate$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(utf8_validate_OBJECTS) $(utf8_validate_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assert-msg-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asyncqueue-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bit-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bookmarkfile-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/checksum-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/child-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/completion-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/convert-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cxx-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/date-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dirname-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/errorcheck-mutex-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gio-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/iochannel-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmoduletestplugin_a.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libmoduletestplugin_b.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/list-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mainloop-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mapping-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markup-collect.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markup-escape-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/markup-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memchunks.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/node-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/onceinit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/patterntest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qsort-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/queue-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/regex-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/relation-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scannerapi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sequence-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shell-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slice-color.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slice-concurrent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slice-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slice-threadinit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/slist-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spawn-test-win32-gui.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spawn-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testgdate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testgdateparser.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testglib.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/testingbase64.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threadpool-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timeloop-closure.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timeloop.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tree-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/type-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unicode-caseconv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unicode-collate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unicode-encoding.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unicode-normalize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uri-test.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@

.C.o:
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<

.C.obj:
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.C.lo:
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@am__fastdepCXX_FALSE@	$(AM_V_CXX) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<

.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
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c $<

.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
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c `$(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
@am__fastdepCC_FALSE@	$(AM_V_CC) @AM_BACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(LTCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

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

$(RECURSIVE_CLEAN_TARGETS):
	@fail= failcom='exit 1'; \
	for f in x $$MAKEFLAGS; do \
	  case $$f in \
	    *=* | --[!k]*);; \
	    *k*) failcom='fail=yes';; \
	  esac; \
	done; \
	dot_seen=no; \
	case "$@" in \
	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
	  *) list='$(SUBDIRS)' ;; \
	esac; \
	rev=''; for subdir in $$list; do \
	  if test "$$subdir" = "."; then :; else \
	    rev="$$subdir $$rev"; \
	  fi; \
	done; \
	rev="$$rev ."; \
	target=`echo $@ | sed s/-recursive//`; \
	for subdir in $$rev; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done && test -z "$$fail"
tags-recursive:
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
	done
ctags-recursive:
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
	done

ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
	list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	here=`pwd`; \
	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
	  include_option=--etags-include; \
	  empty_fix=.; \
	else \
	  include_option=--include; \
	  empty_fix=; \
	fi; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test ! -f $$subdir/TAGS || \
	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
	  fi; \
	done; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	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
CTAGS: ctags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	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"

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

check-TESTS: $(TESTS)
	@failed=0; all=0; xfail=0; xpass=0; skip=0; \
	srcdir=$(srcdir); export srcdir; \
	list=' $(TESTS) '; \
	$(am__tty_colors); \
	if test -n "$$list"; then \
	  for tst in $$list; do \
	    if test -f ./$$tst; then dir=./; \
	    elif test -f $$tst; then dir=; \
	    else dir="$(srcdir)/"; fi; \
	    if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
	      all=`expr $$all + 1`; \
	      case " $(XFAIL_TESTS) " in \
	      *[\ \	]$$tst[\ \	]*) \
		xpass=`expr $$xpass + 1`; \
		failed=`expr $$failed + 1`; \
		col=$$red; res=XPASS; \
	      ;; \
	      *) \
		col=$$grn; res=PASS; \
	      ;; \
	      esac; \
	    elif test $$? -ne 77; then \
	      all=`expr $$all + 1`; \
	      case " $(XFAIL_TESTS) " in \
	      *[\ \	]$$tst[\ \	]*) \
		xfail=`expr $$xfail + 1`; \
		col=$$lgn; res=XFAIL; \
	      ;; \
	      *) \
		failed=`expr $$failed + 1`; \
		col=$$red; res=FAIL; \
	      ;; \
	      esac; \
	    else \
	      skip=`expr $$skip + 1`; \
	      col=$$blu; res=SKIP; \
	    fi; \
	    echo "$${col}$$res$${std}: $$tst"; \
	  done; \
	  if test "$$all" -eq 1; then \
	    tests="test"; \
	    All=""; \
	  else \
	    tests="tests"; \
	    All="All "; \
	  fi; \
	  if test "$$failed" -eq 0; then \
	    if test "$$xfail" -eq 0; then \
	      banner="$$All$$all $$tests passed"; \
	    else \
	      if test "$$xfail" -eq 1; then failures=failure; else failures=failures; fi; \
	      banner="$$All$$all $$tests behaved as expected ($$xfail expected $$failures)"; \
	    fi; \
	  else \
	    if test "$$xpass" -eq 0; then \
	      banner="$$failed of $$all $$tests failed"; \
	    else \
	      if test "$$xpass" -eq 1; then passes=pass; else passes=passes; fi; \
	      banner="$$failed of $$all $$tests did not behave as expected ($$xpass unexpected $$passes)"; \
	    fi; \
	  fi; \
	  dashes="$$banner"; \
	  skipped=""; \
	  if test "$$skip" -ne 0; then \
	    if test "$$skip" -eq 1; then \
	      skipped="($$skip test was not run)"; \
	    else \
	      skipped="($$skip tests were not run)"; \
	    fi; \
	    test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
	      dashes="$$skipped"; \
	  fi; \
	  report=""; \
	  if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
	    report="Please report to $(PACKAGE_BUGREPORT)"; \
	    test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
	      dashes="$$report"; \
	  fi; \
	  dashes=`echo "$$dashes" | sed s/./=/g`; \
	  if test "$$failed" -eq 0; then \
	    echo "$$grn$$dashes"; \
	  else \
	    echo "$$red$$dashes"; \
	  fi; \
	  echo "$$banner"; \
	  test -z "$$skipped" || echo "$$skipped"; \
	  test -z "$$report" || echo "$$report"; \
	  echo "$$dashes$$std"; \
	  test "$$failed" -eq 0; \
	else :; fi

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
	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test -d "$(distdir)/$$subdir" \
	    || $(MKDIR_P) "$(distdir)/$$subdir" \
	    || exit 1; \
	  fi; \
	done
	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
	    $(am__relativize); \
	    new_distdir=$$reldir; \
	    dir1=$$subdir; dir2="$(top_distdir)"; \
	    $(am__relativize); \
	    new_top_distdir=$$reldir; \
	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
	    ($(am__cd) $$subdir && \
	      $(MAKE) $(AM_MAKEFLAGS) \
	        top_distdir="$$new_top_distdir" \
	        distdir="$$new_distdir" \
		am__remove_distdir=: \
		am__skip_length_check=: \
		am__skip_mode_fix=: \
	        distdir) \
	      || exit 1; \
	  fi; \
	done
	$(MAKE) $(AM_MAKEFLAGS) \
	  top_distdir="$(top_distdir)" distdir="$(distdir)" \
	  dist-hook
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
	$(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local
check: check-recursive
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS)
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

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

installcheck: installcheck-recursive
install-strip:
	$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	  install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	  `test -z '$(STRIP)' || \
	    echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
	-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."
clean: clean-recursive

clean-am: clean-checkPROGRAMS clean-generic clean-libtool \
	clean-noinstLTLIBRARIES clean-noinstPROGRAMS mostlyclean-am

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

dvi: dvi-recursive

dvi-am:

html: html-recursive

html-am:

info: info-recursive

info-am:

install-data-am:

install-dvi: install-dvi-recursive

install-dvi-am:

install-exec-am:

install-html: install-html-recursive

install-html-am:

install-info: install-info-recursive

install-info-am:

install-man:

install-pdf: install-pdf-recursive

install-pdf-am:

install-ps: install-ps-recursive

install-ps-am:

installcheck-am:

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

mostlyclean: mostlyclean-recursive

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

pdf: pdf-recursive

pdf-am:

ps: ps-recursive

ps-am:

uninstall-am:

.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) check-am \
	ctags-recursive install-am install-strip tags-recursive

.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
	all all-am check check-TESTS check-am check-local clean \
	clean-checkPROGRAMS clean-generic clean-libtool \
	clean-noinstLTLIBRARIES clean-noinstPROGRAMS ctags \
	ctags-recursive dist-hook distclean distclean-compile \
	distclean-generic distclean-libtool distclean-tags distdir dvi \
	dvi-am html html-am info info-am install install-am \
	install-data install-data-am install-dvi install-dvi-am \
	install-exec install-exec-am install-html install-html-am \
	install-info install-info-am install-man install-pdf \
	install-pdf-am install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs installdirs-am \
	maintainer-clean maintainer-clean-generic mostlyclean \
	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
	pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am


### testing rules

# test: run all tests in cwd and subdirs
test:	${TEST_PROGS}
@OS_UNIX_TRUE@	@test -z "${TEST_PROGS}" || ${GTESTER} --verbose ${TEST_PROGS}
@OS_UNIX_TRUE@	@ for subdir in $(SUBDIRS) . ; do \
@OS_UNIX_TRUE@	    test "$$subdir" = "." -o "$$subdir" = "po" || \
@OS_UNIX_TRUE@	    ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
@OS_UNIX_TRUE@	  done

# test-report: run tests in subdirs and generate report
# perf-report: run tests in subdirs with -m perf and generate report
# full-report: like test-report: with -m perf and -m slow
test-report perf-report full-report:	${TEST_PROGS}
	@test -z "${TEST_PROGS}" || { \
	  case $@ in \
	  test-report) test_options="-k";; \
	  perf-report) test_options="-k -m=perf";; \
	  full-report) test_options="-k -m=perf -m=slow";; \
	  esac ; \
	  if test -z "$$GTESTER_LOGDIR" ; then	\
	    ${GTESTER} --verbose $$test_options -o test-report.xml ${TEST_PROGS} ; \
	  elif test -n "${TEST_PROGS}" ; then \
	    ${GTESTER} --verbose $$test_options -o `mktemp "$$GTESTER_LOGDIR/log-XXXXXX"` ${TEST_PROGS} ; \
	  fi ; \
	}
	@ ignore_logdir=true ; \
	  if test -z "$$GTESTER_LOGDIR" ; then \
	    GTESTER_LOGDIR=`mktemp -d "\`pwd\`/.testlogs-XXXXXX"`; export GTESTER_LOGDIR ; \
	    ignore_logdir=false ; \
	  fi ; \
	  for subdir in $(SUBDIRS) . ; do \
	    test "$$subdir" = "." -o "$$subdir" = "po" || \
	    ( cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $@ ) || exit $? ; \
	  done ; \
	  $$ignore_logdir || { \
	    echo '<?xml version="1.0"?>' > $@.xml ; \
	    echo '<report-collection>'  >> $@.xml ; \
	    for lf in `ls -L "$$GTESTER_LOGDIR"/.` ; do \
	      sed '1,1s/^<?xml\b[^>?]*?>//' <"$$GTESTER_LOGDIR"/"$$lf" >> $@.xml ; \
	    done ; \
	    echo >> $@.xml ; \
	    echo '</report-collection>' >> $@.xml ; \
	    rm -rf "$$GTESTER_LOGDIR"/ ; \
	    ${GTESTER_REPORT} --version 2>/dev/null 1>&2 ; test "$$?" != 0 || ${GTESTER_REPORT} $@.xml >$@.html ; \
	  }
.PHONY: test test-report perf-report full-report
# run make test as part of make check
check-local: test

@PLATFORM_WIN32_TRUE@module-test.exp: module-test.o
@PLATFORM_WIN32_TRUE@	dlltool --output-exp module-test.exp module-test.o

dist-hook: $(BUILT_EXTRA_DIST)
	files='$(BUILT_EXTRA_DIST)'; 				\
	for f in $$files; do 					\
	  if test -f $$f; then d=.; else d=$(srcdir); fi; 	\
	  cp $$d/$$f $(distdir) || exit 1; done
	mkdir $(distdir)/markups;          			\
	for f in $(srcdir)/markups/* ; do  			\
	  cp $$f $(distdir)/markups; done 
	mkdir $(distdir)/collate;          			\
	for f in $(srcdir)/collate/* ; do  			\
          if test -f $$f; then cp $$f $(distdir)/collate; fi; done
	mkdir $(distdir)/bookmarks;          			\
	for f in $(srcdir)/bookmarks/* ; do  			\
	  cp $$f $(distdir)/bookmarks; done 

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