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

# This file is used for tool tests, and also in perf/Makefile.am.

# This file should be included (directly or indirectly) by every
# Makefile.am that builds programs.  And also the top-level Makefile.am.

#----------------------------------------------------------------------------
# Global stuff
#----------------------------------------------------------------------------


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 = $(dist_noinst_SCRIPTS) $(noinst_HEADERS) \
	$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
	$(top_srcdir)/Makefile.all.am \
	$(top_srcdir)/Makefile.tool-tests.am

# The Android toolchain includes all kinds of stdlib helpers present in
# bionic which is bad because we are not linking with it and the Android
# linker will panic.
@VGCONF_PLATVARIANT_IS_ANDROID_TRUE@am__append_1 = -nostdlib
@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_2 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1  \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@		-DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1

check_PROGRAMS = annotate_hb_err$(EXEEXT) annotate_hb_race$(EXEEXT) \
	annotate_ignore_rw$(EXEEXT) annotate_ignore_write$(EXEEXT) \
	annotate_publish_hg$(EXEEXT) annotate_static$(EXEEXT) \
	bug-235681$(EXEEXT) custom_alloc$(EXEEXT) fp_race$(EXEEXT) \
	free_is_write$(EXEEXT) hold_lock$(EXEEXT) \
	linuxthreads_det$(EXEEXT) memory_allocation$(EXEEXT) \
	monitor_example$(EXEEXT) new_delete$(EXEEXT) \
	pth_broadcast$(EXEEXT) pth_cancel_locked$(EXEEXT) \
	pth_cleanup_handler$(EXEEXT) pth_cond_race$(EXEEXT) \
	pth_create_chain$(EXEEXT) pth_detached$(EXEEXT) \
	pth_detached_sem$(EXEEXT) pth_detached3$(EXEEXT) \
	pth_inconsistent_cond_wait$(EXEEXT) pth_mutex_reinit$(EXEEXT) \
	pth_process_shared_mutex$(EXEEXT) \
	pth_uninitialized_cond$(EXEEXT) recursive_mutex$(EXEEXT) \
	rwlock_race$(EXEEXT) rwlock_test$(EXEEXT) \
	rwlock_type_checking$(EXEEXT) sem_as_mutex$(EXEEXT) \
	sem_open$(EXEEXT) sigalrm$(EXEEXT) thread_name$(EXEEXT) \
	threaded-fork$(EXEEXT) trylock$(EXEEXT) unit_bitmap$(EXEEXT) \
	unit_vc$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) \
	$(am__EXEEXT_3) $(am__EXEEXT_4) $(am__EXEEXT_5) \
	$(am__EXEEXT_6) $(am__EXEEXT_7) $(am__EXEEXT_8) \
	$(am__EXEEXT_9)
@HAVE_BOOST_1_35_TRUE@am__append_3 = boost_thread
@HAVE_BUILTIN_ATOMIC_TRUE@am__append_4 = \
@HAVE_BUILTIN_ATOMIC_TRUE@  annotate_barrier       \
@HAVE_BUILTIN_ATOMIC_TRUE@  annotate_rwlock        \
@HAVE_BUILTIN_ATOMIC_TRUE@  atomic_var             \
@HAVE_BUILTIN_ATOMIC_TRUE@  circular_buffer

@HAVE_BUILTIN_ATOMIC64_TRUE@am__append_5 = \
@HAVE_BUILTIN_ATOMIC64_TRUE@  annotate_trace_memory

@HAVE_BUILTIN_ATOMIC_CXX_TRUE@am__append_6 = \
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@  annotate_smart_pointer \
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@  tsan_unittest

@HAVE_SHARED_POINTER_ANNOTATION_TRUE@am__append_7 = \
@HAVE_SHARED_POINTER_ANNOTATION_TRUE@  std_thread

@HAVE_OPENMP_TRUE@am__append_8 = omp_matinv omp_prime omp_printf
@HAVE_PTHREAD_BARRIER_TRUE@am__append_9 = matinv pth_barrier pth_barrier_race pth_barrier_reinit \
@HAVE_PTHREAD_BARRIER_TRUE@	pth_barrier_thr_cr

@HAVE_PTHREAD_CREATE_GLIBC_2_0_TRUE@am__append_10 = pth_create_glibc_2_0
@HAVE_PTHREAD_SPINLOCK_TRUE@am__append_11 = pth_spinlock
subdir = drd/tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
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 =
@HAVE_BOOST_1_35_TRUE@am__EXEEXT_1 = boost_thread$(EXEEXT)
@HAVE_BUILTIN_ATOMIC_TRUE@am__EXEEXT_2 = annotate_barrier$(EXEEXT) \
@HAVE_BUILTIN_ATOMIC_TRUE@	annotate_rwlock$(EXEEXT) \
@HAVE_BUILTIN_ATOMIC_TRUE@	atomic_var$(EXEEXT) \
@HAVE_BUILTIN_ATOMIC_TRUE@	circular_buffer$(EXEEXT)
@HAVE_BUILTIN_ATOMIC64_TRUE@am__EXEEXT_3 =  \
@HAVE_BUILTIN_ATOMIC64_TRUE@	annotate_trace_memory$(EXEEXT)
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@am__EXEEXT_4 =  \
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@	annotate_smart_pointer$(EXEEXT) \
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@	tsan_unittest$(EXEEXT)
@HAVE_SHARED_POINTER_ANNOTATION_TRUE@am__EXEEXT_5 =  \
@HAVE_SHARED_POINTER_ANNOTATION_TRUE@	std_thread$(EXEEXT)
@HAVE_OPENMP_TRUE@am__EXEEXT_6 = omp_matinv$(EXEEXT) \
@HAVE_OPENMP_TRUE@	omp_prime$(EXEEXT) omp_printf$(EXEEXT)
@HAVE_PTHREAD_BARRIER_TRUE@am__EXEEXT_7 = matinv$(EXEEXT) \
@HAVE_PTHREAD_BARRIER_TRUE@	pth_barrier$(EXEEXT) \
@HAVE_PTHREAD_BARRIER_TRUE@	pth_barrier_race$(EXEEXT) \
@HAVE_PTHREAD_BARRIER_TRUE@	pth_barrier_reinit$(EXEEXT) \
@HAVE_PTHREAD_BARRIER_TRUE@	pth_barrier_thr_cr$(EXEEXT)
@HAVE_PTHREAD_CREATE_GLIBC_2_0_TRUE@am__EXEEXT_8 = pth_create_glibc_2_0$(EXEEXT)
@HAVE_PTHREAD_SPINLOCK_TRUE@am__EXEEXT_9 = pth_spinlock$(EXEEXT)
annotate_barrier_SOURCES = annotate_barrier.c
annotate_barrier_OBJECTS = annotate_barrier.$(OBJEXT)
annotate_barrier_LDADD = $(LDADD)
annotate_barrier_DEPENDENCIES =
annotate_hb_err_SOURCES = annotate_hb_err.c
annotate_hb_err_OBJECTS = annotate_hb_err.$(OBJEXT)
annotate_hb_err_LDADD = $(LDADD)
annotate_hb_err_DEPENDENCIES =
annotate_hb_race_SOURCES = annotate_hb_race.c
annotate_hb_race_OBJECTS = annotate_hb_race.$(OBJEXT)
annotate_hb_race_LDADD = $(LDADD)
annotate_hb_race_DEPENDENCIES =
annotate_ignore_rw_SOURCES = annotate_ignore_rw.c
annotate_ignore_rw_OBJECTS = annotate_ignore_rw.$(OBJEXT)
annotate_ignore_rw_LDADD = $(LDADD)
annotate_ignore_rw_DEPENDENCIES =
annotate_ignore_write_SOURCES = annotate_ignore_write.c
annotate_ignore_write_OBJECTS = annotate_ignore_write.$(OBJEXT)
annotate_ignore_write_LDADD = $(LDADD)
annotate_ignore_write_DEPENDENCIES =
annotate_publish_hg_SOURCES = annotate_publish_hg.c
annotate_publish_hg_OBJECTS = annotate_publish_hg.$(OBJEXT)
annotate_publish_hg_LDADD = $(LDADD)
annotate_publish_hg_DEPENDENCIES =
annotate_rwlock_SOURCES = annotate_rwlock.c
annotate_rwlock_OBJECTS = annotate_rwlock.$(OBJEXT)
annotate_rwlock_LDADD = $(LDADD)
annotate_rwlock_DEPENDENCIES =
am__annotate_smart_pointer_SOURCES_DIST = annotate_smart_pointer.cpp
@HAVE_BUILTIN_ATOMIC_TRUE@am_annotate_smart_pointer_OBJECTS =  \
@HAVE_BUILTIN_ATOMIC_TRUE@	annotate_smart_pointer.$(OBJEXT)
annotate_smart_pointer_OBJECTS = $(am_annotate_smart_pointer_OBJECTS)
annotate_smart_pointer_LDADD = $(LDADD)
annotate_smart_pointer_DEPENDENCIES =
am_annotate_static_OBJECTS = annotate_static.$(OBJEXT)
annotate_static_OBJECTS = $(am_annotate_static_OBJECTS)
annotate_static_LDADD = $(LDADD)
annotate_static_DEPENDENCIES =
annotate_trace_memory_SOURCES = annotate_trace_memory.c
annotate_trace_memory_OBJECTS = annotate_trace_memory.$(OBJEXT)
annotate_trace_memory_LDADD = $(LDADD)
annotate_trace_memory_DEPENDENCIES =
atomic_var_SOURCES = atomic_var.c
atomic_var_OBJECTS = atomic_var.$(OBJEXT)
atomic_var_LDADD = $(LDADD)
atomic_var_DEPENDENCIES =
am__boost_thread_SOURCES_DIST = boost_thread.cpp
@HAVE_BOOST_1_35_TRUE@am_boost_thread_OBJECTS =  \
@HAVE_BOOST_1_35_TRUE@	boost_thread-boost_thread.$(OBJEXT)
boost_thread_OBJECTS = $(am_boost_thread_OBJECTS)
am__DEPENDENCIES_1 =
@HAVE_BOOST_1_35_TRUE@boost_thread_DEPENDENCIES =  \
@HAVE_BOOST_1_35_TRUE@	$(am__DEPENDENCIES_1)
boost_thread_LINK = $(CXXLD) $(boost_thread_CXXFLAGS) $(CXXFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
bug_235681_SOURCES = bug-235681.c
bug_235681_OBJECTS = bug-235681.$(OBJEXT)
bug_235681_LDADD = $(LDADD)
bug_235681_DEPENDENCIES =
circular_buffer_SOURCES = circular_buffer.c
circular_buffer_OBJECTS = circular_buffer.$(OBJEXT)
circular_buffer_LDADD = $(LDADD)
circular_buffer_DEPENDENCIES =
custom_alloc_SOURCES = custom_alloc.c
custom_alloc_OBJECTS = custom_alloc.$(OBJEXT)
custom_alloc_LDADD = $(LDADD)
custom_alloc_DEPENDENCIES =
fp_race_SOURCES = fp_race.c
fp_race_OBJECTS = fp_race.$(OBJEXT)
fp_race_LDADD = $(LDADD)
fp_race_DEPENDENCIES =
free_is_write_SOURCES = free_is_write.c
free_is_write_OBJECTS = free_is_write.$(OBJEXT)
free_is_write_LDADD = $(LDADD)
free_is_write_DEPENDENCIES =
hold_lock_SOURCES = hold_lock.c
hold_lock_OBJECTS = hold_lock.$(OBJEXT)
hold_lock_LDADD = $(LDADD)
hold_lock_DEPENDENCIES =
linuxthreads_det_SOURCES = linuxthreads_det.c
linuxthreads_det_OBJECTS = linuxthreads_det.$(OBJEXT)
linuxthreads_det_LDADD = $(LDADD)
linuxthreads_det_DEPENDENCIES =
matinv_SOURCES = matinv.c
matinv_OBJECTS = matinv.$(OBJEXT)
@HAVE_PTHREAD_BARRIER_TRUE@matinv_DEPENDENCIES =  \
@HAVE_PTHREAD_BARRIER_TRUE@	$(am__DEPENDENCIES_1)
memory_allocation_SOURCES = memory_allocation.c
memory_allocation_OBJECTS = memory_allocation.$(OBJEXT)
memory_allocation_LDADD = $(LDADD)
memory_allocation_DEPENDENCIES =
am_monitor_example_OBJECTS = monitor_example.$(OBJEXT)
monitor_example_OBJECTS = $(am_monitor_example_OBJECTS)
monitor_example_LDADD = $(LDADD)
monitor_example_DEPENDENCIES =
am_new_delete_OBJECTS = new_delete.$(OBJEXT)
new_delete_OBJECTS = $(am_new_delete_OBJECTS)
new_delete_LDADD = $(LDADD)
new_delete_DEPENDENCIES =
omp_matinv_SOURCES = omp_matinv.c
omp_matinv_OBJECTS = omp_matinv-omp_matinv.$(OBJEXT)
@HAVE_OPENMP_TRUE@omp_matinv_DEPENDENCIES = $(am__DEPENDENCIES_1)
omp_matinv_LINK = $(CCLD) $(omp_matinv_CFLAGS) $(CFLAGS) \
	$(omp_matinv_LDFLAGS) $(LDFLAGS) -o $@
omp_prime_SOURCES = omp_prime.c
omp_prime_OBJECTS = omp_prime-omp_prime.$(OBJEXT)
@HAVE_OPENMP_TRUE@omp_prime_DEPENDENCIES = $(am__DEPENDENCIES_1)
omp_prime_LINK = $(CCLD) $(omp_prime_CFLAGS) $(CFLAGS) \
	$(omp_prime_LDFLAGS) $(LDFLAGS) -o $@
omp_printf_SOURCES = omp_printf.c
omp_printf_OBJECTS = omp_printf-omp_printf.$(OBJEXT)
@HAVE_OPENMP_TRUE@omp_printf_DEPENDENCIES = $(am__DEPENDENCIES_1)
omp_printf_LINK = $(CCLD) $(omp_printf_CFLAGS) $(CFLAGS) \
	$(omp_printf_LDFLAGS) $(LDFLAGS) -o $@
pth_barrier_SOURCES = pth_barrier.c
pth_barrier_OBJECTS = pth_barrier.$(OBJEXT)
pth_barrier_LDADD = $(LDADD)
pth_barrier_DEPENDENCIES =
pth_barrier_race_SOURCES = pth_barrier_race.c
pth_barrier_race_OBJECTS = pth_barrier_race.$(OBJEXT)
pth_barrier_race_LDADD = $(LDADD)
pth_barrier_race_DEPENDENCIES =
pth_barrier_reinit_SOURCES = pth_barrier_reinit.c
pth_barrier_reinit_OBJECTS = pth_barrier_reinit.$(OBJEXT)
pth_barrier_reinit_LDADD = $(LDADD)
pth_barrier_reinit_DEPENDENCIES =
pth_barrier_thr_cr_SOURCES = pth_barrier_thr_cr.c
pth_barrier_thr_cr_OBJECTS = pth_barrier_thr_cr.$(OBJEXT)
pth_barrier_thr_cr_LDADD = $(LDADD)
pth_barrier_thr_cr_DEPENDENCIES =
pth_broadcast_SOURCES = pth_broadcast.c
pth_broadcast_OBJECTS = pth_broadcast.$(OBJEXT)
pth_broadcast_LDADD = $(LDADD)
pth_broadcast_DEPENDENCIES =
pth_cancel_locked_SOURCES = pth_cancel_locked.c
pth_cancel_locked_OBJECTS = pth_cancel_locked.$(OBJEXT)
pth_cancel_locked_LDADD = $(LDADD)
pth_cancel_locked_DEPENDENCIES =
pth_cleanup_handler_SOURCES = pth_cleanup_handler.c
pth_cleanup_handler_OBJECTS =  \
	pth_cleanup_handler-pth_cleanup_handler.$(OBJEXT)
pth_cleanup_handler_LDADD = $(LDADD)
pth_cleanup_handler_DEPENDENCIES =
pth_cleanup_handler_LINK = $(CCLD) $(pth_cleanup_handler_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
pth_cond_race_SOURCES = pth_cond_race.c
pth_cond_race_OBJECTS = pth_cond_race.$(OBJEXT)
pth_cond_race_LDADD = $(LDADD)
pth_cond_race_DEPENDENCIES =
pth_create_chain_SOURCES = pth_create_chain.c
pth_create_chain_OBJECTS = pth_create_chain.$(OBJEXT)
pth_create_chain_LDADD = $(LDADD)
pth_create_chain_DEPENDENCIES =
pth_create_glibc_2_0_SOURCES = pth_create_glibc_2_0.c
pth_create_glibc_2_0_OBJECTS = pth_create_glibc_2_0.$(OBJEXT)
pth_create_glibc_2_0_LDADD = $(LDADD)
pth_create_glibc_2_0_DEPENDENCIES =
pth_detached_SOURCES = pth_detached.c
pth_detached_OBJECTS = pth_detached.$(OBJEXT)
pth_detached_LDADD = $(LDADD)
pth_detached_DEPENDENCIES =
pth_detached3_SOURCES = pth_detached3.c
pth_detached3_OBJECTS = pth_detached3.$(OBJEXT)
pth_detached3_LDADD = $(LDADD)
pth_detached3_DEPENDENCIES =
pth_detached_sem_SOURCES = pth_detached_sem.c
pth_detached_sem_OBJECTS = pth_detached_sem.$(OBJEXT)
pth_detached_sem_LDADD = $(LDADD)
pth_detached_sem_DEPENDENCIES =
pth_inconsistent_cond_wait_SOURCES = pth_inconsistent_cond_wait.c
pth_inconsistent_cond_wait_OBJECTS =  \
	pth_inconsistent_cond_wait.$(OBJEXT)
pth_inconsistent_cond_wait_LDADD = $(LDADD)
pth_inconsistent_cond_wait_DEPENDENCIES =
pth_mutex_reinit_SOURCES = pth_mutex_reinit.c
pth_mutex_reinit_OBJECTS = pth_mutex_reinit.$(OBJEXT)
pth_mutex_reinit_LDADD = $(LDADD)
pth_mutex_reinit_DEPENDENCIES =
pth_process_shared_mutex_SOURCES = pth_process_shared_mutex.c
pth_process_shared_mutex_OBJECTS = pth_process_shared_mutex.$(OBJEXT)
pth_process_shared_mutex_LDADD = $(LDADD)
pth_process_shared_mutex_DEPENDENCIES =
pth_spinlock_SOURCES = pth_spinlock.c
pth_spinlock_OBJECTS = pth_spinlock.$(OBJEXT)
pth_spinlock_LDADD = $(LDADD)
pth_spinlock_DEPENDENCIES =
pth_uninitialized_cond_SOURCES = pth_uninitialized_cond.c
pth_uninitialized_cond_OBJECTS = pth_uninitialized_cond.$(OBJEXT)
pth_uninitialized_cond_LDADD = $(LDADD)
pth_uninitialized_cond_DEPENDENCIES =
recursive_mutex_SOURCES = recursive_mutex.c
recursive_mutex_OBJECTS = recursive_mutex.$(OBJEXT)
recursive_mutex_LDADD = $(LDADD)
recursive_mutex_DEPENDENCIES =
rwlock_race_SOURCES = rwlock_race.c
rwlock_race_OBJECTS = rwlock_race.$(OBJEXT)
rwlock_race_LDADD = $(LDADD)
rwlock_race_DEPENDENCIES =
rwlock_test_SOURCES = rwlock_test.c
rwlock_test_OBJECTS = rwlock_test.$(OBJEXT)
rwlock_test_LDADD = $(LDADD)
rwlock_test_DEPENDENCIES =
rwlock_type_checking_SOURCES = rwlock_type_checking.c
rwlock_type_checking_OBJECTS = rwlock_type_checking.$(OBJEXT)
rwlock_type_checking_LDADD = $(LDADD)
rwlock_type_checking_DEPENDENCIES =
sem_as_mutex_SOURCES = sem_as_mutex.c
sem_as_mutex_OBJECTS = sem_as_mutex.$(OBJEXT)
sem_as_mutex_LDADD = $(LDADD)
sem_as_mutex_DEPENDENCIES =
sem_open_SOURCES = sem_open.c
sem_open_OBJECTS = sem_open.$(OBJEXT)
sem_open_LDADD = $(LDADD)
sem_open_DEPENDENCIES =
sigalrm_SOURCES = sigalrm.c
sigalrm_OBJECTS = sigalrm.$(OBJEXT)
sigalrm_LDADD = $(LDADD)
sigalrm_DEPENDENCIES =
am_std_thread_OBJECTS = std_thread-std_thread.$(OBJEXT)
std_thread_OBJECTS = $(am_std_thread_OBJECTS)
std_thread_LDADD = $(LDADD)
std_thread_DEPENDENCIES =
std_thread_LINK = $(CXXLD) $(std_thread_CXXFLAGS) $(CXXFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
thread_name_SOURCES = thread_name.c
thread_name_OBJECTS = thread_name.$(OBJEXT)
thread_name_LDADD = $(LDADD)
thread_name_DEPENDENCIES =
threaded_fork_SOURCES = threaded-fork.c
threaded_fork_OBJECTS = threaded-fork.$(OBJEXT)
threaded_fork_LDADD = $(LDADD)
threaded_fork_DEPENDENCIES =
trylock_SOURCES = trylock.c
trylock_OBJECTS = trylock.$(OBJEXT)
trylock_LDADD = $(LDADD)
trylock_DEPENDENCIES =
am_tsan_unittest_OBJECTS = tsan_unittest-tsan_unittest.$(OBJEXT)
tsan_unittest_OBJECTS = $(am_tsan_unittest_OBJECTS)
tsan_unittest_LDADD = $(LDADD)
tsan_unittest_DEPENDENCIES =
tsan_unittest_LINK = $(CXXLD) $(tsan_unittest_CXXFLAGS) $(CXXFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
unit_bitmap_SOURCES = unit_bitmap.c
unit_bitmap_OBJECTS = unit_bitmap-unit_bitmap.$(OBJEXT)
unit_bitmap_DEPENDENCIES =
unit_bitmap_LINK = $(CCLD) $(unit_bitmap_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
unit_vc_SOURCES = unit_vc.c
unit_vc_OBJECTS = unit_vc-unit_vc.$(OBJEXT)
unit_vc_DEPENDENCIES =
unit_vc_LINK = $(CCLD) $(unit_vc_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
SCRIPTS = $(dist_noinst_SCRIPTS)
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)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
	-o $@
SOURCES = annotate_barrier.c annotate_hb_err.c annotate_hb_race.c \
	annotate_ignore_rw.c annotate_ignore_write.c \
	annotate_publish_hg.c annotate_rwlock.c \
	$(annotate_smart_pointer_SOURCES) $(annotate_static_SOURCES) \
	annotate_trace_memory.c atomic_var.c $(boost_thread_SOURCES) \
	bug-235681.c circular_buffer.c custom_alloc.c fp_race.c \
	free_is_write.c hold_lock.c linuxthreads_det.c matinv.c \
	memory_allocation.c $(monitor_example_SOURCES) \
	$(new_delete_SOURCES) omp_matinv.c omp_prime.c omp_printf.c \
	pth_barrier.c pth_barrier_race.c pth_barrier_reinit.c \
	pth_barrier_thr_cr.c pth_broadcast.c pth_cancel_locked.c \
	pth_cleanup_handler.c pth_cond_race.c pth_create_chain.c \
	pth_create_glibc_2_0.c pth_detached.c pth_detached3.c \
	pth_detached_sem.c pth_inconsistent_cond_wait.c \
	pth_mutex_reinit.c pth_process_shared_mutex.c pth_spinlock.c \
	pth_uninitialized_cond.c recursive_mutex.c rwlock_race.c \
	rwlock_test.c rwlock_type_checking.c sem_as_mutex.c sem_open.c \
	sigalrm.c $(std_thread_SOURCES) thread_name.c threaded-fork.c \
	trylock.c $(tsan_unittest_SOURCES) unit_bitmap.c unit_vc.c
DIST_SOURCES = annotate_barrier.c annotate_hb_err.c annotate_hb_race.c \
	annotate_ignore_rw.c annotate_ignore_write.c \
	annotate_publish_hg.c annotate_rwlock.c \
	$(am__annotate_smart_pointer_SOURCES_DIST) \
	$(annotate_static_SOURCES) annotate_trace_memory.c \
	atomic_var.c $(am__boost_thread_SOURCES_DIST) bug-235681.c \
	circular_buffer.c custom_alloc.c fp_race.c free_is_write.c \
	hold_lock.c linuxthreads_det.c matinv.c memory_allocation.c \
	$(monitor_example_SOURCES) $(new_delete_SOURCES) omp_matinv.c \
	omp_prime.c omp_printf.c pth_barrier.c pth_barrier_race.c \
	pth_barrier_reinit.c pth_barrier_thr_cr.c pth_broadcast.c \
	pth_cancel_locked.c pth_cleanup_handler.c pth_cond_race.c \
	pth_create_chain.c pth_create_glibc_2_0.c pth_detached.c \
	pth_detached3.c pth_detached_sem.c \
	pth_inconsistent_cond_wait.c pth_mutex_reinit.c \
	pth_process_shared_mutex.c pth_spinlock.c \
	pth_uninitialized_cond.c recursive_mutex.c rwlock_race.c \
	rwlock_test.c rwlock_type_checking.c sem_as_mutex.c sem_open.c \
	sigalrm.c $(std_thread_SOURCES) thread_name.c threaded-fork.c \
	trylock.c $(tsan_unittest_SOURCES) unit_bitmap.c unit_vc.c
HEADERS = $(noinst_HEADERS)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BOOST_CFLAGS = @BOOST_CFLAGS@
BOOST_LIBS = @BOOST_LIBS@
CC = @CC@
CCAS = @CCAS@
CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAGS_MPI = @CFLAGS_MPI@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_SUPP = @DEFAULT_SUPP@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DIFF = @DIFF@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
FLAG_M32 = @FLAG_M32@
FLAG_M64 = @FLAG_M64@
FLAG_MMMX = @FLAG_MMMX@
FLAG_MSSE = @FLAG_MSSE@
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
FLAG_W_EXTRA = @FLAG_W_EXTRA@
FLAG_W_NO_EMPTY_BODY = @FLAG_W_NO_EMPTY_BODY@
FLAG_W_NO_FORMAT_ZERO_LENGTH = @FLAG_W_NO_FORMAT_ZERO_LENGTH@
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
GDB = @GDB@
GLIBC_VERSION = @GLIBC_VERSION@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LDFLAGS_MPI = @LDFLAGS_MPI@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MPI_CC = @MPI_CC@
OBJEXT = @OBJEXT@
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@
PERL = @PERL@
PREFERRED_STACK_BOUNDARY = @PREFERRED_STACK_BOUNDARY@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
VERSION = @VERSION@
VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
VGCONF_OS = @VGCONF_OS@
VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
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@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
inplacedir = $(top_builddir)/.in_place

#----------------------------------------------------------------------------
# Flags
#----------------------------------------------------------------------------

# Baseline flags for all compilations.  Aim here is to maximise
# performance and get whatever useful warnings we can out of gcc.
# -fno-builtin is important for defeating LLVM's idiom recognition
# that somehow causes VG_(memset) to get into infinite recursion.
AM_CFLAGS_BASE = \
	-O2 -g \
	-Wall \
	-Wmissing-prototypes \
	-Wshadow \
	-Wpointer-arith \
	-Wstrict-prototypes \
	-Wmissing-declarations \
	@FLAG_W_NO_FORMAT_ZERO_LENGTH@ \
	-fno-strict-aliasing \
	-fno-builtin

@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PIC = -fpic -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
@VGCONF_OS_IS_DARWIN_FALSE@		-fno-builtin


# These flags are used for building the preload shared objects.
# The aim is to give reasonable performance but also to have good
# stack traces, since users often see stack traces extending 
# into (and through) the preloads.
@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PIC = -dynamic -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
@VGCONF_OS_IS_DARWIN_TRUE@		-mno-dynamic-no-pic -fpic -fPIC \
@VGCONF_OS_IS_DARWIN_TRUE@		-fno-builtin


# Flags for specific targets.
#
# Nb: the AM_CPPFLAGS_* values are suitable for building tools and auxprogs.
# For building the core, coregrind/Makefile.am files add some extra things.
AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ = \
	-I$(top_srcdir) \
	-I$(top_srcdir)/include \
	-I$(top_srcdir)/VEX/pub \
	-DVGA_@VGCONF_ARCH_PRI@=1 \
	-DVGO_@VGCONF_OS@=1 \
	-DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
	-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1

@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ = \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-I$(top_srcdir) \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-I$(top_srcdir)/include \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-I$(top_srcdir)/VEX/pub \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-DVGA_@VGCONF_ARCH_SEC@=1 \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-DVGO_@VGCONF_OS@=1 \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-DVGP_@VGCONF_ARCH_SEC@_@VGCONF_OS@=1 \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-DVGPV_@VGCONF_ARCH_SEC@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1

AM_FLAG_M3264_X86_LINUX = @FLAG_M32@
AM_CFLAGS_X86_LINUX = @FLAG_M32@  @PREFERRED_STACK_BOUNDARY@ \
				$(AM_CFLAGS_BASE) -fomit-frame-pointer

AM_CCASFLAGS_X86_LINUX = @FLAG_M32@ -g
AM_FLAG_M3264_AMD64_LINUX = @FLAG_M64@
AM_CFLAGS_AMD64_LINUX = @FLAG_M64@ @PREFERRED_STACK_BOUNDARY@ \
				$(AM_CFLAGS_BASE) -fomit-frame-pointer

AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
AM_FLAG_M3264_PPC64_LINUX = @FLAG_M64@
AM_CFLAGS_PPC64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CCASFLAGS_PPC64_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY@ \
			 	$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8

AM_CCASFLAGS_ARM_LINUX = @FLAG_M32@ \
				-marm -mcpu=cortex-a8 -g

AM_FLAG_M3264_X86_DARWIN = -arch i386
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
				-mmacosx-version-min=10.5 \
				-fno-stack-protector -fno-pic -fno-PIC

AM_CCASFLAGS_X86_DARWIN = -arch i386 -g
AM_FLAG_M3264_AMD64_DARWIN = -arch x86_64
AM_CFLAGS_AMD64_DARWIN = $(WERROR) -arch x86_64 $(AM_CFLAGS_BASE) \
			    -mmacosx-version-min=10.5 -fno-stack-protector

AM_CCASFLAGS_AMD64_DARWIN = -arch x86_64 -g
AM_FLAG_M3264_S390X_LINUX = @FLAG_M64@
AM_CFLAGS_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) -fomit-frame-pointer
AM_CCASFLAGS_S390X_LINUX = @FLAG_M64@ -g -mzarch -march=z900
AM_FLAG_M3264_MIPS32_LINUX = @FLAG_M32@
AM_CFLAGS_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) -mips32
AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -mips32 -g

# Flags for the primary target.  These must be used to build the
# regtests and performance tests.  In fact, these must be used to
# build anything which is built only once on a dual-arch build.
#
AM_FLAG_M3264_PRI = $(AM_FLAG_M3264_@VGCONF_PLATFORM_PRI_CAPS@)
AM_CPPFLAGS_PRI = $(AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
AM_CFLAGS_PRI = $(AM_CFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
AM_CCASFLAGS_PRI = $(AM_CCASFLAGS_@VGCONF_PLATFORM_PRI_CAPS@)
@VGCONF_HAVE_PLATFORM_SEC_FALSE@AM_FLAG_M3264_SEC = 
@VGCONF_HAVE_PLATFORM_SEC_TRUE@AM_FLAG_M3264_SEC = $(AM_FLAG_M3264_@VGCONF_PLATFORM_SEC_CAPS@)

# Baseline link flags for making vgpreload shared objects.
#
PRELOAD_LDFLAGS_COMMON_LINUX = -nodefaultlibs -shared \
	-Wl,-z,interpose,-z,initfirst $(am__append_1)
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_PPC64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_X86_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch i386
PRELOAD_LDFLAGS_AMD64_DARWIN = $(PRELOAD_LDFLAGS_COMMON_DARWIN) -arch x86_64
PRELOAD_LDFLAGS_S390X_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_MIPS32_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
	-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
	-I$(top_srcdir)/VEX/pub -DVGA_@VGCONF_ARCH_PRI@=1 \
	-DVGO_@VGCONF_OS@=1 -DVGP_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1 \
	-DVGPV_@VGCONF_ARCH_PRI@_@VGCONF_OS@_@VGCONF_PLATVARIANT@=1 \
	$(am__append_2)

# Nb: Tools need to augment these flags with an arch-selection option, such
# as $(AM_FLAG_M3264_PRI).
AM_CFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI) \
	@FLAG_W_EXTRA@ -Wno-inline -Wno-unused-parameter
AM_CXXFLAGS = -Winline -Wall -Wshadow -g $(AM_FLAG_M3264_PRI) \
	@FLAG_W_EXTRA@ -Wno-inline -Wno-unused-parameter
# Include AM_CPPFLAGS in AM_CCASFLAGS to allow for older versions of
# automake;  see comments in Makefile.all.am for more detail.
AM_CCASFLAGS = $(AM_CPPFLAGS)
@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
dist_noinst_SCRIPTS = \
	compare_error_count_with    \
	filter_annotate_barrier_xml \
	filter_error_count	    \
	filter_error_summary	    \
	filter_stderr               \
	filter_stderr_and_thread_no \
	filter_stderr_and_thread_no_and_offset \
	filter_thread_no	    \
	filter_xml_and_thread_no    \
	run_openmp_test             \
	supported_libpthread	    \
	supported_sem_init

noinst_HEADERS = \
	tsan_thread_wrappers_pthread.h		    \
	unified_annotations.h

EXTRA_DIST = \
	annotate_barrier.stderr.exp		    \
	annotate_barrier.vgtest			    \
	annotate_barrier_xml.stderr.exp		    \
	annotate_barrier_xml.vgtest		    \
	annotate_hb_err.stderr.exp		    \
	annotate_hb_err.vgtest			    \
	annotate_hb_race.stderr.exp		    \
	annotate_hb_race.vgtest			    \
	annotate_hbefore.stderr.exp		    \
	annotate_hbefore.vgtest			    \
	annotate_order_1.stderr.exp		    \
	annotate_order_1.vgtest			    \
	annotate_order_2.stderr.exp		    \
	annotate_order_2.vgtest			    \
	annotate_order_3.stderr.exp		    \
	annotate_order_3.vgtest			    \
	annotate_publish_hg.stderr.exp		    \
	annotate_publish_hg.vgtest		    \
	annotate_smart_pointer.stderr.exp	    \
	annotate_smart_pointer.vgtest		    \
	annotate_smart_pointer2.stderr.exp	    \
	annotate_smart_pointer2.vgtest		    \
	annotate_spinlock.stderr.exp		    \
	annotate_spinlock.vgtest		    \
	annotate_rwlock.stderr.exp		    \
	annotate_rwlock.vgtest			    \
	annotate_rwlock_hg.stderr.exp		    \
	annotate_rwlock_hg.vgtest		    \
	annotate_ignore_read.stderr.exp		    \
	annotate_ignore_read.vgtest		    \
	annotate_ignore_rw.stderr.exp		    \
	annotate_ignore_rw.vgtest		    \
	annotate_ignore_rw2.stderr.exp		    \
	annotate_ignore_rw2.vgtest		    \
	annotate_ignore_write.stderr.exp	    \
	annotate_ignore_write.vgtest		    \
	annotate_ignore_write2.stderr.exp	    \
	annotate_ignore_write2.vgtest		    \
	annotate_trace_memory.stderr.exp-32bit	    \
	annotate_trace_memory.stderr.exp-64bit	    \
	annotate_trace_memory.vgtest		    \
	annotate_trace_memory_xml.stderr.exp-32bit  \
	annotate_trace_memory_xml.stderr.exp-64bit  \
	annotate_trace_memory_xml.vgtest	    \
	annotate_static.stderr.exp	            \
	annotate_static.vgtest		            \
	atomic_var.stderr.exp			    \
	atomic_var.vgtest			    \
	bar_bad.stderr.exp			    \
	bar_bad.vgtest				    \
	bar_bad_xml.stderr.exp			    \
	bar_bad_xml.vgtest			    \
	bar_trivial.stderr.exp			    \
	bar_trivial.stdout.exp			    \
	bar_trivial.vgtest			    \
	boost_thread.stderr.exp			    \
	boost_thread.vgtest			    \
	bug-235681.stderr.exp			    \
	bug-235681.vgtest			    \
	circular_buffer.stderr.exp		    \
	circular_buffer.vgtest			    \
	custom_alloc.stderr.exp			    \
	custom_alloc.vgtest			    \
	custom_alloc_fiw.stderr.exp		    \
	custom_alloc_fiw.vgtest			    \
	fp_race.stderr.exp                          \
	fp_race.vgtest                              \
	fp_race2.stderr.exp                         \
	fp_race2.vgtest                             \
	fp_race_xml.stderr.exp                      \
	fp_race_xml.vgtest                          \
	free_is_write.stderr.exp		    \
	free_is_write.vgtest			    \
	free_is_write2.stderr.exp		    \
	free_is_write2.vgtest			    \
	hg01_all_ok.stderr.exp                      \
	hg01_all_ok.vgtest                          \
	hg02_deadlock.stderr.exp                    \
	hg02_deadlock.vgtest                        \
	hg03_inherit.stderr.exp                     \
	hg03_inherit.vgtest                         \
	hg04_race.stderr.exp                        \
	hg04_race.vgtest                            \
	hg05_race2.stderr.exp                       \
	hg05_race2.stderr.exp-powerpc               \
	hg05_race2.vgtest                           \
	hg06_readshared.stderr.exp                  \
	hg06_readshared.vgtest                      \
	hold_lock_1.stderr.exp                      \
	hold_lock_1.vgtest                          \
	hold_lock_2.stderr.exp                      \
	hold_lock_2.vgtest                          \
	linuxthreads_det.stderr.exp                 \
	linuxthreads_det.stderr.exp-linuxthreads    \
	linuxthreads_det.stdout.exp                 \
	linuxthreads_det.stdout.exp-linuxthreads    \
	linuxthreads_det.vgtest                     \
	matinv.stderr.exp                           \
	matinv.stdout.exp                           \
	matinv.vgtest                               \
	memory_allocation.stderr.exp		    \
	memory_allocation.vgtest		    \
	monitor_example.stderr.exp		    \
	monitor_example.vgtest			    \
	new_delete.stderr.exp                       \
	new_delete.vgtest                           \
	omp_matinv.stderr.exp                       \
	omp_matinv.stdout.exp                       \
	omp_matinv.vgtest                           \
	omp_matinv_racy.stderr.exp                  \
	omp_matinv_racy.stdout.exp                  \
	omp_matinv_racy.vgtest                      \
	omp_prime_racy.stderr.exp                   \
	omp_prime_racy.vgtest                       \
	omp_printf.stderr.exp                       \
	omp_printf.vgtest                           \
	pth_barrier.stderr.exp                      \
	pth_barrier.vgtest                          \
	pth_barrier2.stderr.exp                     \
	pth_barrier2.vgtest                         \
	pth_barrier3.stderr.exp                     \
	pth_barrier3.vgtest                         \
	pth_barrier_race.stderr.exp                 \
	pth_barrier_race.vgtest                     \
	pth_barrier_reinit.stderr.exp               \
	pth_barrier_reinit.vgtest                   \
	pth_barrier_thr_cr.stderr.exp               \
	pth_barrier_thr_cr.vgtest                   \
	pth_barrier_thr_cr.supp                     \
	pth_broadcast.stderr.exp                    \
	pth_broadcast.vgtest                        \
	pth_cancel_locked.stderr.exp		    \
	pth_cancel_locked.stderr.exp-darwin	    \
	pth_cancel_locked.vgtest		    \
	pth_cleanup_handler.stderr.exp		    \
	pth_cleanup_handler.vgtest		    \
	pth_cond_race.stderr.exp                    \
	pth_cond_race.vgtest                        \
	pth_cond_race2.stderr.exp                   \
	pth_cond_race2.vgtest                       \
	pth_cond_race3.stderr.exp                   \
	pth_cond_race3.vgtest                       \
	pth_create_chain.stderr.exp                 \
	pth_create_chain.vgtest                     \
	pth_create_glibc_2_0.stderr.exp             \
	pth_create_glibc_2_0.vgtest                 \
	pth_detached.stderr.exp                     \
	pth_detached.stdout.exp                     \
	pth_detached.vgtest                         \
	pth_detached2.stderr.exp                    \
	pth_detached2.stdout.exp                    \
	pth_detached2.vgtest                        \
	pth_detached3.stderr.exp1                   \
	pth_detached3.stderr.exp2                   \
	pth_detached3.vgtest                        \
	pth_detached_sem.stderr.exp                 \
	pth_detached_sem.stdout.exp                 \
	pth_detached_sem.vgtest                     \
	pth_inconsistent_cond_wait.stderr.exp1      \
	pth_inconsistent_cond_wait.stderr.exp2      \
	pth_inconsistent_cond_wait.vgtest           \
	pth_mutex_reinit.stderr.exp		    \
	pth_mutex_reinit.vgtest			    \
	pth_once.stderr.exp			    \
	pth_once.vgtest				    \
	pth_process_shared_mutex.stderr.exp         \
	pth_process_shared_mutex.vgtest             \
	pth_spinlock.stderr.exp                     \
	pth_spinlock.vgtest                         \
	pth_uninitialized_cond.stderr.exp           \
	pth_uninitialized_cond.vgtest               \
	read_and_free_race.stderr.exp		    \
	read_and_free_race.vgtest		    \
	recursive_mutex.stderr.exp-linux            \
	recursive_mutex.stderr.exp-darwin           \
	recursive_mutex.vgtest                      \
	rwlock_race.stderr.exp	                    \
	rwlock_race.stderr.exp2	                    \
	rwlock_race.vgtest                          \
	rwlock_test.stderr.exp	                    \
	rwlock_test.vgtest                          \
	rwlock_type_checking.stderr.exp	            \
	rwlock_type_checking.vgtest                 \
	sem_as_mutex.stderr.exp                     \
	sem_as_mutex.vgtest                         \
	sem_as_mutex2.stderr.exp                    \
	sem_as_mutex2.vgtest                        \
	sem_as_mutex3.stderr.exp                    \
	sem_as_mutex3.vgtest                        \
	sem_open.stderr.exp                         \
	sem_open.vgtest                             \
	sem_open2.stderr.exp                        \
	sem_open2.vgtest                            \
	sem_open3.stderr.exp                        \
	sem_open3.vgtest                            \
	sem_open_traced.stderr.exp                  \
	sem_open_traced.vgtest                      \
	sigalrm.stderr.exp                          \
	sigalrm.vgtest                              \
	sigaltstack.stderr.exp                      \
	sigaltstack.vgtest                          \
	std_thread.stderr.exp		  	    \
	std_thread.vgtest			    \
	tc01_simple_race.stderr.exp                 \
	tc01_simple_race.vgtest                     \
	tc02_simple_tls.stderr.exp                  \
	tc02_simple_tls.vgtest                      \
	tc03_re_excl.stderr.exp                     \
	tc03_re_excl.vgtest                         \
	tc04_free_lock.stderr.exp-x86               \
	tc04_free_lock.stderr.exp-ppc               \
	tc04_free_lock.stderr.exp-s390              \
	tc04_free_lock.vgtest                       \
	tc05_simple_race.stderr.exp                 \
	tc05_simple_race.vgtest                     \
	tc06_two_races.stderr.exp                   \
	tc06_two_races.vgtest                       \
	tc07_hbl1.stderr.exp                        \
	tc07_hbl1.stdout.exp                        \
	tc07_hbl1.vgtest                            \
	tc08_hbl2.stderr.exp                        \
	tc08_hbl2.stdout.exp                        \
	tc08_hbl2.vgtest                            \
	tc09_bad_unlock.stderr.exp-x86              \
	tc09_bad_unlock.stderr.exp-ppc              \
	tc09_bad_unlock.stderr.exp-glibc2.8         \
	tc09_bad_unlock.stderr.exp-s390             \
	tc09_bad_unlock.vgtest                      \
	tc10_rec_lock.stderr.exp                    \
	tc10_rec_lock.vgtest                        \
	tc11_XCHG.stderr.exp tc11_XCHG.stdout.exp   \
	tc11_XCHG.vgtest                            \
	tc12_rwl_trivial.stderr.exp                 \
	tc12_rwl_trivial.vgtest                     \
	tc13_laog1.stderr.exp                       \
	tc13_laog1.vgtest                           \
	tc15_laog_lockdel.stderr.exp                \
	tc15_laog_lockdel.vgtest                    \
	tc16_byterace.stderr.exp                    \
	tc16_byterace.vgtest                        \
	tc17_sembar.stderr.exp                      \
	tc17_sembar.vgtest                          \
	tc18_semabuse.stderr.exp                    \
	tc18_semabuse.vgtest                        \
	tc19_shadowmem.stderr.exp-32bit             \
	tc19_shadowmem.stderr.exp-64bit             \
	tc19_shadowmem.vgtest                       \
	tc21_pthonce.stderr.exp                     \
	tc21_pthonce.stdout.exp                     \
	tc21_pthonce.vgtest                         \
	tc22_exit_w_lock.stderr.exp-32bit	    \
	tc22_exit_w_lock.stderr.exp-64bit           \
	tc22_exit_w_lock.vgtest                     \
	tc23_bogus_condwait.stderr.exp-linux-x86    \
	tc23_bogus_condwait.stderr.exp-linux-ppc    \
	tc23_bogus_condwait.stderr.exp-darwin-x86   \
	tc23_bogus_condwait.stderr.exp-darwin-amd64 \
	tc23_bogus_condwait.vgtest                  \
	tc24_nonzero_sem.stderr.exp                 \
	tc24_nonzero_sem.vgtest                     \
	thread_name.stderr.exp			    \
	thread_name.vgtest			    \
	thread_name_xml.stderr.exp		    \
	thread_name_xml.vgtest			    \
	threaded-fork.stderr.exp		    \
	threaded-fork.vgtest			    \
	trylock.stderr.exp                          \
	trylock.vgtest				    \
	unit_bitmap.stderr.exp                      \
	unit_bitmap.vgtest                          \
	unit_vc.stderr.exp                          \
	unit_vc.vgtest

LDADD = -lpthread
monitor_example_SOURCES = monitor_example.cpp
new_delete_SOURCES = new_delete.cpp
pth_cleanup_handler_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_EMPTY_BODY@
tsan_unittest_SOURCES = tsan_unittest.cpp
tsan_unittest_CXXFLAGS = $(AM_CXXFLAGS) \
			-DTHREAD_WRAPPERS='"tsan_thread_wrappers_pthread.h"'

unit_bitmap_CFLAGS = $(AM_CFLAGS) -O2 \
                              -DENABLE_DRD_CONSISTENCY_CHECKS \
                              @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@

unit_bitmap_LDADD = # nothing, i.e. not -lpthread
unit_vc_CFLAGS = $(AM_CFLAGS) -DENABLE_DRD_CONSISTENCY_CHECKS
unit_vc_LDADD = # nothing, i.e. not -lpthread
@HAVE_BOOST_1_35_TRUE@boost_thread_SOURCES = boost_thread.cpp
@HAVE_BOOST_1_35_TRUE@boost_thread_CXXFLAGS = $(AM_CXXFLAGS) $(BOOST_CFLAGS)
@HAVE_BOOST_1_35_TRUE@boost_thread_LDADD = $(BOOST_LIBS)
@HAVE_BUILTIN_ATOMIC_TRUE@annotate_smart_pointer_SOURCES = annotate_smart_pointer.cpp
annotate_static_SOURCES = annotate_static.cpp
@HAVE_OPENMP_TRUE@omp_matinv_CFLAGS = $(AM_CFLAGS) -fopenmp
@HAVE_OPENMP_TRUE@omp_matinv_LDFLAGS = -fopenmp
@HAVE_OPENMP_TRUE@omp_matinv_LDADD = $(LDADD) -lm
@HAVE_OPENMP_TRUE@omp_prime_CFLAGS = $(AM_CFLAGS) -fopenmp
@HAVE_OPENMP_TRUE@omp_prime_LDFLAGS = -fopenmp
@HAVE_OPENMP_TRUE@omp_prime_LDADD = $(LDADD) -lm
@HAVE_OPENMP_TRUE@omp_printf_CFLAGS = $(AM_CFLAGS) -fopenmp
@HAVE_OPENMP_TRUE@omp_printf_LDFLAGS = -fopenmp
@HAVE_OPENMP_TRUE@omp_printf_LDADD = $(LDADD) -lm
@HAVE_PTHREAD_BARRIER_TRUE@matinv_LDADD = $(LDADD) -lm
std_thread_SOURCES = std_thread.cpp
std_thread_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x
all: all-am

.SUFFIXES:
.SUFFIXES: .c .cpp .o .obj
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.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) --foreign drd/tests/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign drd/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):

clean-checkPROGRAMS:
	-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
annotate_barrier$(EXEEXT): $(annotate_barrier_OBJECTS) $(annotate_barrier_DEPENDENCIES) 
	@rm -f annotate_barrier$(EXEEXT)
	$(LINK) $(annotate_barrier_OBJECTS) $(annotate_barrier_LDADD) $(LIBS)
annotate_hb_err$(EXEEXT): $(annotate_hb_err_OBJECTS) $(annotate_hb_err_DEPENDENCIES) 
	@rm -f annotate_hb_err$(EXEEXT)
	$(LINK) $(annotate_hb_err_OBJECTS) $(annotate_hb_err_LDADD) $(LIBS)
annotate_hb_race$(EXEEXT): $(annotate_hb_race_OBJECTS) $(annotate_hb_race_DEPENDENCIES) 
	@rm -f annotate_hb_race$(EXEEXT)
	$(LINK) $(annotate_hb_race_OBJECTS) $(annotate_hb_race_LDADD) $(LIBS)
annotate_ignore_rw$(EXEEXT): $(annotate_ignore_rw_OBJECTS) $(annotate_ignore_rw_DEPENDENCIES) 
	@rm -f annotate_ignore_rw$(EXEEXT)
	$(LINK) $(annotate_ignore_rw_OBJECTS) $(annotate_ignore_rw_LDADD) $(LIBS)
annotate_ignore_write$(EXEEXT): $(annotate_ignore_write_OBJECTS) $(annotate_ignore_write_DEPENDENCIES) 
	@rm -f annotate_ignore_write$(EXEEXT)
	$(LINK) $(annotate_ignore_write_OBJECTS) $(annotate_ignore_write_LDADD) $(LIBS)
annotate_publish_hg$(EXEEXT): $(annotate_publish_hg_OBJECTS) $(annotate_publish_hg_DEPENDENCIES) 
	@rm -f annotate_publish_hg$(EXEEXT)
	$(LINK) $(annotate_publish_hg_OBJECTS) $(annotate_publish_hg_LDADD) $(LIBS)
annotate_rwlock$(EXEEXT): $(annotate_rwlock_OBJECTS) $(annotate_rwlock_DEPENDENCIES) 
	@rm -f annotate_rwlock$(EXEEXT)
	$(LINK) $(annotate_rwlock_OBJECTS) $(annotate_rwlock_LDADD) $(LIBS)
annotate_smart_pointer$(EXEEXT): $(annotate_smart_pointer_OBJECTS) $(annotate_smart_pointer_DEPENDENCIES) 
	@rm -f annotate_smart_pointer$(EXEEXT)
	$(CXXLINK) $(annotate_smart_pointer_OBJECTS) $(annotate_smart_pointer_LDADD) $(LIBS)
annotate_static$(EXEEXT): $(annotate_static_OBJECTS) $(annotate_static_DEPENDENCIES) 
	@rm -f annotate_static$(EXEEXT)
	$(CXXLINK) $(annotate_static_OBJECTS) $(annotate_static_LDADD) $(LIBS)
annotate_trace_memory$(EXEEXT): $(annotate_trace_memory_OBJECTS) $(annotate_trace_memory_DEPENDENCIES) 
	@rm -f annotate_trace_memory$(EXEEXT)
	$(LINK) $(annotate_trace_memory_OBJECTS) $(annotate_trace_memory_LDADD) $(LIBS)
atomic_var$(EXEEXT): $(atomic_var_OBJECTS) $(atomic_var_DEPENDENCIES) 
	@rm -f atomic_var$(EXEEXT)
	$(LINK) $(atomic_var_OBJECTS) $(atomic_var_LDADD) $(LIBS)
boost_thread$(EXEEXT): $(boost_thread_OBJECTS) $(boost_thread_DEPENDENCIES) 
	@rm -f boost_thread$(EXEEXT)
	$(boost_thread_LINK) $(boost_thread_OBJECTS) $(boost_thread_LDADD) $(LIBS)
bug-235681$(EXEEXT): $(bug_235681_OBJECTS) $(bug_235681_DEPENDENCIES) 
	@rm -f bug-235681$(EXEEXT)
	$(LINK) $(bug_235681_OBJECTS) $(bug_235681_LDADD) $(LIBS)
circular_buffer$(EXEEXT): $(circular_buffer_OBJECTS) $(circular_buffer_DEPENDENCIES) 
	@rm -f circular_buffer$(EXEEXT)
	$(LINK) $(circular_buffer_OBJECTS) $(circular_buffer_LDADD) $(LIBS)
custom_alloc$(EXEEXT): $(custom_alloc_OBJECTS) $(custom_alloc_DEPENDENCIES) 
	@rm -f custom_alloc$(EXEEXT)
	$(LINK) $(custom_alloc_OBJECTS) $(custom_alloc_LDADD) $(LIBS)
fp_race$(EXEEXT): $(fp_race_OBJECTS) $(fp_race_DEPENDENCIES) 
	@rm -f fp_race$(EXEEXT)
	$(LINK) $(fp_race_OBJECTS) $(fp_race_LDADD) $(LIBS)
free_is_write$(EXEEXT): $(free_is_write_OBJECTS) $(free_is_write_DEPENDENCIES) 
	@rm -f free_is_write$(EXEEXT)
	$(LINK) $(free_is_write_OBJECTS) $(free_is_write_LDADD) $(LIBS)
hold_lock$(EXEEXT): $(hold_lock_OBJECTS) $(hold_lock_DEPENDENCIES) 
	@rm -f hold_lock$(EXEEXT)
	$(LINK) $(hold_lock_OBJECTS) $(hold_lock_LDADD) $(LIBS)
linuxthreads_det$(EXEEXT): $(linuxthreads_det_OBJECTS) $(linuxthreads_det_DEPENDENCIES) 
	@rm -f linuxthreads_det$(EXEEXT)
	$(LINK) $(linuxthreads_det_OBJECTS) $(linuxthreads_det_LDADD) $(LIBS)
matinv$(EXEEXT): $(matinv_OBJECTS) $(matinv_DEPENDENCIES) 
	@rm -f matinv$(EXEEXT)
	$(LINK) $(matinv_OBJECTS) $(matinv_LDADD) $(LIBS)
memory_allocation$(EXEEXT): $(memory_allocation_OBJECTS) $(memory_allocation_DEPENDENCIES) 
	@rm -f memory_allocation$(EXEEXT)
	$(LINK) $(memory_allocation_OBJECTS) $(memory_allocation_LDADD) $(LIBS)
monitor_example$(EXEEXT): $(monitor_example_OBJECTS) $(monitor_example_DEPENDENCIES) 
	@rm -f monitor_example$(EXEEXT)
	$(CXXLINK) $(monitor_example_OBJECTS) $(monitor_example_LDADD) $(LIBS)
new_delete$(EXEEXT): $(new_delete_OBJECTS) $(new_delete_DEPENDENCIES) 
	@rm -f new_delete$(EXEEXT)
	$(CXXLINK) $(new_delete_OBJECTS) $(new_delete_LDADD) $(LIBS)
omp_matinv$(EXEEXT): $(omp_matinv_OBJECTS) $(omp_matinv_DEPENDENCIES) 
	@rm -f omp_matinv$(EXEEXT)
	$(omp_matinv_LINK) $(omp_matinv_OBJECTS) $(omp_matinv_LDADD) $(LIBS)
omp_prime$(EXEEXT): $(omp_prime_OBJECTS) $(omp_prime_DEPENDENCIES) 
	@rm -f omp_prime$(EXEEXT)
	$(omp_prime_LINK) $(omp_prime_OBJECTS) $(omp_prime_LDADD) $(LIBS)
omp_printf$(EXEEXT): $(omp_printf_OBJECTS) $(omp_printf_DEPENDENCIES) 
	@rm -f omp_printf$(EXEEXT)
	$(omp_printf_LINK) $(omp_printf_OBJECTS) $(omp_printf_LDADD) $(LIBS)
pth_barrier$(EXEEXT): $(pth_barrier_OBJECTS) $(pth_barrier_DEPENDENCIES) 
	@rm -f pth_barrier$(EXEEXT)
	$(LINK) $(pth_barrier_OBJECTS) $(pth_barrier_LDADD) $(LIBS)
pth_barrier_race$(EXEEXT): $(pth_barrier_race_OBJECTS) $(pth_barrier_race_DEPENDENCIES) 
	@rm -f pth_barrier_race$(EXEEXT)
	$(LINK) $(pth_barrier_race_OBJECTS) $(pth_barrier_race_LDADD) $(LIBS)
pth_barrier_reinit$(EXEEXT): $(pth_barrier_reinit_OBJECTS) $(pth_barrier_reinit_DEPENDENCIES) 
	@rm -f pth_barrier_reinit$(EXEEXT)
	$(LINK) $(pth_barrier_reinit_OBJECTS) $(pth_barrier_reinit_LDADD) $(LIBS)
pth_barrier_thr_cr$(EXEEXT): $(pth_barrier_thr_cr_OBJECTS) $(pth_barrier_thr_cr_DEPENDENCIES) 
	@rm -f pth_barrier_thr_cr$(EXEEXT)
	$(LINK) $(pth_barrier_thr_cr_OBJECTS) $(pth_barrier_thr_cr_LDADD) $(LIBS)
pth_broadcast$(EXEEXT): $(pth_broadcast_OBJECTS) $(pth_broadcast_DEPENDENCIES) 
	@rm -f pth_broadcast$(EXEEXT)
	$(LINK) $(pth_broadcast_OBJECTS) $(pth_broadcast_LDADD) $(LIBS)
pth_cancel_locked$(EXEEXT): $(pth_cancel_locked_OBJECTS) $(pth_cancel_locked_DEPENDENCIES) 
	@rm -f pth_cancel_locked$(EXEEXT)
	$(LINK) $(pth_cancel_locked_OBJECTS) $(pth_cancel_locked_LDADD) $(LIBS)
pth_cleanup_handler$(EXEEXT): $(pth_cleanup_handler_OBJECTS) $(pth_cleanup_handler_DEPENDENCIES) 
	@rm -f pth_cleanup_handler$(EXEEXT)
	$(pth_cleanup_handler_LINK) $(pth_cleanup_handler_OBJECTS) $(pth_cleanup_handler_LDADD) $(LIBS)
pth_cond_race$(EXEEXT): $(pth_cond_race_OBJECTS) $(pth_cond_race_DEPENDENCIES) 
	@rm -f pth_cond_race$(EXEEXT)
	$(LINK) $(pth_cond_race_OBJECTS) $(pth_cond_race_LDADD) $(LIBS)
pth_create_chain$(EXEEXT): $(pth_create_chain_OBJECTS) $(pth_create_chain_DEPENDENCIES) 
	@rm -f pth_create_chain$(EXEEXT)
	$(LINK) $(pth_create_chain_OBJECTS) $(pth_create_chain_LDADD) $(LIBS)
pth_create_glibc_2_0$(EXEEXT): $(pth_create_glibc_2_0_OBJECTS) $(pth_create_glibc_2_0_DEPENDENCIES) 
	@rm -f pth_create_glibc_2_0$(EXEEXT)
	$(LINK) $(pth_create_glibc_2_0_OBJECTS) $(pth_create_glibc_2_0_LDADD) $(LIBS)
pth_detached$(EXEEXT): $(pth_detached_OBJECTS) $(pth_detached_DEPENDENCIES) 
	@rm -f pth_detached$(EXEEXT)
	$(LINK) $(pth_detached_OBJECTS) $(pth_detached_LDADD) $(LIBS)
pth_detached3$(EXEEXT): $(pth_detached3_OBJECTS) $(pth_detached3_DEPENDENCIES) 
	@rm -f pth_detached3$(EXEEXT)
	$(LINK) $(pth_detached3_OBJECTS) $(pth_detached3_LDADD) $(LIBS)
pth_detached_sem$(EXEEXT): $(pth_detached_sem_OBJECTS) $(pth_detached_sem_DEPENDENCIES) 
	@rm -f pth_detached_sem$(EXEEXT)
	$(LINK) $(pth_detached_sem_OBJECTS) $(pth_detached_sem_LDADD) $(LIBS)
pth_inconsistent_cond_wait$(EXEEXT): $(pth_inconsistent_cond_wait_OBJECTS) $(pth_inconsistent_cond_wait_DEPENDENCIES) 
	@rm -f pth_inconsistent_cond_wait$(EXEEXT)
	$(LINK) $(pth_inconsistent_cond_wait_OBJECTS) $(pth_inconsistent_cond_wait_LDADD) $(LIBS)
pth_mutex_reinit$(EXEEXT): $(pth_mutex_reinit_OBJECTS) $(pth_mutex_reinit_DEPENDENCIES) 
	@rm -f pth_mutex_reinit$(EXEEXT)
	$(LINK) $(pth_mutex_reinit_OBJECTS) $(pth_mutex_reinit_LDADD) $(LIBS)
pth_process_shared_mutex$(EXEEXT): $(pth_process_shared_mutex_OBJECTS) $(pth_process_shared_mutex_DEPENDENCIES) 
	@rm -f pth_process_shared_mutex$(EXEEXT)
	$(LINK) $(pth_process_shared_mutex_OBJECTS) $(pth_process_shared_mutex_LDADD) $(LIBS)
pth_spinlock$(EXEEXT): $(pth_spinlock_OBJECTS) $(pth_spinlock_DEPENDENCIES) 
	@rm -f pth_spinlock$(EXEEXT)
	$(LINK) $(pth_spinlock_OBJECTS) $(pth_spinlock_LDADD) $(LIBS)
pth_uninitialized_cond$(EXEEXT): $(pth_uninitialized_cond_OBJECTS) $(pth_uninitialized_cond_DEPENDENCIES) 
	@rm -f pth_uninitialized_cond$(EXEEXT)
	$(LINK) $(pth_uninitialized_cond_OBJECTS) $(pth_uninitialized_cond_LDADD) $(LIBS)
recursive_mutex$(EXEEXT): $(recursive_mutex_OBJECTS) $(recursive_mutex_DEPENDENCIES) 
	@rm -f recursive_mutex$(EXEEXT)
	$(LINK) $(recursive_mutex_OBJECTS) $(recursive_mutex_LDADD) $(LIBS)
rwlock_race$(EXEEXT): $(rwlock_race_OBJECTS) $(rwlock_race_DEPENDENCIES) 
	@rm -f rwlock_race$(EXEEXT)
	$(LINK) $(rwlock_race_OBJECTS) $(rwlock_race_LDADD) $(LIBS)
rwlock_test$(EXEEXT): $(rwlock_test_OBJECTS) $(rwlock_test_DEPENDENCIES) 
	@rm -f rwlock_test$(EXEEXT)
	$(LINK) $(rwlock_test_OBJECTS) $(rwlock_test_LDADD) $(LIBS)
rwlock_type_checking$(EXEEXT): $(rwlock_type_checking_OBJECTS) $(rwlock_type_checking_DEPENDENCIES) 
	@rm -f rwlock_type_checking$(EXEEXT)
	$(LINK) $(rwlock_type_checking_OBJECTS) $(rwlock_type_checking_LDADD) $(LIBS)
sem_as_mutex$(EXEEXT): $(sem_as_mutex_OBJECTS) $(sem_as_mutex_DEPENDENCIES) 
	@rm -f sem_as_mutex$(EXEEXT)
	$(LINK) $(sem_as_mutex_OBJECTS) $(sem_as_mutex_LDADD) $(LIBS)
sem_open$(EXEEXT): $(sem_open_OBJECTS) $(sem_open_DEPENDENCIES) 
	@rm -f sem_open$(EXEEXT)
	$(LINK) $(sem_open_OBJECTS) $(sem_open_LDADD) $(LIBS)
sigalrm$(EXEEXT): $(sigalrm_OBJECTS) $(sigalrm_DEPENDENCIES) 
	@rm -f sigalrm$(EXEEXT)
	$(LINK) $(sigalrm_OBJECTS) $(sigalrm_LDADD) $(LIBS)
std_thread$(EXEEXT): $(std_thread_OBJECTS) $(std_thread_DEPENDENCIES) 
	@rm -f std_thread$(EXEEXT)
	$(std_thread_LINK) $(std_thread_OBJECTS) $(std_thread_LDADD) $(LIBS)
thread_name$(EXEEXT): $(thread_name_OBJECTS) $(thread_name_DEPENDENCIES) 
	@rm -f thread_name$(EXEEXT)
	$(LINK) $(thread_name_OBJECTS) $(thread_name_LDADD) $(LIBS)
threaded-fork$(EXEEXT): $(threaded_fork_OBJECTS) $(threaded_fork_DEPENDENCIES) 
	@rm -f threaded-fork$(EXEEXT)
	$(LINK) $(threaded_fork_OBJECTS) $(threaded_fork_LDADD) $(LIBS)
trylock$(EXEEXT): $(trylock_OBJECTS) $(trylock_DEPENDENCIES) 
	@rm -f trylock$(EXEEXT)
	$(LINK) $(trylock_OBJECTS) $(trylock_LDADD) $(LIBS)
tsan_unittest$(EXEEXT): $(tsan_unittest_OBJECTS) $(tsan_unittest_DEPENDENCIES) 
	@rm -f tsan_unittest$(EXEEXT)
	$(tsan_unittest_LINK) $(tsan_unittest_OBJECTS) $(tsan_unittest_LDADD) $(LIBS)
unit_bitmap$(EXEEXT): $(unit_bitmap_OBJECTS) $(unit_bitmap_DEPENDENCIES) 
	@rm -f unit_bitmap$(EXEEXT)
	$(unit_bitmap_LINK) $(unit_bitmap_OBJECTS) $(unit_bitmap_LDADD) $(LIBS)
unit_vc$(EXEEXT): $(unit_vc_OBJECTS) $(unit_vc_DEPENDENCIES) 
	@rm -f unit_vc$(EXEEXT)
	$(unit_vc_LINK) $(unit_vc_OBJECTS) $(unit_vc_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_barrier.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_hb_err.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_hb_race.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_ignore_rw.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_ignore_write.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_publish_hg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_rwlock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_smart_pointer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_static.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/annotate_trace_memory.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic_var.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/boost_thread-boost_thread.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug-235681.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/circular_buffer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/custom_alloc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fp_race.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/free_is_write.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hold_lock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linuxthreads_det.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matinv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/memory_allocation.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/monitor_example.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/new_delete.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/omp_matinv-omp_matinv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/omp_prime-omp_prime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/omp_printf-omp_printf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_barrier.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_barrier_race.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_barrier_reinit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_barrier_thr_cr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_broadcast.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_cancel_locked.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_cleanup_handler-pth_cleanup_handler.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_cond_race.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_create_chain.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_create_glibc_2_0.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_detached.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_detached3.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_detached_sem.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_inconsistent_cond_wait.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_mutex_reinit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_process_shared_mutex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_spinlock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_uninitialized_cond.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recursive_mutex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rwlock_race.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rwlock_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rwlock_type_checking.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sem_as_mutex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sem_open.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigalrm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/std_thread-std_thread.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread_name.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threaded-fork.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trylock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tsan_unittest-tsan_unittest.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit_bitmap-unit_bitmap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit_vc-unit_vc.Po@am__quote@

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

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

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

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

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

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

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

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

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

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

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

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

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

.cpp.o:
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@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 $@ $<

.cpp.obj:
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@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) '$<'`

boost_thread-boost_thread.o: boost_thread.cpp
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(boost_thread_CXXFLAGS) $(CXXFLAGS) -MT boost_thread-boost_thread.o -MD -MP -MF $(DEPDIR)/boost_thread-boost_thread.Tpo -c -o boost_thread-boost_thread.o `test -f 'boost_thread.cpp' || echo '$(srcdir)/'`boost_thread.cpp
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/boost_thread-boost_thread.Tpo $(DEPDIR)/boost_thread-boost_thread.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boost_thread.cpp' object='boost_thread-boost_thread.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(boost_thread_CXXFLAGS) $(CXXFLAGS) -c -o boost_thread-boost_thread.o `test -f 'boost_thread.cpp' || echo '$(srcdir)/'`boost_thread.cpp

boost_thread-boost_thread.obj: boost_thread.cpp
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(boost_thread_CXXFLAGS) $(CXXFLAGS) -MT boost_thread-boost_thread.obj -MD -MP -MF $(DEPDIR)/boost_thread-boost_thread.Tpo -c -o boost_thread-boost_thread.obj `if test -f 'boost_thread.cpp'; then $(CYGPATH_W) 'boost_thread.cpp'; else $(CYGPATH_W) '$(srcdir)/boost_thread.cpp'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/boost_thread-boost_thread.Tpo $(DEPDIR)/boost_thread-boost_thread.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='boost_thread.cpp' object='boost_thread-boost_thread.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(boost_thread_CXXFLAGS) $(CXXFLAGS) -c -o boost_thread-boost_thread.obj `if test -f 'boost_thread.cpp'; then $(CYGPATH_W) 'boost_thread.cpp'; else $(CYGPATH_W) '$(srcdir)/boost_thread.cpp'; fi`

std_thread-std_thread.o: std_thread.cpp
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(std_thread_CXXFLAGS) $(CXXFLAGS) -MT std_thread-std_thread.o -MD -MP -MF $(DEPDIR)/std_thread-std_thread.Tpo -c -o std_thread-std_thread.o `test -f 'std_thread.cpp' || echo '$(srcdir)/'`std_thread.cpp
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/std_thread-std_thread.Tpo $(DEPDIR)/std_thread-std_thread.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='std_thread.cpp' object='std_thread-std_thread.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(std_thread_CXXFLAGS) $(CXXFLAGS) -c -o std_thread-std_thread.o `test -f 'std_thread.cpp' || echo '$(srcdir)/'`std_thread.cpp

std_thread-std_thread.obj: std_thread.cpp
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(std_thread_CXXFLAGS) $(CXXFLAGS) -MT std_thread-std_thread.obj -MD -MP -MF $(DEPDIR)/std_thread-std_thread.Tpo -c -o std_thread-std_thread.obj `if test -f 'std_thread.cpp'; then $(CYGPATH_W) 'std_thread.cpp'; else $(CYGPATH_W) '$(srcdir)/std_thread.cpp'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/std_thread-std_thread.Tpo $(DEPDIR)/std_thread-std_thread.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='std_thread.cpp' object='std_thread-std_thread.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(std_thread_CXXFLAGS) $(CXXFLAGS) -c -o std_thread-std_thread.obj `if test -f 'std_thread.cpp'; then $(CYGPATH_W) 'std_thread.cpp'; else $(CYGPATH_W) '$(srcdir)/std_thread.cpp'; fi`

tsan_unittest-tsan_unittest.o: tsan_unittest.cpp
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tsan_unittest_CXXFLAGS) $(CXXFLAGS) -MT tsan_unittest-tsan_unittest.o -MD -MP -MF $(DEPDIR)/tsan_unittest-tsan_unittest.Tpo -c -o tsan_unittest-tsan_unittest.o `test -f 'tsan_unittest.cpp' || echo '$(srcdir)/'`tsan_unittest.cpp
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/tsan_unittest-tsan_unittest.Tpo $(DEPDIR)/tsan_unittest-tsan_unittest.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='tsan_unittest.cpp' object='tsan_unittest-tsan_unittest.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tsan_unittest_CXXFLAGS) $(CXXFLAGS) -c -o tsan_unittest-tsan_unittest.o `test -f 'tsan_unittest.cpp' || echo '$(srcdir)/'`tsan_unittest.cpp

tsan_unittest-tsan_unittest.obj: tsan_unittest.cpp
@am__fastdepCXX_TRUE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tsan_unittest_CXXFLAGS) $(CXXFLAGS) -MT tsan_unittest-tsan_unittest.obj -MD -MP -MF $(DEPDIR)/tsan_unittest-tsan_unittest.Tpo -c -o tsan_unittest-tsan_unittest.obj `if test -f 'tsan_unittest.cpp'; then $(CYGPATH_W) 'tsan_unittest.cpp'; else $(CYGPATH_W) '$(srcdir)/tsan_unittest.cpp'; fi`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/tsan_unittest-tsan_unittest.Tpo $(DEPDIR)/tsan_unittest-tsan_unittest.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='tsan_unittest.cpp' object='tsan_unittest-tsan_unittest.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(tsan_unittest_CXXFLAGS) $(CXXFLAGS) -c -o tsan_unittest-tsan_unittest.obj `if test -f 'tsan_unittest.cpp'; then $(CYGPATH_W) 'tsan_unittest.cpp'; else $(CYGPATH_W) '$(srcdir)/tsan_unittest.cpp'; fi`

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

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_PROGRAMS)
	$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile $(SCRIPTS) $(HEADERS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

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

installcheck: installcheck-am
install-strip:
	$(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-checkPROGRAMS clean-generic clean-local 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

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-am check-local clean \
	clean-checkPROGRAMS clean-generic clean-local ctags distclean \
	distclean-compile distclean-generic 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 pdf pdf-am ps ps-am tags uninstall \
	uninstall-am


# This used to be required when Vex had a handwritten Makefile.  It
# shouldn't be needed any more, though.

#----------------------------------------------------------------------------
# noinst_PROGRAMS and noinst_DSYMS targets
#----------------------------------------------------------------------------

# On Darwin, for a program 'p', the DWARF debug info is stored in the
# directory 'p.dSYM'.  This must be generated after the executable is
# created, with 'dsymutil p'.  We could redefine LINK with a script that
# executes 'dsymutil' after linking, but that's a pain.  Instead we use this
# hook so that every time "make check" is run, we subsequently invoke
# 'dsymutil' on all the executables that lack a .dSYM directory, or that are
# newer than their corresponding .dSYM directory.
build-noinst_DSYMS: $(noinst_DSYMS)
	for f in $(noinst_DSYMS); do \
	  if [ ! -e $$f.dSYM  -o  $$f -nt $$f.dSYM ] ; then \
	      echo "dsymutil $$f"; \
	      dsymutil $$f; \
	  fi; \
	done

# This is used by coregrind/Makefile.am and Makefile.tool.am for doing
# "in-place" installs.  It copies $(noinst_PROGRAMS) into $inplacedir.
# It needs to be depended on by an 'all-local' rule.
inplace-noinst_PROGRAMS: $(noinst_PROGRAMS)
	mkdir -p $(inplacedir); \
	for f in $(noinst_PROGRAMS) ; do \
	  rm -f $(inplacedir)/$$f; \
	  ln -f -s ../$(subdir)/$$f $(inplacedir); \
	done

# Similar to inplace-noinst_PROGRAMS
inplace-noinst_DSYMS: build-noinst_DSYMS
	mkdir -p $(inplacedir); \
	for f in $(noinst_DSYMS); do \
	  rm -f $(inplacedir)/$$f.dSYM; \
	  ln -f -s ../$(subdir)/$$f.dSYM $(inplacedir); \
	done

# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
# "make install".  It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
# It needs to be depended on by an 'install-exec-local' rule.
install-noinst_PROGRAMS: $(noinst_PROGRAMS)
	$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
	for f in $(noinst_PROGRAMS); do \
	  $(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
	done

# Similar to install-noinst_PROGRAMS.
# Nb: we don't use $(INSTALL_PROGRAM) here because it doesn't work with
# directories.  XXX: not sure whether the resulting permissions will be
# correct when using 'cp -R'...
install-noinst_DSYMS: build-noinst_DSYMS
	$(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
	for f in $(noinst_DSYMS); do \
	  cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
	done

# This needs to be depended on by a 'clean-local' rule.
clean-noinst_DSYMS:
	for f in $(noinst_DSYMS); do \
	  rm -rf $$f.dSYM; \
	done

check-local: build-noinst_DSYMS

clean-local: clean-noinst_DSYMS

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