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

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

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

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

@SET_MAKE@

# 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@
am__is_gnu_make = { \
  if test -z '$(MAKELEVEL)'; then \
    false; \
  elif test -n '$(MAKE_HOST)'; then \
    true; \
  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
    true; \
  else \
    false; \
  fi; \
}
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@COMPILER_IS_CLANG_TRUE@am__append_1 = -Wno-cast-align -Wno-self-assign \
@COMPILER_IS_CLANG_TRUE@                  -Wno-tautological-compare

@SOLARIS_XPG_SYMBOLS_PRESENT_TRUE@am__append_2 = -Wl,-M,$(top_srcdir)/solaris/vgpreload-solaris.mapfile

# 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_3 = -nostdlib
@VGCONF_HAVE_PLATFORM_SEC_TRUE@am__append_4 = -DVGA_SEC_@VGCONF_ARCH_SEC@=1  \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@		-DVGP_SEC_@VGCONF_ARCH_PRI@_@VGCONF_OS@=1


# Make sure that all test programs have threaded errno.
# Disable largefile support as there are test cases explicitly enabling it.
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_5 = -D_REENTRANT @SOLARIS_UNDEF_LARGESOURCE@
@COMPILER_IS_CLANG_TRUE@am__append_6 = -Wno-format-extra-args \
@COMPILER_IS_CLANG_TRUE@	-Wno-literal-range \
@COMPILER_IS_CLANG_TRUE@	-Wno-tautological-constant-out-of-range-compare \
@COMPILER_IS_CLANG_TRUE@	-Wno-self-assign -Wno-string-plus-int \
@COMPILER_IS_CLANG_TRUE@	-Wno-uninitialized -Wno-unused-value # \
@COMPILER_IS_CLANG_TRUE@	clang 3.0.0
@COMPILER_IS_CLANG_TRUE@am__append_7 = -Wno-unused-private-field    # drd/tests/tsan_unittest.cpp
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) \
	annotate_trace_memory$(EXEEXT) bug-235681$(EXEEXT) \
	custom_alloc$(EXEEXT) concurrent_close$(EXEEXT) \
	dlopen_main$(EXEEXT) dlopen_lib.so$(EXEEXT) fp_race$(EXEEXT) \
	free_is_write$(EXEEXT) hold_lock$(EXEEXT) \
	linuxthreads_det$(EXEEXT) local_static$(EXEEXT) \
	memory_allocation$(EXEEXT) monitor_example$(EXEEXT) \
	new_delete$(EXEEXT) pth_broadcast$(EXEEXT) \
	pth_cancel_locked$(EXEEXT) pth_cleanup_handler$(EXEEXT) \
	pth_cond_destroy_busy$(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) 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_8 = boost_thread
@HAVE_BUILTIN_ATOMIC_TRUE@am__append_9 = \
@HAVE_BUILTIN_ATOMIC_TRUE@  annotate_barrier       \
@HAVE_BUILTIN_ATOMIC_TRUE@  annotate_rwlock        \
@HAVE_BUILTIN_ATOMIC_TRUE@  annotate_sem           \
@HAVE_BUILTIN_ATOMIC_TRUE@  atomic_var             \
@HAVE_BUILTIN_ATOMIC_TRUE@  circular_buffer

@HAVE_BUILTIN_ATOMIC_CXX_TRUE@am__append_10 = \
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@  annotate_smart_pointer \
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@  tsan_unittest


# clang 3.3 will generate errors about libstdc++ headers from 
# gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@am__append_11 = \
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@  std_atomic      \
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@  std_list        \
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@  std_string      \
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@  std_thread      \
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@  std_thread2

@HAVE_OPENMP_TRUE@am__append_12 = omp_matinv omp_prime omp_printf
@HAVE_PTHREAD_BARRIER_TRUE@am__append_13 = matinv pth_barrier pth_barrier_race pth_barrier_reinit \
@HAVE_PTHREAD_BARRIER_TRUE@	pth_barrier_thr_cr thread_name

@HAVE_PTHREAD_CREATE_GLIBC_2_0_TRUE@am__append_14 = pth_create_glibc_2_0
@HAVE_PTHREAD_SPINLOCK_TRUE@am__append_15 = pth_spinlock
@VGCONF_OS_IS_DARWIN_FALSE@am__append_16 = sem_wait
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_17 = -D__EXTENSIONS__
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_18 = -D__EXTENSIONS__
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_19 = -D__EXTENSIONS__
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_20 = -D__EXTENSIONS__
@HAVE_OPENMP_TRUE@@VGCONF_OS_IS_SOLARIS_TRUE@am__append_21 = -std=gnu99
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_22 = -std=gnu99 -D__EXTENSIONS__
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_23 = -D__EXTENSIONS__
subdir = drd/tests
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(dist_noinst_SCRIPTS) \
	$(noinst_HEADERS) $(am__DIST_COMMON)
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@	annotate_sem$(EXEEXT) \
@HAVE_BUILTIN_ATOMIC_TRUE@	atomic_var$(EXEEXT) \
@HAVE_BUILTIN_ATOMIC_TRUE@	circular_buffer$(EXEEXT)
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@am__EXEEXT_3 =  \
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@	annotate_smart_pointer$(EXEEXT) \
@HAVE_BUILTIN_ATOMIC_CXX_TRUE@	tsan_unittest$(EXEEXT)
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@am__EXEEXT_4 = std_atomic$(EXEEXT) \
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@	std_list$(EXEEXT) \
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@	std_string$(EXEEXT) \
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@	std_thread$(EXEEXT) \
@CXX_CAN_INCLUDE_THREAD_HEADER_TRUE@@HAVE_SHARED_POINTER_ANNOTATION_TRUE@	std_thread2$(EXEEXT)
@HAVE_OPENMP_TRUE@am__EXEEXT_5 = omp_matinv$(EXEEXT) \
@HAVE_OPENMP_TRUE@	omp_prime$(EXEEXT) omp_printf$(EXEEXT)
@HAVE_PTHREAD_BARRIER_TRUE@am__EXEEXT_6 = 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_BARRIER_TRUE@	thread_name$(EXEEXT)
@HAVE_PTHREAD_CREATE_GLIBC_2_0_TRUE@am__EXEEXT_7 = pth_create_glibc_2_0$(EXEEXT)
@HAVE_PTHREAD_SPINLOCK_TRUE@am__EXEEXT_8 = pth_spinlock$(EXEEXT)
@VGCONF_OS_IS_DARWIN_FALSE@am__EXEEXT_9 = sem_wait$(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 =
annotate_sem_SOURCES = annotate_sem.c
annotate_sem_OBJECTS = annotate_sem.$(OBJEXT)
annotate_sem_LDADD = $(LDADD)
annotate_sem_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-annotate_static.$(OBJEXT)
annotate_static_OBJECTS = $(am_annotate_static_OBJECTS)
annotate_static_LDADD = $(LDADD)
annotate_static_DEPENDENCIES =
annotate_static_LINK = $(CXXLD) $(annotate_static_CXXFLAGS) \
	$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
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 =
am_concurrent_close_OBJECTS = concurrent_close.$(OBJEXT)
concurrent_close_OBJECTS = $(am_concurrent_close_OBJECTS)
concurrent_close_LDADD = $(LDADD)
concurrent_close_DEPENDENCIES =
custom_alloc_SOURCES = custom_alloc.c
custom_alloc_OBJECTS = custom_alloc.$(OBJEXT)
custom_alloc_LDADD = $(LDADD)
custom_alloc_DEPENDENCIES =
am_dlopen_lib_so_OBJECTS = dlopen_lib_so-dlopen_lib.$(OBJEXT)
dlopen_lib_so_OBJECTS = $(am_dlopen_lib_so_OBJECTS)
dlopen_lib_so_LDADD = $(LDADD)
dlopen_lib_so_DEPENDENCIES =
dlopen_lib_so_LINK = $(CCLD) $(dlopen_lib_so_CFLAGS) $(CFLAGS) \
	$(dlopen_lib_so_LDFLAGS) $(LDFLAGS) -o $@
dlopen_main_SOURCES = dlopen_main.c
dlopen_main_OBJECTS = dlopen_main.$(OBJEXT)
dlopen_main_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-free_is_write.$(OBJEXT)
free_is_write_LDADD = $(LDADD)
free_is_write_DEPENDENCIES =
free_is_write_LINK = $(CCLD) $(free_is_write_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
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 =
am_local_static_OBJECTS = local_static.$(OBJEXT)
local_static_OBJECTS = $(am_local_static_OBJECTS)
local_static_LDADD = $(LDADD)
local_static_DEPENDENCIES =
matinv_SOURCES = matinv.c
matinv_OBJECTS = matinv-matinv.$(OBJEXT)
@HAVE_PTHREAD_BARRIER_TRUE@matinv_DEPENDENCIES =  \
@HAVE_PTHREAD_BARRIER_TRUE@	$(am__DEPENDENCIES_1)
matinv_LINK = $(CCLD) $(matinv_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
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-new_delete.$(OBJEXT)
new_delete_OBJECTS = $(am_new_delete_OBJECTS)
new_delete_LDADD = $(LDADD)
new_delete_DEPENDENCIES =
new_delete_LINK = $(CXXLD) $(new_delete_CXXFLAGS) $(CXXFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
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-pth_barrier.$(OBJEXT)
pth_barrier_LDADD = $(LDADD)
pth_barrier_DEPENDENCIES =
pth_barrier_LINK = $(CCLD) $(pth_barrier_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
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.$(OBJEXT)
pth_cleanup_handler_LDADD = $(LDADD)
pth_cleanup_handler_DEPENDENCIES =
pth_cond_destroy_busy_SOURCES = pth_cond_destroy_busy.c
pth_cond_destroy_busy_OBJECTS = pth_cond_destroy_busy.$(OBJEXT)
pth_cond_destroy_busy_LDADD = $(LDADD)
pth_cond_destroy_busy_DEPENDENCIES =
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-pth_create_chain.$(OBJEXT)
pth_create_chain_LDADD = $(LDADD)
pth_create_chain_DEPENDENCIES =
pth_create_chain_LINK = $(CCLD) $(pth_create_chain_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
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-pth_detached.$(OBJEXT)
pth_detached_LDADD = $(LDADD)
pth_detached_DEPENDENCIES =
pth_detached_LINK = $(CCLD) $(pth_detached_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
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-rwlock_test.$(OBJEXT)
rwlock_test_LDADD = $(LDADD)
rwlock_test_DEPENDENCIES =
rwlock_test_LINK = $(CCLD) $(rwlock_test_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
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 =
am_sem_wait_OBJECTS = sem_wait.$(OBJEXT)
sem_wait_OBJECTS = $(am_sem_wait_OBJECTS)
sem_wait_LDADD = $(LDADD)
sem_wait_DEPENDENCIES =
sigalrm_SOURCES = sigalrm.c
sigalrm_OBJECTS = sigalrm.$(OBJEXT)
sigalrm_LDADD = $(LDADD)
sigalrm_DEPENDENCIES =
am_std_atomic_OBJECTS = std_atomic-std_atomic.$(OBJEXT)
std_atomic_OBJECTS = $(am_std_atomic_OBJECTS)
std_atomic_LDADD = $(LDADD)
std_atomic_DEPENDENCIES =
std_atomic_LINK = $(CXXLD) $(std_atomic_CXXFLAGS) $(CXXFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
am_std_list_OBJECTS = std_list-std_list.$(OBJEXT)
std_list_OBJECTS = $(am_std_list_OBJECTS)
std_list_LDADD = $(LDADD)
std_list_DEPENDENCIES =
std_list_LINK = $(CXXLD) $(std_list_CXXFLAGS) $(CXXFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
am_std_string_OBJECTS = std_string-std_string.$(OBJEXT)
std_string_OBJECTS = $(am_std_string_OBJECTS)
std_string_LDADD = $(LDADD)
std_string_DEPENDENCIES =
std_string_LINK = $(CXXLD) $(std_string_CXXFLAGS) $(CXXFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
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) \
	$(std_thread_LDFLAGS) $(LDFLAGS) -o $@
am_std_thread2_OBJECTS = std_thread2-std_thread2.$(OBJEXT)
std_thread2_OBJECTS = $(am_std_thread2_OBJECTS)
std_thread2_LDADD = $(LDADD)
std_thread2_DEPENDENCIES =
std_thread2_LINK = $(CXXLD) $(std_thread2_CXXFLAGS) $(CXXFLAGS) \
	$(std_thread2_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)
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
am__v_lt_1 = 
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo "  CC      " $@;
am__v_CC_1 = 
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo "  CCLD    " $@;
am__v_CCLD_1 = 
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
AM_V_CXX = $(am__v_CXX_@AM_V@)
am__v_CXX_ = $(am__v_CXX_@AM_DEFAULT_V@)
am__v_CXX_0 = @echo "  CXX     " $@;
am__v_CXX_1 = 
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
	-o $@
AM_V_CXXLD = $(am__v_CXXLD_@AM_V@)
am__v_CXXLD_ = $(am__v_CXXLD_@AM_DEFAULT_V@)
am__v_CXXLD_0 = @echo "  CXXLD   " $@;
am__v_CXXLD_1 = 
SOURCES = 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_sem.c \
	$(annotate_smart_pointer_SOURCES) $(annotate_static_SOURCES) \
	annotate_trace_memory.c atomic_var.c $(boost_thread_SOURCES) \
	bug-235681.c circular_buffer.c $(concurrent_close_SOURCES) \
	custom_alloc.c $(dlopen_lib_so_SOURCES) dlopen_main.c \
	fp_race.c free_is_write.c hold_lock.c linuxthreads_det.c \
	$(local_static_SOURCES) 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_destroy_busy.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 \
	$(sem_wait_SOURCES) sigalrm.c $(std_atomic_SOURCES) \
	$(std_list_SOURCES) $(std_string_SOURCES) \
	$(std_thread_SOURCES) $(std_thread2_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 annotate_sem.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 $(concurrent_close_SOURCES) custom_alloc.c \
	$(dlopen_lib_so_SOURCES) dlopen_main.c fp_race.c \
	free_is_write.c hold_lock.c linuxthreads_det.c \
	$(local_static_SOURCES) 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_destroy_busy.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 \
	$(sem_wait_SOURCES) sigalrm.c $(std_atomic_SOURCES) \
	$(std_list_SOURCES) $(std_string_SOURCES) \
	$(std_thread_SOURCES) $(std_thread2_SOURCES) thread_name.c \
	threaded-fork.c trylock.c $(tsan_unittest_SOURCES) \
	unit_bitmap.c unit_vc.c
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
HEADERS = $(noinst_HEADERS)
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
# Read a list of newline-separated strings from the standard input,
# and print each of them once, without duplicates.  Input order is
# *not* preserved.
am__uniquify_input = $(AWK) '\
  BEGIN { nonempty = 0; } \
  { items[$$0] = 1; nonempty = 1; } \
  END { if (nonempty) { for (i in items) print i; }; } \
'
# Make sure the list of sources is unique.  This is necessary because,
# e.g., the same source file might be shared among _SOURCES variables
# for different programs/libraries.
am__define_uniq_tagged_files = \
  list='$(am__tagged_files)'; \
  unique=`for i in $$list; do \
    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
  done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
am__DIST_COMMON = $(srcdir)/Makefile.in $(top_srcdir)/Makefile.all.am \
	$(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/depcomp
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@
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@
DIS_PATH = @DIS_PATH@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FLAG_FNO_IPA_ICF = @FLAG_FNO_IPA_ICF@
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
FLAG_FSANITIZE = @FLAG_FSANITIZE@
FLAG_M32 = @FLAG_M32@
FLAG_M64 = @FLAG_M64@
FLAG_MIPS32 = @FLAG_MIPS32@
FLAG_MIPS64 = @FLAG_MIPS64@
FLAG_MLONG_DOUBLE_128 = @FLAG_MLONG_DOUBLE_128@
FLAG_MMMX = @FLAG_MMMX@
FLAG_MSSE = @FLAG_MSSE@
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
FLAG_NO_PIE = @FLAG_NO_PIE@
FLAG_OCTEON = @FLAG_OCTEON@
FLAG_OCTEON2 = @FLAG_OCTEON2@
FLAG_T_TEXT = @FLAG_T_TEXT@
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
FLAG_W_CAST_ALIGN = @FLAG_W_CAST_ALIGN@
FLAG_W_CAST_QUAL = @FLAG_W_CAST_QUAL@
FLAG_W_EMPTY_BODY = @FLAG_W_EMPTY_BODY@
FLAG_W_EXTRA = @FLAG_W_EXTRA@
FLAG_W_FORMAT = @FLAG_W_FORMAT@
FLAG_W_FORMAT_SECURITY = @FLAG_W_FORMAT_SECURITY@
FLAG_W_FORMAT_SIGNEDNESS = @FLAG_W_FORMAT_SIGNEDNESS@
FLAG_W_IGNORED_QUALIFIERS = @FLAG_W_IGNORED_QUALIFIERS@
FLAG_W_MISSING_PARAMETER_TYPE = @FLAG_W_MISSING_PARAMETER_TYPE@
FLAG_W_NO_INFINITE_RECURSION = @FLAG_W_NO_INFINITE_RECURSION@
FLAG_W_NO_MEMSET_TRANSPOSED_ARGS = @FLAG_W_NO_MEMSET_TRANSPOSED_ARGS@
FLAG_W_NO_MISMATCHED_NEW_DELETE = @FLAG_W_NO_MISMATCHED_NEW_DELETE@
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
FLAG_W_NO_POINTER_SIGN = @FLAG_W_NO_POINTER_SIGN@
FLAG_W_NO_STATIC_LOCAL_IN_INLINE = @FLAG_W_NO_STATIC_LOCAL_IN_INLINE@
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
FLAG_W_NO_UNUSED_FUNCTION = @FLAG_W_NO_UNUSED_FUNCTION@
FLAG_W_OLD_STYLE_DECLARATION = @FLAG_W_OLD_STYLE_DECLARATION@
FLAG_W_WRITE_STRINGS = @FLAG_W_WRITE_STRINGS@
GDB = @GDB@
GLIBC_VERSION = @GLIBC_VERSION@
GREP = @GREP@
HWCAP_HAS_ALTIVEC = @HWCAP_HAS_ALTIVEC@
HWCAP_HAS_DFP = @HWCAP_HAS_DFP@
HWCAP_HAS_HTM = @HWCAP_HAS_HTM@
HWCAP_HAS_ISA_2_05 = @HWCAP_HAS_ISA_2_05@
HWCAP_HAS_ISA_2_06 = @HWCAP_HAS_ISA_2_06@
HWCAP_HAS_ISA_2_07 = @HWCAP_HAS_ISA_2_07@
HWCAP_HAS_ISA_3_00 = @HWCAP_HAS_ISA_3_00@
HWCAP_HAS_VSX = @HWCAP_HAS_VSX@
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@
LIB_UBSAN = @LIB_UBSAN@
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_2 = @PREFERRED_STACK_BOUNDARY_2@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
SOLARIS_UNDEF_LARGESOURCE = @SOLARIS_UNDEF_LARGESOURCE@
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@
VG_TMPDIR = @VG_TMPDIR@
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 -std=gnu99 -Wall -Wmissing-prototypes -Wshadow \
	-Wpointer-arith -Wstrict-prototypes -Wmissing-declarations \
	@FLAG_W_CAST_ALIGN@ @FLAG_W_CAST_QUAL@ @FLAG_W_WRITE_STRINGS@ \
	@FLAG_W_EMPTY_BODY@ @FLAG_W_FORMAT@ @FLAG_W_FORMAT_SIGNEDNESS@ \
	@FLAG_W_FORMAT_SECURITY@ @FLAG_W_IGNORED_QUALIFIERS@ \
	@FLAG_W_MISSING_PARAMETER_TYPE@ @FLAG_W_OLD_STYLE_DECLARATION@ \
	@FLAG_FNO_STACK_PROTECTOR@ @FLAG_FSANITIZE@ \
	-fno-strict-aliasing -fno-builtin $(am__append_1)
@VGCONF_OS_IS_DARWIN_FALSE@AM_CFLAGS_PSO_BASE = -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
@VGCONF_OS_IS_DARWIN_FALSE@		     -fpic -fno-builtin @FLAG_FNO_IPA_ICF@


# These flags are used for building the preload shared objects (PSOs).
# 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.  Also, we must use any
# -mpreferred-stack-boundary flag to build the preload shared
# objects, since that risks misaligning the client's stack and
# results in segfaults like (eg) #324050.
@VGCONF_OS_IS_DARWIN_TRUE@AM_CFLAGS_PSO_BASE = -dynamic \
@VGCONF_OS_IS_DARWIN_TRUE@		     -O -g -fno-omit-frame-pointer -fno-strict-aliasing \
@VGCONF_OS_IS_DARWIN_TRUE@		     -fpic -fPIC -fno-builtin @FLAG_FNO_IPA_ICF@


# 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_builddir)/include \
	-I$(top_srcdir)/VEX/pub \
	-I$(top_builddir)/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_builddir)/include \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-I$(top_srcdir)/VEX/pub \
@VGCONF_HAVE_PLATFORM_SEC_TRUE@	-I$(top_builddir)/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_2@ \
				$(AM_CFLAGS_BASE) -fomit-frame-pointer

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

AM_CFLAGS_PSO_AMD64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_PPC32_LINUX = @FLAG_M32@
AM_CFLAGS_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_PPC32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC32_LINUX = @FLAG_M32@ -g
AM_FLAG_M3264_PPC64BE_LINUX = @FLAG_M64@
AM_CFLAGS_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_PPC64BE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC64BE_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_PPC64LE_LINUX = @FLAG_M64@
AM_CFLAGS_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_PPC64LE_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_PPC64LE_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_ARM_LINUX = @FLAG_M32@
AM_CFLAGS_ARM_LINUX = @FLAG_M32@ \
			 	$(AM_CFLAGS_BASE) -marm -mcpu=cortex-a8

AM_CFLAGS_PSO_ARM_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) \
				-marm -mcpu=cortex-a8 $(AM_CFLAGS_PSO_BASE)

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

AM_FLAG_M3264_ARM64_LINUX = @FLAG_M64@
AM_CFLAGS_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE)
AM_CFLAGS_PSO_ARM64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_ARM64_LINUX = @FLAG_M64@ -g
AM_FLAG_M3264_X86_DARWIN = -arch i386
AM_CFLAGS_X86_DARWIN = $(WERROR) -arch i386 $(AM_CFLAGS_BASE) \
				-mmacosx-version-min=10.6 \
				-fno-stack-protector -fno-pic -fno-PIC

AM_CFLAGS_PSO_X86_DARWIN = $(AM_CFLAGS_X86_DARWIN) $(AM_CFLAGS_PSO_BASE)
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.6 -fno-stack-protector

AM_CFLAGS_PSO_AMD64_DARWIN = $(AM_CFLAGS_AMD64_DARWIN) $(AM_CFLAGS_PSO_BASE)
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_CFLAGS_PSO_S390X_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
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) @FLAG_MIPS32@
AM_CFLAGS_PSO_MIPS32_LINUX = @FLAG_M32@ $(AM_CFLAGS_BASE) @FLAG_MIPS32@ \
				$(AM_CFLAGS_PSO_BASE)

AM_CCASFLAGS_MIPS32_LINUX = @FLAG_M32@ -g @FLAG_MIPS32@
AM_FLAG_M3264_MIPS64_LINUX = @FLAG_M64@
AM_CFLAGS_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@
AM_CFLAGS_PSO_MIPS64_LINUX = @FLAG_M64@ $(AM_CFLAGS_BASE) @FLAG_MIPS64@ \
				$(AM_CFLAGS_PSO_BASE)

AM_CCASFLAGS_MIPS64_LINUX = @FLAG_M64@ -g @FLAG_MIPS64@
AM_FLAG_M3264_X86_SOLARIS = @FLAG_M32@
AM_CFLAGS_X86_SOLARIS = @FLAG_M32@ @PREFERRED_STACK_BOUNDARY_2@ \
				$(AM_CFLAGS_BASE) -fomit-frame-pointer \
				@SOLARIS_UNDEF_LARGESOURCE@

AM_CFLAGS_PSO_X86_SOLARIS = @FLAG_M32@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_X86_SOLARIS = @FLAG_M32@ -g -D_ASM
AM_FLAG_M3264_AMD64_SOLARIS = @FLAG_M64@
AM_CFLAGS_AMD64_SOLARIS = @FLAG_M64@ \
				$(AM_CFLAGS_BASE) -fomit-frame-pointer

AM_CFLAGS_PSO_AMD64_SOLARIS = @FLAG_M64@ $(AM_CFLAGS_BASE) $(AM_CFLAGS_PSO_BASE)
AM_CCASFLAGS_AMD64_SOLARIS = @FLAG_M64@ -g -D_ASM

# 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_3)
PRELOAD_LDFLAGS_COMMON_DARWIN = -dynamic -dynamiclib -all_load
PRELOAD_LDFLAGS_COMMON_SOLARIS = -nodefaultlibs -shared \
	-Wl,-z,interpose,-z,initfirst $(am__append_2)
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_PPC64BE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_PPC64LE_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_ARM_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M32@
PRELOAD_LDFLAGS_ARM64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
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@
PRELOAD_LDFLAGS_MIPS64_LINUX = $(PRELOAD_LDFLAGS_COMMON_LINUX) @FLAG_M64@
PRELOAD_LDFLAGS_X86_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M32@
PRELOAD_LDFLAGS_AMD64_SOLARIS = $(PRELOAD_LDFLAGS_COMMON_SOLARIS) @FLAG_M64@
AM_CPPFLAGS = -I$(top_srcdir) -I$(top_srcdir)/include \
	-I$(top_srcdir)/coregrind -I$(top_builddir)/include \
	-I$(top_srcdir)/VEX/pub -I$(top_builddir)/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_4)

# Nb: Tools need to augment these flags with an arch-selection option, such
# as $(AM_FLAG_M3264_PRI).
AM_CFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
	@FLAG_FNO_STACK_PROTECTOR@ $(am__append_5) $(am__append_6) \
	$(AM_FLAG_M3264_PRI) @FLAG_W_EXTRA@ -Wno-inline \
	-Wno-unused-parameter
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
	@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7) \
	$(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_stderr_solaris       \
	filter_thread_no	    \
	filter_thread_name_xml      \
	filter_xml_and_thread_no    \
	run_openmp_test             \
	supported_libpthread	    \
	supported_sem_init

noinst_HEADERS = \
	tsan_thread_wrappers_pthread.h		    \
	unified_annotations.h			    \
	dlopen_lib.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_sem.stderr.exp                     \
	annotate_sem.vgtest                         \
	annotate_smart_pointer.stderr.exp	    \
	annotate_smart_pointer.vgtest		    \
	annotate_smart_pointer2.stderr.exp	    \
	annotate_smart_pointer2.stderr.exp-darwin   \
	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.stderr.exp-solaris	    \
	annotate_ignore_rw2.vgtest		    \
	annotate_ignore_write.stderr.exp	    \
	annotate_ignore_write.stderr.exp-solaris    \
	annotate_ignore_write.vgtest		    \
	annotate_ignore_write2.stderr.exp	    \
	annotate_ignore_write2.stderr.exp-solaris   \
	annotate_ignore_write2.vgtest		    \
	annotate_trace_memory.stderr.exp-32bit	    \
	annotate_trace_memory.stderr.exp-64bit	    \
	annotate_trace_memory.stderr.exp-mips32	   \
	annotate_trace_memory.vgtest		    \
	annotate_trace_memory_xml.stderr.exp-32bit  \
	annotate_trace_memory_xml.stderr.exp-64bit  \
	annotate_trace_memory_xml.stderr.exp-mips32 \
	annotate_trace_memory_xml.vgtest	    \
	annotate_sem.stderr.exp                     \
	annotate_sem.vgtest                         \
	annotate_static.stderr.exp	            \
	annotate_static.vgtest		            \
	atomic_var.stderr.exp			    \
	atomic_var.vgtest			    \
	bar_bad.stderr.exp			    \
	bar_bad.stderr.exp-nohang		    \
	bar_bad.stderr.exp-solaris		    \
	bar_bad.vgtest				    \
	bar_bad_xml.stderr.exp			    \
	bar_bad_xml.stderr.exp-nohang		    \
	bar_bad_xml.stderr.exp-solaris		    \
	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			    \
	concurrent_close.stderr.exp		    \
	concurrent_close.vgtest			    \
	custom_alloc.stderr.exp			    \
	custom_alloc.vgtest			    \
	custom_alloc_fiw.stderr.exp		    \
	custom_alloc_fiw.vgtest			    \
	dlopen.stderr.exp			    \
	dlopen.stdout.exp			    \
	dlopen.vgtest				    \
	fp_race.stderr.exp                          \
	fp_race.stderr.exp-mips32-be                \
	fp_race.stderr.exp-mips32-le                \
	fp_race.vgtest                              \
	fp_race2.stderr.exp                         \
	fp_race2.vgtest                             \
	fp_race_xml.stderr.exp                      \
	fp_race_xml.stderr.exp-mips32-be            \
	fp_race_xml.stderr.exp-mips32-le            \
	fp_race_xml.stderr.exp-solaris              \
	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                     \
	local_static.stderr.exp                     \
	local_static.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_destroy_busy.stderr.exp            \
	pth_cond_destroy_busy.stderr.exp-solaris    \
	pth_cond_destroy_busy.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.stderr.exp-solaris          \
	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.stderr.exp-mips32-be           \
	sem_as_mutex.stderr.exp-mips32-le           \
	sem_as_mutex.vgtest                         \
	sem_as_mutex2.stderr.exp                    \
	sem_as_mutex2.vgtest                        \
	sem_as_mutex3.stderr.exp                    \
	sem_as_mutex3.stderr.exp-mips32-be          \
	sem_as_mutex3.stderr.exp-mips32-le          \
	sem_as_mutex3.vgtest                        \
	sem_open.stderr.exp                         \
	sem_open.stderr.exp-mips32-be               \
	sem_open.stderr.exp-mips32-le               \
	sem_open.vgtest                             \
	sem_open2.stderr.exp                        \
	sem_open2.vgtest                            \
	sem_open3.stderr.exp                        \
	sem_open3.stderr.exp-mips32-be              \
	sem_open3.stderr.exp-mips32-le              \
	sem_open3.vgtest                            \
	sem_open_traced.stderr.exp                  \
	sem_open_traced.vgtest                      \
	sem_wait.stderr.exp                         \
	sem_wait.vgtest                             \
	sigalrm.stderr.exp                          \
	sigalrm.vgtest                              \
	sigaltstack.stderr.exp                      \
	sigaltstack.vgtest                          \
	std_atomic.stderr.exp		  	    \
	std_atomic.vgtest			            \
	std_list.stderr.exp		  	    \
	std_list.vgtest			            \
	std_string.stderr.exp		  	    \
	std_string.vgtest			    \
	std_thread.stderr.exp		  	    \
	std_thread.vgtest			    \
	std_thread2.stderr.exp		  	    \
	std_thread2.vgtest			    \
	std_thread2.supp			    \
	str_tester.stderr.exp		  	    \
	str_tester.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.stderr.exp-solaris          \
	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.stderr.exp-solaris            \
	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			    \
	threaded-fork-vcs.stderr.exp		    \
	threaded-fork-vcs.vgtest		    \
	tls_threads.stderr.exp			    \
	tls_threads.vgtest			    \
	trylock.stderr.exp                          \
	trylock.vgtest				    \
	unit_bitmap.stderr.exp                      \
	unit_bitmap.vgtest                          \
	unit_vc.stderr.exp                          \
	unit_vc.vgtest

LDADD = -lpthread
concurrent_close_SOURCES = concurrent_close.cpp
dlopen_main_LDADD = -ldl
dlopen_lib_so_SOURCES = dlopen_lib.c
dlopen_lib_so_CFLAGS = -fPIC
dlopen_lib_so_LDFLAGS = -shared -fPIC
monitor_example_SOURCES = monitor_example.cpp
new_delete_SOURCES = new_delete.cpp
new_delete_CXXFLAGS = $(AM_CXXFLAGS) @FLAG_W_NO_MISMATCHED_NEW_DELETE@
free_is_write_CFLAGS = $(AM_CFLAGS) $(am__append_17)
pth_barrier_CFLAGS = $(AM_CFLAGS) $(am__append_18)
pth_create_chain_CFLAGS = $(AM_CFLAGS) $(am__append_19)
pth_detached_CFLAGS = $(AM_CFLAGS) $(am__append_20)
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
annotate_static_CXXFLAGS = $(AM_CXXFLAGS) @FLAG_W_NO_UNUSED_FUNCTION@
local_static_SOURCES = local_static.cpp
@HAVE_OPENMP_TRUE@omp_matinv_CFLAGS = $(AM_CFLAGS) -fopenmp \
@HAVE_OPENMP_TRUE@	$(am__append_21)
@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
matinv_CFLAGS = $(AM_CFLAGS) $(am__append_22)
@HAVE_PTHREAD_BARRIER_TRUE@matinv_LDADD = $(LDADD) -lm
rwlock_test_CFLAGS = $(AM_CFLAGS) $(am__append_23)
std_atomic_SOURCES = std_atomic.cpp
std_atomic_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x -Wno-sign-compare
std_list_SOURCES = std_list.cpp
std_list_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x -Wno-sign-compare
std_string_SOURCES = std_string.cpp
std_string_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x -Wno-sign-compare

# Note: -Wl,--no-as-needed is a workaround for
# https://bugs.launchpad.net/ubuntu/+source/gcc-defaults/+bug/1228201
std_thread_SOURCES = std_thread.cpp
std_thread_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x
@VGCONF_OS_IS_SOLARIS_FALSE@std_thread_LDFLAGS = -Wl,--no-as-needed
std_thread2_SOURCES = std_thread2.cpp
std_thread2_CXXFLAGS = $(AM_CXXFLAGS) -std=c++0x
@VGCONF_OS_IS_SOLARIS_FALSE@std_thread2_LDFLAGS = -Wl,--no-as-needed
sem_wait_SOURCES = sem_wait.cpp
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
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;
$(top_srcdir)/Makefile.tool-tests.am $(top_srcdir)/Makefile.all.am $(am__empty):

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

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

clean-checkPROGRAMS:
	-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)

annotate_barrier$(EXEEXT): $(annotate_barrier_OBJECTS) $(annotate_barrier_DEPENDENCIES) $(EXTRA_annotate_barrier_DEPENDENCIES) 
	@rm -f annotate_barrier$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(annotate_barrier_OBJECTS) $(annotate_barrier_LDADD) $(LIBS)

annotate_hb_err$(EXEEXT): $(annotate_hb_err_OBJECTS) $(annotate_hb_err_DEPENDENCIES) $(EXTRA_annotate_hb_err_DEPENDENCIES) 
	@rm -f annotate_hb_err$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(annotate_hb_err_OBJECTS) $(annotate_hb_err_LDADD) $(LIBS)

annotate_hb_race$(EXEEXT): $(annotate_hb_race_OBJECTS) $(annotate_hb_race_DEPENDENCIES) $(EXTRA_annotate_hb_race_DEPENDENCIES) 
	@rm -f annotate_hb_race$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(annotate_hb_race_OBJECTS) $(annotate_hb_race_LDADD) $(LIBS)

annotate_ignore_rw$(EXEEXT): $(annotate_ignore_rw_OBJECTS) $(annotate_ignore_rw_DEPENDENCIES) $(EXTRA_annotate_ignore_rw_DEPENDENCIES) 
	@rm -f annotate_ignore_rw$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(annotate_ignore_rw_OBJECTS) $(annotate_ignore_rw_LDADD) $(LIBS)

annotate_ignore_write$(EXEEXT): $(annotate_ignore_write_OBJECTS) $(annotate_ignore_write_DEPENDENCIES) $(EXTRA_annotate_ignore_write_DEPENDENCIES) 
	@rm -f annotate_ignore_write$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(annotate_ignore_write_OBJECTS) $(annotate_ignore_write_LDADD) $(LIBS)

annotate_publish_hg$(EXEEXT): $(annotate_publish_hg_OBJECTS) $(annotate_publish_hg_DEPENDENCIES) $(EXTRA_annotate_publish_hg_DEPENDENCIES) 
	@rm -f annotate_publish_hg$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(annotate_publish_hg_OBJECTS) $(annotate_publish_hg_LDADD) $(LIBS)

annotate_rwlock$(EXEEXT): $(annotate_rwlock_OBJECTS) $(annotate_rwlock_DEPENDENCIES) $(EXTRA_annotate_rwlock_DEPENDENCIES) 
	@rm -f annotate_rwlock$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(annotate_rwlock_OBJECTS) $(annotate_rwlock_LDADD) $(LIBS)

annotate_sem$(EXEEXT): $(annotate_sem_OBJECTS) $(annotate_sem_DEPENDENCIES) $(EXTRA_annotate_sem_DEPENDENCIES) 
	@rm -f annotate_sem$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(annotate_sem_OBJECTS) $(annotate_sem_LDADD) $(LIBS)

annotate_smart_pointer$(EXEEXT): $(annotate_smart_pointer_OBJECTS) $(annotate_smart_pointer_DEPENDENCIES) $(EXTRA_annotate_smart_pointer_DEPENDENCIES) 
	@rm -f annotate_smart_pointer$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(annotate_smart_pointer_OBJECTS) $(annotate_smart_pointer_LDADD) $(LIBS)

annotate_static$(EXEEXT): $(annotate_static_OBJECTS) $(annotate_static_DEPENDENCIES) $(EXTRA_annotate_static_DEPENDENCIES) 
	@rm -f annotate_static$(EXEEXT)
	$(AM_V_CXXLD)$(annotate_static_LINK) $(annotate_static_OBJECTS) $(annotate_static_LDADD) $(LIBS)

annotate_trace_memory$(EXEEXT): $(annotate_trace_memory_OBJECTS) $(annotate_trace_memory_DEPENDENCIES) $(EXTRA_annotate_trace_memory_DEPENDENCIES) 
	@rm -f annotate_trace_memory$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(annotate_trace_memory_OBJECTS) $(annotate_trace_memory_LDADD) $(LIBS)

atomic_var$(EXEEXT): $(atomic_var_OBJECTS) $(atomic_var_DEPENDENCIES) $(EXTRA_atomic_var_DEPENDENCIES) 
	@rm -f atomic_var$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(atomic_var_OBJECTS) $(atomic_var_LDADD) $(LIBS)

boost_thread$(EXEEXT): $(boost_thread_OBJECTS) $(boost_thread_DEPENDENCIES) $(EXTRA_boost_thread_DEPENDENCIES) 
	@rm -f boost_thread$(EXEEXT)
	$(AM_V_CXXLD)$(boost_thread_LINK) $(boost_thread_OBJECTS) $(boost_thread_LDADD) $(LIBS)

bug-235681$(EXEEXT): $(bug_235681_OBJECTS) $(bug_235681_DEPENDENCIES) $(EXTRA_bug_235681_DEPENDENCIES) 
	@rm -f bug-235681$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(bug_235681_OBJECTS) $(bug_235681_LDADD) $(LIBS)

circular_buffer$(EXEEXT): $(circular_buffer_OBJECTS) $(circular_buffer_DEPENDENCIES) $(EXTRA_circular_buffer_DEPENDENCIES) 
	@rm -f circular_buffer$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(circular_buffer_OBJECTS) $(circular_buffer_LDADD) $(LIBS)

concurrent_close$(EXEEXT): $(concurrent_close_OBJECTS) $(concurrent_close_DEPENDENCIES) $(EXTRA_concurrent_close_DEPENDENCIES) 
	@rm -f concurrent_close$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(concurrent_close_OBJECTS) $(concurrent_close_LDADD) $(LIBS)

custom_alloc$(EXEEXT): $(custom_alloc_OBJECTS) $(custom_alloc_DEPENDENCIES) $(EXTRA_custom_alloc_DEPENDENCIES) 
	@rm -f custom_alloc$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(custom_alloc_OBJECTS) $(custom_alloc_LDADD) $(LIBS)

dlopen_lib.so$(EXEEXT): $(dlopen_lib_so_OBJECTS) $(dlopen_lib_so_DEPENDENCIES) $(EXTRA_dlopen_lib_so_DEPENDENCIES) 
	@rm -f dlopen_lib.so$(EXEEXT)
	$(AM_V_CCLD)$(dlopen_lib_so_LINK) $(dlopen_lib_so_OBJECTS) $(dlopen_lib_so_LDADD) $(LIBS)

dlopen_main$(EXEEXT): $(dlopen_main_OBJECTS) $(dlopen_main_DEPENDENCIES) $(EXTRA_dlopen_main_DEPENDENCIES) 
	@rm -f dlopen_main$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(dlopen_main_OBJECTS) $(dlopen_main_LDADD) $(LIBS)

fp_race$(EXEEXT): $(fp_race_OBJECTS) $(fp_race_DEPENDENCIES) $(EXTRA_fp_race_DEPENDENCIES) 
	@rm -f fp_race$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fp_race_OBJECTS) $(fp_race_LDADD) $(LIBS)

free_is_write$(EXEEXT): $(free_is_write_OBJECTS) $(free_is_write_DEPENDENCIES) $(EXTRA_free_is_write_DEPENDENCIES) 
	@rm -f free_is_write$(EXEEXT)
	$(AM_V_CCLD)$(free_is_write_LINK) $(free_is_write_OBJECTS) $(free_is_write_LDADD) $(LIBS)

hold_lock$(EXEEXT): $(hold_lock_OBJECTS) $(hold_lock_DEPENDENCIES) $(EXTRA_hold_lock_DEPENDENCIES) 
	@rm -f hold_lock$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(hold_lock_OBJECTS) $(hold_lock_LDADD) $(LIBS)

linuxthreads_det$(EXEEXT): $(linuxthreads_det_OBJECTS) $(linuxthreads_det_DEPENDENCIES) $(EXTRA_linuxthreads_det_DEPENDENCIES) 
	@rm -f linuxthreads_det$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(linuxthreads_det_OBJECTS) $(linuxthreads_det_LDADD) $(LIBS)

local_static$(EXEEXT): $(local_static_OBJECTS) $(local_static_DEPENDENCIES) $(EXTRA_local_static_DEPENDENCIES) 
	@rm -f local_static$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(local_static_OBJECTS) $(local_static_LDADD) $(LIBS)

matinv$(EXEEXT): $(matinv_OBJECTS) $(matinv_DEPENDENCIES) $(EXTRA_matinv_DEPENDENCIES) 
	@rm -f matinv$(EXEEXT)
	$(AM_V_CCLD)$(matinv_LINK) $(matinv_OBJECTS) $(matinv_LDADD) $(LIBS)

memory_allocation$(EXEEXT): $(memory_allocation_OBJECTS) $(memory_allocation_DEPENDENCIES) $(EXTRA_memory_allocation_DEPENDENCIES) 
	@rm -f memory_allocation$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(memory_allocation_OBJECTS) $(memory_allocation_LDADD) $(LIBS)

monitor_example$(EXEEXT): $(monitor_example_OBJECTS) $(monitor_example_DEPENDENCIES) $(EXTRA_monitor_example_DEPENDENCIES) 
	@rm -f monitor_example$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(monitor_example_OBJECTS) $(monitor_example_LDADD) $(LIBS)

new_delete$(EXEEXT): $(new_delete_OBJECTS) $(new_delete_DEPENDENCIES) $(EXTRA_new_delete_DEPENDENCIES) 
	@rm -f new_delete$(EXEEXT)
	$(AM_V_CXXLD)$(new_delete_LINK) $(new_delete_OBJECTS) $(new_delete_LDADD) $(LIBS)

omp_matinv$(EXEEXT): $(omp_matinv_OBJECTS) $(omp_matinv_DEPENDENCIES) $(EXTRA_omp_matinv_DEPENDENCIES) 
	@rm -f omp_matinv$(EXEEXT)
	$(AM_V_CCLD)$(omp_matinv_LINK) $(omp_matinv_OBJECTS) $(omp_matinv_LDADD) $(LIBS)

omp_prime$(EXEEXT): $(omp_prime_OBJECTS) $(omp_prime_DEPENDENCIES) $(EXTRA_omp_prime_DEPENDENCIES) 
	@rm -f omp_prime$(EXEEXT)
	$(AM_V_CCLD)$(omp_prime_LINK) $(omp_prime_OBJECTS) $(omp_prime_LDADD) $(LIBS)

omp_printf$(EXEEXT): $(omp_printf_OBJECTS) $(omp_printf_DEPENDENCIES) $(EXTRA_omp_printf_DEPENDENCIES) 
	@rm -f omp_printf$(EXEEXT)
	$(AM_V_CCLD)$(omp_printf_LINK) $(omp_printf_OBJECTS) $(omp_printf_LDADD) $(LIBS)

pth_barrier$(EXEEXT): $(pth_barrier_OBJECTS) $(pth_barrier_DEPENDENCIES) $(EXTRA_pth_barrier_DEPENDENCIES) 
	@rm -f pth_barrier$(EXEEXT)
	$(AM_V_CCLD)$(pth_barrier_LINK) $(pth_barrier_OBJECTS) $(pth_barrier_LDADD) $(LIBS)

pth_barrier_race$(EXEEXT): $(pth_barrier_race_OBJECTS) $(pth_barrier_race_DEPENDENCIES) $(EXTRA_pth_barrier_race_DEPENDENCIES) 
	@rm -f pth_barrier_race$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_barrier_race_OBJECTS) $(pth_barrier_race_LDADD) $(LIBS)

pth_barrier_reinit$(EXEEXT): $(pth_barrier_reinit_OBJECTS) $(pth_barrier_reinit_DEPENDENCIES) $(EXTRA_pth_barrier_reinit_DEPENDENCIES) 
	@rm -f pth_barrier_reinit$(EXEEXT)
	$(AM_V_CCLD)$(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) $(EXTRA_pth_barrier_thr_cr_DEPENDENCIES) 
	@rm -f pth_barrier_thr_cr$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_barrier_thr_cr_OBJECTS) $(pth_barrier_thr_cr_LDADD) $(LIBS)

pth_broadcast$(EXEEXT): $(pth_broadcast_OBJECTS) $(pth_broadcast_DEPENDENCIES) $(EXTRA_pth_broadcast_DEPENDENCIES) 
	@rm -f pth_broadcast$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_broadcast_OBJECTS) $(pth_broadcast_LDADD) $(LIBS)

pth_cancel_locked$(EXEEXT): $(pth_cancel_locked_OBJECTS) $(pth_cancel_locked_DEPENDENCIES) $(EXTRA_pth_cancel_locked_DEPENDENCIES) 
	@rm -f pth_cancel_locked$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_cancel_locked_OBJECTS) $(pth_cancel_locked_LDADD) $(LIBS)

pth_cleanup_handler$(EXEEXT): $(pth_cleanup_handler_OBJECTS) $(pth_cleanup_handler_DEPENDENCIES) $(EXTRA_pth_cleanup_handler_DEPENDENCIES) 
	@rm -f pth_cleanup_handler$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_cleanup_handler_OBJECTS) $(pth_cleanup_handler_LDADD) $(LIBS)

pth_cond_destroy_busy$(EXEEXT): $(pth_cond_destroy_busy_OBJECTS) $(pth_cond_destroy_busy_DEPENDENCIES) $(EXTRA_pth_cond_destroy_busy_DEPENDENCIES) 
	@rm -f pth_cond_destroy_busy$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_cond_destroy_busy_OBJECTS) $(pth_cond_destroy_busy_LDADD) $(LIBS)

pth_cond_race$(EXEEXT): $(pth_cond_race_OBJECTS) $(pth_cond_race_DEPENDENCIES) $(EXTRA_pth_cond_race_DEPENDENCIES) 
	@rm -f pth_cond_race$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_cond_race_OBJECTS) $(pth_cond_race_LDADD) $(LIBS)

pth_create_chain$(EXEEXT): $(pth_create_chain_OBJECTS) $(pth_create_chain_DEPENDENCIES) $(EXTRA_pth_create_chain_DEPENDENCIES) 
	@rm -f pth_create_chain$(EXEEXT)
	$(AM_V_CCLD)$(pth_create_chain_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) $(EXTRA_pth_create_glibc_2_0_DEPENDENCIES) 
	@rm -f pth_create_glibc_2_0$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_create_glibc_2_0_OBJECTS) $(pth_create_glibc_2_0_LDADD) $(LIBS)

pth_detached$(EXEEXT): $(pth_detached_OBJECTS) $(pth_detached_DEPENDENCIES) $(EXTRA_pth_detached_DEPENDENCIES) 
	@rm -f pth_detached$(EXEEXT)
	$(AM_V_CCLD)$(pth_detached_LINK) $(pth_detached_OBJECTS) $(pth_detached_LDADD) $(LIBS)

pth_detached3$(EXEEXT): $(pth_detached3_OBJECTS) $(pth_detached3_DEPENDENCIES) $(EXTRA_pth_detached3_DEPENDENCIES) 
	@rm -f pth_detached3$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_detached3_OBJECTS) $(pth_detached3_LDADD) $(LIBS)

pth_detached_sem$(EXEEXT): $(pth_detached_sem_OBJECTS) $(pth_detached_sem_DEPENDENCIES) $(EXTRA_pth_detached_sem_DEPENDENCIES) 
	@rm -f pth_detached_sem$(EXEEXT)
	$(AM_V_CCLD)$(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) $(EXTRA_pth_inconsistent_cond_wait_DEPENDENCIES) 
	@rm -f pth_inconsistent_cond_wait$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_inconsistent_cond_wait_OBJECTS) $(pth_inconsistent_cond_wait_LDADD) $(LIBS)

pth_mutex_reinit$(EXEEXT): $(pth_mutex_reinit_OBJECTS) $(pth_mutex_reinit_DEPENDENCIES) $(EXTRA_pth_mutex_reinit_DEPENDENCIES) 
	@rm -f pth_mutex_reinit$(EXEEXT)
	$(AM_V_CCLD)$(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) $(EXTRA_pth_process_shared_mutex_DEPENDENCIES) 
	@rm -f pth_process_shared_mutex$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_process_shared_mutex_OBJECTS) $(pth_process_shared_mutex_LDADD) $(LIBS)

pth_spinlock$(EXEEXT): $(pth_spinlock_OBJECTS) $(pth_spinlock_DEPENDENCIES) $(EXTRA_pth_spinlock_DEPENDENCIES) 
	@rm -f pth_spinlock$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_spinlock_OBJECTS) $(pth_spinlock_LDADD) $(LIBS)

pth_uninitialized_cond$(EXEEXT): $(pth_uninitialized_cond_OBJECTS) $(pth_uninitialized_cond_DEPENDENCIES) $(EXTRA_pth_uninitialized_cond_DEPENDENCIES) 
	@rm -f pth_uninitialized_cond$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_uninitialized_cond_OBJECTS) $(pth_uninitialized_cond_LDADD) $(LIBS)

recursive_mutex$(EXEEXT): $(recursive_mutex_OBJECTS) $(recursive_mutex_DEPENDENCIES) $(EXTRA_recursive_mutex_DEPENDENCIES) 
	@rm -f recursive_mutex$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(recursive_mutex_OBJECTS) $(recursive_mutex_LDADD) $(LIBS)

rwlock_race$(EXEEXT): $(rwlock_race_OBJECTS) $(rwlock_race_DEPENDENCIES) $(EXTRA_rwlock_race_DEPENDENCIES) 
	@rm -f rwlock_race$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(rwlock_race_OBJECTS) $(rwlock_race_LDADD) $(LIBS)

rwlock_test$(EXEEXT): $(rwlock_test_OBJECTS) $(rwlock_test_DEPENDENCIES) $(EXTRA_rwlock_test_DEPENDENCIES) 
	@rm -f rwlock_test$(EXEEXT)
	$(AM_V_CCLD)$(rwlock_test_LINK) $(rwlock_test_OBJECTS) $(rwlock_test_LDADD) $(LIBS)

rwlock_type_checking$(EXEEXT): $(rwlock_type_checking_OBJECTS) $(rwlock_type_checking_DEPENDENCIES) $(EXTRA_rwlock_type_checking_DEPENDENCIES) 
	@rm -f rwlock_type_checking$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(rwlock_type_checking_OBJECTS) $(rwlock_type_checking_LDADD) $(LIBS)

sem_as_mutex$(EXEEXT): $(sem_as_mutex_OBJECTS) $(sem_as_mutex_DEPENDENCIES) $(EXTRA_sem_as_mutex_DEPENDENCIES) 
	@rm -f sem_as_mutex$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sem_as_mutex_OBJECTS) $(sem_as_mutex_LDADD) $(LIBS)

sem_open$(EXEEXT): $(sem_open_OBJECTS) $(sem_open_DEPENDENCIES) $(EXTRA_sem_open_DEPENDENCIES) 
	@rm -f sem_open$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sem_open_OBJECTS) $(sem_open_LDADD) $(LIBS)

sem_wait$(EXEEXT): $(sem_wait_OBJECTS) $(sem_wait_DEPENDENCIES) $(EXTRA_sem_wait_DEPENDENCIES) 
	@rm -f sem_wait$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(sem_wait_OBJECTS) $(sem_wait_LDADD) $(LIBS)

sigalrm$(EXEEXT): $(sigalrm_OBJECTS) $(sigalrm_DEPENDENCIES) $(EXTRA_sigalrm_DEPENDENCIES) 
	@rm -f sigalrm$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sigalrm_OBJECTS) $(sigalrm_LDADD) $(LIBS)

std_atomic$(EXEEXT): $(std_atomic_OBJECTS) $(std_atomic_DEPENDENCIES) $(EXTRA_std_atomic_DEPENDENCIES) 
	@rm -f std_atomic$(EXEEXT)
	$(AM_V_CXXLD)$(std_atomic_LINK) $(std_atomic_OBJECTS) $(std_atomic_LDADD) $(LIBS)

std_list$(EXEEXT): $(std_list_OBJECTS) $(std_list_DEPENDENCIES) $(EXTRA_std_list_DEPENDENCIES) 
	@rm -f std_list$(EXEEXT)
	$(AM_V_CXXLD)$(std_list_LINK) $(std_list_OBJECTS) $(std_list_LDADD) $(LIBS)

std_string$(EXEEXT): $(std_string_OBJECTS) $(std_string_DEPENDENCIES) $(EXTRA_std_string_DEPENDENCIES) 
	@rm -f std_string$(EXEEXT)
	$(AM_V_CXXLD)$(std_string_LINK) $(std_string_OBJECTS) $(std_string_LDADD) $(LIBS)

std_thread$(EXEEXT): $(std_thread_OBJECTS) $(std_thread_DEPENDENCIES) $(EXTRA_std_thread_DEPENDENCIES) 
	@rm -f std_thread$(EXEEXT)
	$(AM_V_CXXLD)$(std_thread_LINK) $(std_thread_OBJECTS) $(std_thread_LDADD) $(LIBS)

std_thread2$(EXEEXT): $(std_thread2_OBJECTS) $(std_thread2_DEPENDENCIES) $(EXTRA_std_thread2_DEPENDENCIES) 
	@rm -f std_thread2$(EXEEXT)
	$(AM_V_CXXLD)$(std_thread2_LINK) $(std_thread2_OBJECTS) $(std_thread2_LDADD) $(LIBS)

thread_name$(EXEEXT): $(thread_name_OBJECTS) $(thread_name_DEPENDENCIES) $(EXTRA_thread_name_DEPENDENCIES) 
	@rm -f thread_name$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(thread_name_OBJECTS) $(thread_name_LDADD) $(LIBS)

threaded-fork$(EXEEXT): $(threaded_fork_OBJECTS) $(threaded_fork_DEPENDENCIES) $(EXTRA_threaded_fork_DEPENDENCIES) 
	@rm -f threaded-fork$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(threaded_fork_OBJECTS) $(threaded_fork_LDADD) $(LIBS)

trylock$(EXEEXT): $(trylock_OBJECTS) $(trylock_DEPENDENCIES) $(EXTRA_trylock_DEPENDENCIES) 
	@rm -f trylock$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(trylock_OBJECTS) $(trylock_LDADD) $(LIBS)

tsan_unittest$(EXEEXT): $(tsan_unittest_OBJECTS) $(tsan_unittest_DEPENDENCIES) $(EXTRA_tsan_unittest_DEPENDENCIES) 
	@rm -f tsan_unittest$(EXEEXT)
	$(AM_V_CXXLD)$(tsan_unittest_LINK) $(tsan_unittest_OBJECTS) $(tsan_unittest_LDADD) $(LIBS)

unit_bitmap$(EXEEXT): $(unit_bitmap_OBJECTS) $(unit_bitmap_DEPENDENCIES) $(EXTRA_unit_bitmap_DEPENDENCIES) 
	@rm -f unit_bitmap$(EXEEXT)
	$(AM_V_CCLD)$(unit_bitmap_LINK) $(unit_bitmap_OBJECTS) $(unit_bitmap_LDADD) $(LIBS)

unit_vc$(EXEEXT): $(unit_vc_OBJECTS) $(unit_vc_DEPENDENCIES) $(EXTRA_unit_vc_DEPENDENCIES) 
	@rm -f unit_vc$(EXEEXT)
	$(AM_V_CCLD)$(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_sem.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-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)/concurrent_close.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/custom_alloc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dlopen_lib_so-dlopen_lib.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dlopen_main.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-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)/local_static.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/matinv-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-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-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.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_cond_destroy_busy.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-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-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-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)/sem_wait.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigalrm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/std_atomic-std_atomic.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/std_list-std_list.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/std_string-std_string.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/std_thread-std_thread.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/std_thread2-std_thread2.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@	$(AM_V_CC)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCC_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(COMPILE) -c -o $@ $<

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

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

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

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

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

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

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

omp_matinv-omp_matinv.o: omp_matinv.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/omp_matinv-omp_matinv.Tpo $(DEPDIR)/omp_matinv-omp_matinv.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/omp_matinv-omp_matinv.Tpo $(DEPDIR)/omp_matinv-omp_matinv.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/omp_prime-omp_prime.Tpo $(DEPDIR)/omp_prime-omp_prime.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/omp_prime-omp_prime.Tpo $(DEPDIR)/omp_prime-omp_prime.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/omp_printf-omp_printf.Tpo $(DEPDIR)/omp_printf-omp_printf.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/omp_printf-omp_printf.Tpo $(DEPDIR)/omp_printf-omp_printf.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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_barrier-pth_barrier.o: pth_barrier.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pth_barrier_CFLAGS) $(CFLAGS) -MT pth_barrier-pth_barrier.o -MD -MP -MF $(DEPDIR)/pth_barrier-pth_barrier.Tpo -c -o pth_barrier-pth_barrier.o `test -f 'pth_barrier.c' || echo '$(srcdir)/'`pth_barrier.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/pth_barrier-pth_barrier.Tpo $(DEPDIR)/pth_barrier-pth_barrier.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='pth_barrier.c' object='pth_barrier-pth_barrier.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(pth_barrier_CFLAGS) $(CFLAGS) -c -o pth_barrier-pth_barrier.o `test -f 'pth_barrier.c' || echo '$(srcdir)/'`pth_barrier.c

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

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

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

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

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

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

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

unit_bitmap-unit_bitmap.o: unit_bitmap.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/unit_bitmap-unit_bitmap.Tpo $(DEPDIR)/unit_bitmap-unit_bitmap.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/unit_bitmap-unit_bitmap.Tpo $(DEPDIR)/unit_bitmap-unit_bitmap.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/unit_vc-unit_vc.Tpo $(DEPDIR)/unit_vc-unit_vc.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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@	$(AM_V_CC)$(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_V_at)$(am__mv) $(DEPDIR)/unit_vc-unit_vc.Tpo $(DEPDIR)/unit_vc-unit_vc.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)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@	$(AM_V_CC@am__nodep@)$(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@	$(AM_V_CXX)depbase=`echo $@ | sed 's|[^/]*$$|$(DEPDIR)/&|;s|\.o$$||'`;\
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $$depbase.Tpo -c -o $@ $< &&\
@am__fastdepCXX_TRUE@	$(am__mv) $$depbase.Tpo $$depbase.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(AM_V_CXX@am__nodep@)$(CXXCOMPILE) -c -o $@ $<

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

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

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

boost_thread-boost_thread.o: boost_thread.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(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_V_at)$(am__mv) $(DEPDIR)/boost_thread-boost_thread.Tpo $(DEPDIR)/boost_thread-boost_thread.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)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@	$(AM_V_CXX@am__nodep@)$(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@	$(AM_V_CXX)$(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_V_at)$(am__mv) $(DEPDIR)/boost_thread-boost_thread.Tpo $(DEPDIR)/boost_thread-boost_thread.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)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@	$(AM_V_CXX@am__nodep@)$(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`

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

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

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

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

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

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

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

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

std_thread-std_thread.o: std_thread.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(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_V_at)$(am__mv) $(DEPDIR)/std_thread-std_thread.Tpo $(DEPDIR)/std_thread-std_thread.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)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@	$(AM_V_CXX@am__nodep@)$(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@	$(AM_V_CXX)$(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_V_at)$(am__mv) $(DEPDIR)/std_thread-std_thread.Tpo $(DEPDIR)/std_thread-std_thread.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)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@	$(AM_V_CXX@am__nodep@)$(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`

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

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

tsan_unittest-tsan_unittest.o: tsan_unittest.cpp
@am__fastdepCXX_TRUE@	$(AM_V_CXX)$(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_V_at)$(am__mv) $(DEPDIR)/tsan_unittest-tsan_unittest.Tpo $(DEPDIR)/tsan_unittest-tsan_unittest.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)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@	$(AM_V_CXX@am__nodep@)$(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@	$(AM_V_CXX)$(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_V_at)$(am__mv) $(DEPDIR)/tsan_unittest-tsan_unittest.Tpo $(DEPDIR)/tsan_unittest-tsan_unittest.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(AM_V_CXX)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@	$(AM_V_CXX@am__nodep@)$(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: $(am__tagged_files)
	$(am__define_uniq_tagged_files); mkid -fID $$unique
tags: tags-am
TAGS: tags

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

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

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

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

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

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

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 TAGS all all-am check check-am check-local clean \
	clean-checkPROGRAMS clean-generic clean-local cscopelist-am \
	ctags ctags-am 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 tags-am uninstall uninstall-am

.PRECIOUS: Makefile


# 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

# This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
# "make uninstall".  It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
# It needs to be depended on by an 'uninstall-local' rule.
uninstall-noinst_PROGRAMS:
	for f in $(noinst_PROGRAMS); do \
	  rm -f $(DESTDIR)$(pkglibdir)/$$f; \
	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

# Similar to uninstall-noinst_PROGRAMS.
uninstall-noinst_DSYMS:
	for f in $(noinst_DSYMS); do \
	  rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
	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:
