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

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@
@DBUS_BUILD_TESTS_TRUE@TESTS = run-test.sh run-test-systemserver.sh
@DBUS_BUILD_TESTS_TRUE@noinst_PROGRAMS =  \
@DBUS_BUILD_TESTS_TRUE@	test-pending-call-dispatch$(EXEEXT) \
@DBUS_BUILD_TESTS_TRUE@	test-pending-call-timeout$(EXEEXT) \
@DBUS_BUILD_TESTS_TRUE@	test-threads-init$(EXEEXT) \
@DBUS_BUILD_TESTS_TRUE@	test-ids$(EXEEXT) \
@DBUS_BUILD_TESTS_TRUE@	test-shutdown$(EXEEXT) \
@DBUS_BUILD_TESTS_TRUE@	test-privserver$(EXEEXT) \
@DBUS_BUILD_TESTS_TRUE@	test-privserver-client$(EXEEXT) \
@DBUS_BUILD_TESTS_TRUE@	test-autolaunch$(EXEEXT)
subdir = test/name-test
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/as-ac-expand.m4 \
	$(top_srcdir)/m4/compiler.m4 $(top_srcdir)/m4/libtool.m4 \
	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
	$(top_srcdir)/m4/pkg.m4 $(top_srcdir)/m4/tp-compiler-flag.m4 \
	$(top_srcdir)/m4/tp-compiler-warnings.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
am__test_autolaunch_SOURCES_DIST = test-autolaunch.c
@DBUS_BUILD_TESTS_TRUE@am_test_autolaunch_OBJECTS = test_autolaunch-test-autolaunch.$(OBJEXT)
test_autolaunch_OBJECTS = $(am_test_autolaunch_OBJECTS)
am__DEPENDENCIES_1 =
@DBUS_BUILD_TESTS_TRUE@test_autolaunch_DEPENDENCIES = $(top_builddir)/dbus/libdbus-internal.la \
@DBUS_BUILD_TESTS_TRUE@	../libdbus-testutils.la \
@DBUS_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_$(V))
am__v_lt_ = $(am__v_lt_$(AM_DEFAULT_VERBOSITY))
am__v_lt_0 = --silent
test_autolaunch_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(test_autolaunch_CFLAGS) $(CFLAGS) $(test_autolaunch_LDFLAGS) \
	$(LDFLAGS) -o $@
am__test_ids_SOURCES_DIST = test-ids.c
@DBUS_BUILD_TESTS_TRUE@am_test_ids_OBJECTS = test-ids.$(OBJEXT)
test_ids_OBJECTS = $(am_test_ids_OBJECTS)
@DBUS_BUILD_TESTS_TRUE@test_ids_DEPENDENCIES = $(top_builddir)/dbus/libdbus-internal.la \
@DBUS_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1)
test_ids_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(test_ids_LDFLAGS) $(LDFLAGS) -o $@
am__test_pending_call_dispatch_SOURCES_DIST =  \
	test-pending-call-dispatch.c
@DBUS_BUILD_TESTS_TRUE@am_test_pending_call_dispatch_OBJECTS =  \
@DBUS_BUILD_TESTS_TRUE@	test-pending-call-dispatch.$(OBJEXT)
test_pending_call_dispatch_OBJECTS =  \
	$(am_test_pending_call_dispatch_OBJECTS)
@DBUS_BUILD_TESTS_TRUE@test_pending_call_dispatch_DEPENDENCIES = $(top_builddir)/dbus/libdbus-internal.la \
@DBUS_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1)
test_pending_call_dispatch_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(test_pending_call_dispatch_LDFLAGS) \
	$(LDFLAGS) -o $@
am__test_pending_call_timeout_SOURCES_DIST =  \
	test-pending-call-timeout.c
@DBUS_BUILD_TESTS_TRUE@am_test_pending_call_timeout_OBJECTS =  \
@DBUS_BUILD_TESTS_TRUE@	test-pending-call-timeout.$(OBJEXT)
test_pending_call_timeout_OBJECTS =  \
	$(am_test_pending_call_timeout_OBJECTS)
@DBUS_BUILD_TESTS_TRUE@test_pending_call_timeout_DEPENDENCIES = $(top_builddir)/dbus/libdbus-internal.la \
@DBUS_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1)
test_pending_call_timeout_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(test_pending_call_timeout_LDFLAGS) \
	$(LDFLAGS) -o $@
am__test_privserver_SOURCES_DIST = test-privserver.c
@DBUS_BUILD_TESTS_TRUE@am_test_privserver_OBJECTS = test_privserver-test-privserver.$(OBJEXT)
test_privserver_OBJECTS = $(am_test_privserver_OBJECTS)
@DBUS_BUILD_TESTS_TRUE@test_privserver_DEPENDENCIES = $(top_builddir)/dbus/libdbus-internal.la \
@DBUS_BUILD_TESTS_TRUE@	../libdbus-testutils.la \
@DBUS_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1)
test_privserver_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(test_privserver_CFLAGS) $(CFLAGS) $(test_privserver_LDFLAGS) \
	$(LDFLAGS) -o $@
am__test_privserver_client_SOURCES_DIST = test-privserver-client.c
@DBUS_BUILD_TESTS_TRUE@am_test_privserver_client_OBJECTS = test_privserver_client-test-privserver-client.$(OBJEXT)
test_privserver_client_OBJECTS = $(am_test_privserver_client_OBJECTS)
@DBUS_BUILD_TESTS_TRUE@test_privserver_client_DEPENDENCIES = $(top_builddir)/dbus/libdbus-internal.la \
@DBUS_BUILD_TESTS_TRUE@	../libdbus-testutils.la \
@DBUS_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1)
test_privserver_client_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(test_privserver_client_CFLAGS) $(CFLAGS) \
	$(test_privserver_client_LDFLAGS) $(LDFLAGS) -o $@
am__test_shutdown_SOURCES_DIST = test-shutdown.c
@DBUS_BUILD_TESTS_TRUE@am_test_shutdown_OBJECTS =  \
@DBUS_BUILD_TESTS_TRUE@	test_shutdown-test-shutdown.$(OBJEXT)
test_shutdown_OBJECTS = $(am_test_shutdown_OBJECTS)
@DBUS_BUILD_TESTS_TRUE@test_shutdown_DEPENDENCIES = $(top_builddir)/dbus/libdbus-internal.la \
@DBUS_BUILD_TESTS_TRUE@	../libdbus-testutils.la \
@DBUS_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1)
test_shutdown_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(test_shutdown_CFLAGS) \
	$(CFLAGS) $(test_shutdown_LDFLAGS) $(LDFLAGS) -o $@
am__test_threads_init_SOURCES_DIST = test-threads-init.c
@DBUS_BUILD_TESTS_TRUE@am_test_threads_init_OBJECTS =  \
@DBUS_BUILD_TESTS_TRUE@	test-threads-init.$(OBJEXT)
test_threads_init_OBJECTS = $(am_test_threads_init_OBJECTS)
@DBUS_BUILD_TESTS_TRUE@test_threads_init_DEPENDENCIES = $(top_builddir)/dbus/libdbus-internal.la \
@DBUS_BUILD_TESTS_TRUE@	$(am__DEPENDENCIES_1)
test_threads_init_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(AM_CFLAGS) $(CFLAGS) $(test_threads_init_LDFLAGS) $(LDFLAGS) \
	-o $@
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_$(V))
am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY))
am__v_CC_0 = @echo "  CC    " $@;
AM_V_at = $(am__v_at_$(V))
am__v_at_ = $(am__v_at_$(AM_DEFAULT_VERBOSITY))
am__v_at_0 = @
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 = $(test_autolaunch_SOURCES) $(test_ids_SOURCES) \
	$(test_pending_call_dispatch_SOURCES) \
	$(test_pending_call_timeout_SOURCES) \
	$(test_privserver_SOURCES) $(test_privserver_client_SOURCES) \
	$(test_shutdown_SOURCES) $(test_threads_init_SOURCES)
DIST_SOURCES = $(am__test_autolaunch_SOURCES_DIST) \
	$(am__test_ids_SOURCES_DIST) \
	$(am__test_pending_call_dispatch_SOURCES_DIST) \
	$(am__test_pending_call_timeout_SOURCES_DIST) \
	$(am__test_privserver_SOURCES_DIST) \
	$(am__test_privserver_client_SOURCES_DIST) \
	$(am__test_shutdown_SOURCES_DIST) \
	$(am__test_threads_init_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
am__tty_colors = \
red=; grn=; lgn=; blu=; std=
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BUILD_FILEVERSION = @BUILD_FILEVERSION@
BUILD_TIMESTAMP = @BUILD_TIMESTAMP@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DBUS_BINDIR = @DBUS_BINDIR@
DBUS_BUS_CFLAGS = @DBUS_BUS_CFLAGS@
DBUS_BUS_LIBS = @DBUS_BUS_LIBS@
DBUS_CLIENT_CFLAGS = @DBUS_CLIENT_CFLAGS@
DBUS_CLIENT_LIBS = @DBUS_CLIENT_LIBS@
DBUS_CONSOLE_AUTH_DIR = @DBUS_CONSOLE_AUTH_DIR@
DBUS_CONSOLE_OWNER_FILE = @DBUS_CONSOLE_OWNER_FILE@
DBUS_DAEMONDIR = @DBUS_DAEMONDIR@
DBUS_DATADIR = @DBUS_DATADIR@
DBUS_HAVE_INT64 = @DBUS_HAVE_INT64@
DBUS_INT16_TYPE = @DBUS_INT16_TYPE@
DBUS_INT32_TYPE = @DBUS_INT32_TYPE@
DBUS_INT64_CONSTANT = @DBUS_INT64_CONSTANT@
DBUS_INT64_TYPE = @DBUS_INT64_TYPE@
DBUS_LAUNCHER_CFLAGS = @DBUS_LAUNCHER_CFLAGS@
DBUS_LAUNCHER_LIBS = @DBUS_LAUNCHER_LIBS@
DBUS_LIBEXECDIR = @DBUS_LIBEXECDIR@
DBUS_MAJOR_VERSION = @DBUS_MAJOR_VERSION@
DBUS_MICRO_VERSION = @DBUS_MICRO_VERSION@
DBUS_MINOR_VERSION = @DBUS_MINOR_VERSION@
DBUS_PATH_OR_ABSTRACT = @DBUS_PATH_OR_ABSTRACT@
DBUS_PREFIX = @DBUS_PREFIX@
DBUS_SESSION_BUS_DEFAULT_ADDRESS = @DBUS_SESSION_BUS_DEFAULT_ADDRESS@
DBUS_SESSION_SOCKET_DIR = @DBUS_SESSION_SOCKET_DIR@
DBUS_SYSTEM_BUS_DEFAULT_ADDRESS = @DBUS_SYSTEM_BUS_DEFAULT_ADDRESS@
DBUS_SYSTEM_PID_FILE = @DBUS_SYSTEM_PID_FILE@
DBUS_SYSTEM_SOCKET = @DBUS_SYSTEM_SOCKET@
DBUS_TEST_CFLAGS = @DBUS_TEST_CFLAGS@
DBUS_TEST_LIBS = @DBUS_TEST_LIBS@
DBUS_UINT64_CONSTANT = @DBUS_UINT64_CONSTANT@
DBUS_USER = @DBUS_USER@
DBUS_VERSION = @DBUS_VERSION@
DBUS_X_CFLAGS = @DBUS_X_CFLAGS@
DBUS_X_LIBS = @DBUS_X_LIBS@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOXYGEN = @DOXYGEN@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
EXPANDED_BINDIR = @EXPANDED_BINDIR@
EXPANDED_DATADIR = @EXPANDED_DATADIR@
EXPANDED_LIBDIR = @EXPANDED_LIBDIR@
EXPANDED_LIBEXECDIR = @EXPANDED_LIBEXECDIR@
EXPANDED_LOCALSTATEDIR = @EXPANDED_LOCALSTATEDIR@
EXPANDED_PREFIX = @EXPANDED_PREFIX@
EXPANDED_SYSCONFDIR = @EXPANDED_SYSCONFDIR@
FGREP = @FGREP@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LAUNCHCTL = @LAUNCHCTL@
LAUNCHD_AGENT_DIR = @LAUNCHD_AGENT_DIR@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIBXML_CFLAGS = @LIBXML_CFLAGS@
LIBXML_LIBS = @LIBXML_LIBS@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@
LT_REVISION = @LT_REVISION@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MAN2HTML = @MAN2HTML@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
RANLIB = @RANLIB@
RC = @RC@
R_DYNAMIC_LDFLAG = @R_DYNAMIC_LDFLAG@
SECTION_LDFLAGS = @SECTION_LDFLAGS@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
TEST_BUS_BINARY = @TEST_BUS_BINARY@
TEST_EXIT_BINARY = @TEST_EXIT_BINARY@
TEST_INVALID_SERVICE_DIR = @TEST_INVALID_SERVICE_DIR@
TEST_INVALID_SERVICE_SYSTEM_DIR = @TEST_INVALID_SERVICE_SYSTEM_DIR@
TEST_LAUNCH_HELPER_BINARY = @TEST_LAUNCH_HELPER_BINARY@
TEST_PRIVSERVER_BINARY = @TEST_PRIVSERVER_BINARY@
TEST_SEGFAULT_BINARY = @TEST_SEGFAULT_BINARY@
TEST_SERVICE_BINARY = @TEST_SERVICE_BINARY@
TEST_SHELL_SERVICE_BINARY = @TEST_SHELL_SERVICE_BINARY@
TEST_SLEEP_FOREVER_BINARY = @TEST_SLEEP_FOREVER_BINARY@
TEST_SOCKET_DIR = @TEST_SOCKET_DIR@
TEST_VALID_SERVICE_DIR = @TEST_VALID_SERVICE_DIR@
TEST_VALID_SERVICE_SYSTEM_DIR = @TEST_VALID_SERVICE_SYSTEM_DIR@
VERSION = @VERSION@
WINDRES = @WINDRES@
XMKMF = @XMKMF@
XMLTO = @XMLTO@
XSLTPROC = @XSLTPROC@
X_CFLAGS = @X_CFLAGS@
X_EXTRA_LIBS = @X_EXTRA_LIBS@
X_LIBS = @X_LIBS@
X_PRE_LIBS = @X_PRE_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@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
systemdsystemunitdir = @systemdsystemunitdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
INCLUDES = -I$(top_srcdir) $(DBUS_CLIENT_CFLAGS) $(DBUS_GLIB_CFLAGS) $(DBUS_TEST_CFLAGS) -DDBUS_COMPILATION
@DBUS_BUILD_TESTS_TRUE@TESTS_ENVIRONMENT = DBUS_TOP_BUILDDIR=@abs_top_builddir@ DBUS_TOP_SRCDIR=@abs_top_srcdir@
EXTRA_DIST = run-test.sh run-test-systemserver.sh test-wait-for-echo.py test-activation-forking.py
@DBUS_BUILD_TESTS_TRUE@AM_CPPFLAGS = -DDBUS_STATIC_BUILD
@DBUS_BUILD_TESTS_TRUE@test_pending_call_dispatch_SOURCES = \
@DBUS_BUILD_TESTS_TRUE@	test-pending-call-dispatch.c

@DBUS_BUILD_TESTS_TRUE@test_pending_call_dispatch_LDADD = $(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS)
@DBUS_BUILD_TESTS_TRUE@test_pending_call_dispatch_LDFLAGS = @R_DYNAMIC_LDFLAG@
@DBUS_BUILD_TESTS_TRUE@test_pending_call_timeout_SOURCES = \
@DBUS_BUILD_TESTS_TRUE@	test-pending-call-timeout.c

@DBUS_BUILD_TESTS_TRUE@test_pending_call_timeout_LDADD = $(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS)
@DBUS_BUILD_TESTS_TRUE@test_pending_call_timeout_LDFLAGS = @R_DYNAMIC_LDFLAG@
@DBUS_BUILD_TESTS_TRUE@test_threads_init_SOURCES = \
@DBUS_BUILD_TESTS_TRUE@	test-threads-init.c

@DBUS_BUILD_TESTS_TRUE@test_threads_init_LDADD = $(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS)
@DBUS_BUILD_TESTS_TRUE@test_threads_init_LDFLAGS = @R_DYNAMIC_LDFLAG@
@DBUS_BUILD_TESTS_TRUE@test_ids_SOURCES = \
@DBUS_BUILD_TESTS_TRUE@	test-ids.c

@DBUS_BUILD_TESTS_TRUE@test_ids_LDADD = $(top_builddir)/dbus/libdbus-internal.la $(DBUS_TEST_LIBS)
@DBUS_BUILD_TESTS_TRUE@test_ids_LDFLAGS = @R_DYNAMIC_LDFLAG@
@DBUS_BUILD_TESTS_TRUE@test_shutdown_SOURCES = \
@DBUS_BUILD_TESTS_TRUE@	test-shutdown.c

@DBUS_BUILD_TESTS_TRUE@test_shutdown_CFLAGS = 
@DBUS_BUILD_TESTS_TRUE@test_shutdown_LDADD = $(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la $(DBUS_TEST_LIBS)
@DBUS_BUILD_TESTS_TRUE@test_shutdown_LDFLAGS = @R_DYNAMIC_LDFLAG@
@DBUS_BUILD_TESTS_TRUE@test_privserver_SOURCES = \
@DBUS_BUILD_TESTS_TRUE@	test-privserver.c

@DBUS_BUILD_TESTS_TRUE@test_privserver_CFLAGS = 
@DBUS_BUILD_TESTS_TRUE@test_privserver_LDADD = $(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la $(DBUS_TEST_LIBS)
@DBUS_BUILD_TESTS_TRUE@test_privserver_LDFLAGS = @R_DYNAMIC_LDFLAG@
@DBUS_BUILD_TESTS_TRUE@test_privserver_client_SOURCES = \
@DBUS_BUILD_TESTS_TRUE@	test-privserver-client.c

@DBUS_BUILD_TESTS_TRUE@test_privserver_client_CFLAGS = 
@DBUS_BUILD_TESTS_TRUE@test_privserver_client_LDADD = $(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la $(DBUS_TEST_LIBS)
@DBUS_BUILD_TESTS_TRUE@test_privserver_client_LDFLAGS = @R_DYNAMIC_LDFLAG@
@DBUS_BUILD_TESTS_TRUE@test_autolaunch_SOURCES = \
@DBUS_BUILD_TESTS_TRUE@	test-autolaunch.c

@DBUS_BUILD_TESTS_TRUE@test_autolaunch_CFLAGS = 
@DBUS_BUILD_TESTS_TRUE@test_autolaunch_LDADD = $(top_builddir)/dbus/libdbus-internal.la ../libdbus-testutils.la $(DBUS_TEST_LIBS)
@DBUS_BUILD_TESTS_TRUE@test_autolaunch_LDFLAGS = @R_DYNAMIC_LDFLAG@
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/name-test/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --gnu test/name-test/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):

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
test-autolaunch$(EXEEXT): $(test_autolaunch_OBJECTS) $(test_autolaunch_DEPENDENCIES) 
	@rm -f test-autolaunch$(EXEEXT)
	$(AM_V_CCLD)$(test_autolaunch_LINK) $(test_autolaunch_OBJECTS) $(test_autolaunch_LDADD) $(LIBS)
test-ids$(EXEEXT): $(test_ids_OBJECTS) $(test_ids_DEPENDENCIES) 
	@rm -f test-ids$(EXEEXT)
	$(AM_V_CCLD)$(test_ids_LINK) $(test_ids_OBJECTS) $(test_ids_LDADD) $(LIBS)
test-pending-call-dispatch$(EXEEXT): $(test_pending_call_dispatch_OBJECTS) $(test_pending_call_dispatch_DEPENDENCIES) 
	@rm -f test-pending-call-dispatch$(EXEEXT)
	$(AM_V_CCLD)$(test_pending_call_dispatch_LINK) $(test_pending_call_dispatch_OBJECTS) $(test_pending_call_dispatch_LDADD) $(LIBS)
test-pending-call-timeout$(EXEEXT): $(test_pending_call_timeout_OBJECTS) $(test_pending_call_timeout_DEPENDENCIES) 
	@rm -f test-pending-call-timeout$(EXEEXT)
	$(AM_V_CCLD)$(test_pending_call_timeout_LINK) $(test_pending_call_timeout_OBJECTS) $(test_pending_call_timeout_LDADD) $(LIBS)
test-privserver$(EXEEXT): $(test_privserver_OBJECTS) $(test_privserver_DEPENDENCIES) 
	@rm -f test-privserver$(EXEEXT)
	$(AM_V_CCLD)$(test_privserver_LINK) $(test_privserver_OBJECTS) $(test_privserver_LDADD) $(LIBS)
test-privserver-client$(EXEEXT): $(test_privserver_client_OBJECTS) $(test_privserver_client_DEPENDENCIES) 
	@rm -f test-privserver-client$(EXEEXT)
	$(AM_V_CCLD)$(test_privserver_client_LINK) $(test_privserver_client_OBJECTS) $(test_privserver_client_LDADD) $(LIBS)
test-shutdown$(EXEEXT): $(test_shutdown_OBJECTS) $(test_shutdown_DEPENDENCIES) 
	@rm -f test-shutdown$(EXEEXT)
	$(AM_V_CCLD)$(test_shutdown_LINK) $(test_shutdown_OBJECTS) $(test_shutdown_LDADD) $(LIBS)
test-threads-init$(EXEEXT): $(test_threads_init_OBJECTS) $(test_threads_init_DEPENDENCIES) 
	@rm -f test-threads-init$(EXEEXT)
	$(AM_V_CCLD)$(test_threads_init_LINK) $(test_threads_init_OBJECTS) $(test_threads_init_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-ids.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pending-call-dispatch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-pending-call-timeout.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-threads-init.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_autolaunch-test-autolaunch.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_privserver-test-privserver.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_privserver_client-test-privserver-client.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_shutdown-test-shutdown.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
@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 $@ $<

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

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

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

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

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

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

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

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

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

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:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	here=`pwd`; \
	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:  $(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
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

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

installcheck: installcheck-am
install-strip:
	$(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)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-am

clean-am: clean-generic clean-libtool clean-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-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

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

mostlyclean: mostlyclean-am

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

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

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

.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
	clean-generic clean-libtool clean-noinstPROGRAMS ctags \
	distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags distdir dvi dvi-am html \
	html-am info info-am install install-am install-data \
	install-data-am install-dvi install-dvi-am install-exec \
	install-exec-am install-html install-html-am install-info \
	install-info-am install-man install-pdf install-pdf-am \
	install-ps install-ps-am install-strip installcheck \
	installcheck-am installdirs maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags uninstall uninstall-am


# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
