# 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

# Arch-specific tests.
@VGCONF_ARCHS_INCLUDE_X86_TRUE@am__append_8 = x86
@VGCONF_ARCHS_INCLUDE_AMD64_TRUE@am__append_9 = amd64
@VGCONF_ARCHS_INCLUDE_PPC32_TRUE@am__append_10 = ppc32
@VGCONF_ARCHS_INCLUDE_PPC64_TRUE@am__append_11 = ppc64
@VGCONF_ARCHS_INCLUDE_ARM_TRUE@am__append_12 = arm
@VGCONF_ARCHS_INCLUDE_ARM64_TRUE@am__append_13 = arm64
@VGCONF_ARCHS_INCLUDE_S390X_TRUE@am__append_14 = s390x
@VGCONF_ARCHS_INCLUDE_MIPS32_TRUE@am__append_15 = mips32
@VGCONF_ARCHS_INCLUDE_MIPS64_TRUE@am__append_16 = mips64

# OS-specific tests
@VGCONF_OS_IS_LINUX_TRUE@am__append_17 = linux
@VGCONF_OS_IS_DARWIN_TRUE@am__append_18 = darwin
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_19 = solaris

# Platform-specific tests
@VGCONF_PLATFORMS_INCLUDE_AMD64_LINUX_TRUE@am__append_20 = amd64-linux
@VGCONF_PLATFORMS_INCLUDE_X86_LINUX_TRUE@am__append_21 = x86-linux
@VGCONF_PLATFORMS_INCLUDE_AMD64_DARWIN_TRUE@am__append_22 = amd64-darwin
@VGCONF_PLATFORMS_INCLUDE_X86_DARWIN_TRUE@am__append_23 = x86-darwin
@VGCONF_PLATFORMS_INCLUDE_AMD64_SOLARIS_TRUE@am__append_24 = amd64-solaris
@VGCONF_PLATFORMS_INCLUDE_X86_SOLARIS_TRUE@am__append_25 = x86-solaris
check_PROGRAMS = args$(EXEEXT) async-sigs$(EXEEXT) bitfield1$(EXEEXT) \
	bug129866$(EXEEXT) bug234814$(EXEEXT) closeall$(EXEEXT) \
	coolo_strlen$(EXEEXT) discard$(EXEEXT) exec-sigmask$(EXEEXT) \
	execve$(EXEEXT) faultstatus$(EXEEXT) fcntl_setown$(EXEEXT) \
	fdleak_cmsg$(EXEEXT) fdleak_creat$(EXEEXT) fdleak_dup$(EXEEXT) \
	fdleak_dup2$(EXEEXT) fdleak_fcntl$(EXEEXT) \
	fdleak_ipv4$(EXEEXT) fdleak_open$(EXEEXT) fdleak_pipe$(EXEEXT) \
	fdleak_socketpair$(EXEEXT) floored$(EXEEXT) fork$(EXEEXT) \
	fucomip$(EXEEXT) ioctl_moans$(EXEEXT) libvex_test$(EXEEXT) \
	libvexmultiarch_test$(EXEEXT) manythreads$(EXEEXT) \
	mmap_fcntl_bug$(EXEEXT) munmap_exe$(EXEEXT) \
	map_unaligned$(EXEEXT) map_unmap$(EXEEXT) mq$(EXEEXT) \
	nocwd$(EXEEXT) pending$(EXEEXT) procfs-cmdline-exe$(EXEEXT) \
	pselect_alarm$(EXEEXT) pselect_sigmask_null$(EXEEXT) \
	pth_atfork1$(EXEEXT) pth_blockedsig$(EXEEXT) \
	pth_cancel1$(EXEEXT) pth_cancel2$(EXEEXT) \
	pth_cvsimple$(EXEEXT) pth_empty$(EXEEXT) pth_exit$(EXEEXT) \
	pth_exit2$(EXEEXT) pth_mutexspeed$(EXEEXT) pth_once$(EXEEXT) \
	pth_rwlock$(EXEEXT) pth_stackalign$(EXEEXT) pth_2sig$(EXEEXT) \
	pth_term_signal$(EXEEXT) rcrl$(EXEEXT) readline1$(EXEEXT) \
	require-text-symbol$(EXEEXT) res_search$(EXEEXT) \
	resolv$(EXEEXT) rlimit_nofile$(EXEEXT) selfrun$(EXEEXT) \
	sem$(EXEEXT) semlimit$(EXEEXT) sha1_test$(EXEEXT) \
	shortpush$(EXEEXT) shorts$(EXEEXT) stackgrowth$(EXEEXT) \
	sigstackgrowth$(EXEEXT) sigsusp$(EXEEXT) \
	syscall-restart1$(EXEEXT) syscall-restart2$(EXEEXT) \
	syslog$(EXEEXT) system$(EXEEXT) thread-exits$(EXEEXT) \
	threaded-fork$(EXEEXT) threadederrno$(EXEEXT) \
	timestamp$(EXEEXT) tls$(EXEEXT) tls.so$(EXEEXT) \
	tls2.so$(EXEEXT) unit_debuglog$(EXEEXT) \
	valgrind_cpp_test$(EXEEXT) vgprintf$(EXEEXT) \
	vgprintf_nvalgrind$(EXEEXT) coolo_sigaction$(EXEEXT) \
	gxx304$(EXEEXT) process_vm_readv_writev$(EXEEXT) \
	$(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
	$(am__EXEEXT_4)
@HAVE_NESTED_FUNCTIONS_TRUE@am__append_26 = nestedfns

# This doesn't appear to be compilable on Darwin.
@VGCONF_OS_IS_DARWIN_FALSE@am__append_27 = rlimit64_nofile \
@VGCONF_OS_IS_DARWIN_FALSE@        ppoll_alarm


# clang does not know -ansi
@COMPILER_IS_CLANG_FALSE@am__append_28 = ansi
@BUILD_IFUNC_TESTS_TRUE@am__append_29 = ifunc
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_30 = --std=c99
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_31 = -U_REENTRANT
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_32 = -Du_int32_t=uint32_t
@VGCONF_OS_IS_SOLARIS_TRUE@am__append_33 = --std=c99
subdir = none/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_NESTED_FUNCTIONS_TRUE@am__EXEEXT_1 = nestedfns$(EXEEXT)
@VGCONF_OS_IS_DARWIN_FALSE@am__EXEEXT_2 = rlimit64_nofile$(EXEEXT) \
@VGCONF_OS_IS_DARWIN_FALSE@	ppoll_alarm$(EXEEXT)
@COMPILER_IS_CLANG_FALSE@am__EXEEXT_3 = ansi$(EXEEXT)
@BUILD_IFUNC_TESTS_TRUE@am__EXEEXT_4 = ifunc$(EXEEXT)
ansi_SOURCES = ansi.c
ansi_OBJECTS = ansi-ansi.$(OBJEXT)
ansi_LDADD = $(LDADD)
ansi_LINK = $(CCLD) $(ansi_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
	-o $@
args_SOURCES = args.c
args_OBJECTS = args.$(OBJEXT)
args_LDADD = $(LDADD)
async_sigs_SOURCES = async-sigs.c
async_sigs_OBJECTS = async-sigs.$(OBJEXT)
async_sigs_LDADD = $(LDADD)
bitfield1_SOURCES = bitfield1.c
bitfield1_OBJECTS = bitfield1.$(OBJEXT)
bitfield1_LDADD = $(LDADD)
bug129866_SOURCES = bug129866.c
bug129866_OBJECTS = bug129866.$(OBJEXT)
bug129866_LDADD = $(LDADD)
bug234814_SOURCES = bug234814.c
bug234814_OBJECTS = bug234814.$(OBJEXT)
bug234814_LDADD = $(LDADD)
closeall_SOURCES = closeall.c
closeall_OBJECTS = closeall.$(OBJEXT)
closeall_LDADD = $(LDADD)
am_coolo_sigaction_OBJECTS = coolo_sigaction.$(OBJEXT)
coolo_sigaction_OBJECTS = $(am_coolo_sigaction_OBJECTS)
coolo_sigaction_LDADD = $(LDADD)
coolo_strlen_SOURCES = coolo_strlen.c
coolo_strlen_OBJECTS = coolo_strlen.$(OBJEXT)
coolo_strlen_LDADD = $(LDADD)
discard_SOURCES = discard.c
discard_OBJECTS = discard.$(OBJEXT)
discard_LDADD = $(LDADD)
exec_sigmask_SOURCES = exec-sigmask.c
exec_sigmask_OBJECTS = exec-sigmask.$(OBJEXT)
exec_sigmask_LDADD = $(LDADD)
execve_SOURCES = execve.c
execve_OBJECTS = execve-execve.$(OBJEXT)
execve_LDADD = $(LDADD)
execve_LINK = $(CCLD) $(execve_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
faultstatus_SOURCES = faultstatus.c
faultstatus_OBJECTS = faultstatus.$(OBJEXT)
faultstatus_LDADD = $(LDADD)
fcntl_setown_SOURCES = fcntl_setown.c
fcntl_setown_OBJECTS = fcntl_setown.$(OBJEXT)
fcntl_setown_DEPENDENCIES =
fdleak_cmsg_SOURCES = fdleak_cmsg.c
fdleak_cmsg_OBJECTS = fdleak_cmsg-fdleak_cmsg.$(OBJEXT)
fdleak_cmsg_DEPENDENCIES =
fdleak_cmsg_LINK = $(CCLD) $(fdleak_cmsg_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
fdleak_creat_SOURCES = fdleak_creat.c
fdleak_creat_OBJECTS = fdleak_creat.$(OBJEXT)
fdleak_creat_DEPENDENCIES =
fdleak_dup_SOURCES = fdleak_dup.c
fdleak_dup_OBJECTS = fdleak_dup.$(OBJEXT)
fdleak_dup_LDADD = $(LDADD)
fdleak_dup2_SOURCES = fdleak_dup2.c
fdleak_dup2_OBJECTS = fdleak_dup2.$(OBJEXT)
fdleak_dup2_LDADD = $(LDADD)
fdleak_fcntl_SOURCES = fdleak_fcntl.c
fdleak_fcntl_OBJECTS = fdleak_fcntl.$(OBJEXT)
fdleak_fcntl_LDADD = $(LDADD)
fdleak_ipv4_SOURCES = fdleak_ipv4.c
fdleak_ipv4_OBJECTS = fdleak_ipv4.$(OBJEXT)
fdleak_ipv4_DEPENDENCIES =
fdleak_open_SOURCES = fdleak_open.c
fdleak_open_OBJECTS = fdleak_open.$(OBJEXT)
fdleak_open_LDADD = $(LDADD)
fdleak_pipe_SOURCES = fdleak_pipe.c
fdleak_pipe_OBJECTS = fdleak_pipe.$(OBJEXT)
fdleak_pipe_LDADD = $(LDADD)
fdleak_socketpair_SOURCES = fdleak_socketpair.c
fdleak_socketpair_OBJECTS = fdleak_socketpair.$(OBJEXT)
fdleak_socketpair_DEPENDENCIES =
floored_SOURCES = floored.c
floored_OBJECTS = floored.$(OBJEXT)
floored_DEPENDENCIES =
fork_SOURCES = fork.c
fork_OBJECTS = fork.$(OBJEXT)
fork_LDADD = $(LDADD)
fucomip_SOURCES = fucomip.c
fucomip_OBJECTS = fucomip.$(OBJEXT)
fucomip_LDADD = $(LDADD)
am_gxx304_OBJECTS = gxx304.$(OBJEXT)
gxx304_OBJECTS = $(am_gxx304_OBJECTS)
gxx304_LDADD = $(LDADD)
ifunc_SOURCES = ifunc.c
ifunc_OBJECTS = ifunc.$(OBJEXT)
ifunc_LDADD = $(LDADD)
ioctl_moans_SOURCES = ioctl_moans.c
ioctl_moans_OBJECTS = ioctl_moans.$(OBJEXT)
ioctl_moans_LDADD = $(LDADD)
libvex_test_SOURCES = libvex_test.c
libvex_test_OBJECTS = libvex_test-libvex_test.$(OBJEXT)
libvex_test_DEPENDENCIES =  \
	../../VEX/libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
libvex_test_LINK = $(CCLD) $(libvex_test_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
am_libvexmultiarch_test_OBJECTS =  \
	libvexmultiarch_test-libvex_test.$(OBJEXT)
libvexmultiarch_test_OBJECTS = $(am_libvexmultiarch_test_OBJECTS)
libvexmultiarch_test_DEPENDENCIES =  \
	../../VEX/libvexmultiarch-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a \
	../../VEX/libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a
libvexmultiarch_test_LINK = $(CCLD) $(libvexmultiarch_test_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
manythreads_SOURCES = manythreads.c
manythreads_OBJECTS = manythreads.$(OBJEXT)
manythreads_DEPENDENCIES =
map_unaligned_SOURCES = map_unaligned.c
map_unaligned_OBJECTS = map_unaligned.$(OBJEXT)
map_unaligned_LDADD = $(LDADD)
map_unmap_SOURCES = map_unmap.c
map_unmap_OBJECTS = map_unmap.$(OBJEXT)
map_unmap_LDADD = $(LDADD)
mmap_fcntl_bug_SOURCES = mmap_fcntl_bug.c
mmap_fcntl_bug_OBJECTS = mmap_fcntl_bug.$(OBJEXT)
mmap_fcntl_bug_LDADD = $(LDADD)
mq_SOURCES = mq.c
mq_OBJECTS = mq.$(OBJEXT)
mq_DEPENDENCIES =
munmap_exe_SOURCES = munmap_exe.c
munmap_exe_OBJECTS = munmap_exe.$(OBJEXT)
munmap_exe_LDADD = $(LDADD)
nestedfns_SOURCES = nestedfns.c
nestedfns_OBJECTS = nestedfns-nestedfns.$(OBJEXT)
nestedfns_LDADD = $(LDADD)
nestedfns_LINK = $(CCLD) $(nestedfns_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
nocwd_SOURCES = nocwd.c
nocwd_OBJECTS = nocwd.$(OBJEXT)
nocwd_LDADD = $(LDADD)
pending_SOURCES = pending.c
pending_OBJECTS = pending.$(OBJEXT)
pending_LDADD = $(LDADD)
ppoll_alarm_SOURCES = ppoll_alarm.c
ppoll_alarm_OBJECTS = ppoll_alarm.$(OBJEXT)
ppoll_alarm_DEPENDENCIES =
process_vm_readv_writev_SOURCES = process_vm_readv_writev.c
process_vm_readv_writev_OBJECTS = process_vm_readv_writev.$(OBJEXT)
process_vm_readv_writev_LDADD = $(LDADD)
procfs_cmdline_exe_SOURCES = procfs-cmdline-exe.c
procfs_cmdline_exe_OBJECTS = procfs-cmdline-exe.$(OBJEXT)
procfs_cmdline_exe_LDADD = $(LDADD)
pselect_alarm_SOURCES = pselect_alarm.c
pselect_alarm_OBJECTS = pselect_alarm.$(OBJEXT)
pselect_alarm_DEPENDENCIES =
pselect_sigmask_null_SOURCES = pselect_sigmask_null.c
pselect_sigmask_null_OBJECTS = pselect_sigmask_null.$(OBJEXT)
pselect_sigmask_null_LDADD = $(LDADD)
pth_2sig_SOURCES = pth_2sig.c
pth_2sig_OBJECTS = pth_2sig.$(OBJEXT)
pth_2sig_DEPENDENCIES =
pth_atfork1_SOURCES = pth_atfork1.c
pth_atfork1_OBJECTS = pth_atfork1.$(OBJEXT)
pth_atfork1_DEPENDENCIES =
pth_blockedsig_SOURCES = pth_blockedsig.c
pth_blockedsig_OBJECTS = pth_blockedsig.$(OBJEXT)
pth_blockedsig_DEPENDENCIES =
pth_cancel1_SOURCES = pth_cancel1.c
pth_cancel1_OBJECTS = pth_cancel1-pth_cancel1.$(OBJEXT)
pth_cancel1_DEPENDENCIES =
pth_cancel1_LINK = $(CCLD) $(pth_cancel1_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
pth_cancel2_SOURCES = pth_cancel2.c
pth_cancel2_OBJECTS = pth_cancel2.$(OBJEXT)
pth_cancel2_DEPENDENCIES =
pth_cvsimple_SOURCES = pth_cvsimple.c
pth_cvsimple_OBJECTS = pth_cvsimple.$(OBJEXT)
pth_cvsimple_DEPENDENCIES =
pth_empty_SOURCES = pth_empty.c
pth_empty_OBJECTS = pth_empty.$(OBJEXT)
pth_empty_DEPENDENCIES =
pth_exit_SOURCES = pth_exit.c
pth_exit_OBJECTS = pth_exit.$(OBJEXT)
pth_exit_DEPENDENCIES =
pth_exit2_SOURCES = pth_exit2.c
pth_exit2_OBJECTS = pth_exit2.$(OBJEXT)
pth_exit2_DEPENDENCIES =
pth_mutexspeed_SOURCES = pth_mutexspeed.c
pth_mutexspeed_OBJECTS = pth_mutexspeed.$(OBJEXT)
pth_mutexspeed_DEPENDENCIES =
pth_once_SOURCES = pth_once.c
pth_once_OBJECTS = pth_once.$(OBJEXT)
pth_once_DEPENDENCIES =
pth_rwlock_SOURCES = pth_rwlock.c
pth_rwlock_OBJECTS = pth_rwlock-pth_rwlock.$(OBJEXT)
pth_rwlock_DEPENDENCIES =
pth_rwlock_LINK = $(CCLD) $(pth_rwlock_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
pth_stackalign_SOURCES = pth_stackalign.c
pth_stackalign_OBJECTS = pth_stackalign.$(OBJEXT)
pth_stackalign_DEPENDENCIES =
pth_term_signal_SOURCES = pth_term_signal.c
pth_term_signal_OBJECTS = pth_term_signal.$(OBJEXT)
pth_term_signal_DEPENDENCIES =
rcrl_SOURCES = rcrl.c
rcrl_OBJECTS = rcrl.$(OBJEXT)
rcrl_LDADD = $(LDADD)
readline1_SOURCES = readline1.c
readline1_OBJECTS = readline1.$(OBJEXT)
readline1_LDADD = $(LDADD)
require_text_symbol_SOURCES = require-text-symbol.c
require_text_symbol_OBJECTS = require-text-symbol.$(OBJEXT)
require_text_symbol_LDADD = $(LDADD)
res_search_SOURCES = res_search.c
res_search_OBJECTS = res_search.$(OBJEXT)
res_search_DEPENDENCIES =
resolv_SOURCES = resolv.c
resolv_OBJECTS = resolv-resolv.$(OBJEXT)
resolv_DEPENDENCIES =
resolv_LINK = $(CCLD) $(resolv_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
rlimit64_nofile_SOURCES = rlimit64_nofile.c
rlimit64_nofile_OBJECTS = rlimit64_nofile.$(OBJEXT)
rlimit64_nofile_LDADD = $(LDADD)
rlimit_nofile_SOURCES = rlimit_nofile.c
rlimit_nofile_OBJECTS = rlimit_nofile.$(OBJEXT)
rlimit_nofile_LDADD = $(LDADD)
selfrun_SOURCES = selfrun.c
selfrun_OBJECTS = selfrun.$(OBJEXT)
selfrun_LDADD = $(LDADD)
sem_SOURCES = sem.c
sem_OBJECTS = sem.$(OBJEXT)
sem_LDADD = $(LDADD)
semlimit_SOURCES = semlimit.c
semlimit_OBJECTS = semlimit.$(OBJEXT)
semlimit_DEPENDENCIES =
sha1_test_SOURCES = sha1_test.c
sha1_test_OBJECTS = sha1_test-sha1_test.$(OBJEXT)
sha1_test_LDADD = $(LDADD)
sha1_test_LINK = $(CCLD) $(sha1_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
shortpush_SOURCES = shortpush.c
shortpush_OBJECTS = shortpush.$(OBJEXT)
shortpush_LDADD = $(LDADD)
shorts_SOURCES = shorts.c
shorts_OBJECTS = shorts.$(OBJEXT)
shorts_LDADD = $(LDADD)
sigstackgrowth_SOURCES = sigstackgrowth.c
sigstackgrowth_OBJECTS = sigstackgrowth.$(OBJEXT)
sigstackgrowth_LDADD = $(LDADD)
sigsusp_SOURCES = sigsusp.c
sigsusp_OBJECTS = sigsusp.$(OBJEXT)
sigsusp_DEPENDENCIES =
stackgrowth_SOURCES = stackgrowth.c
stackgrowth_OBJECTS = stackgrowth.$(OBJEXT)
stackgrowth_LDADD = $(LDADD)
syscall_restart1_SOURCES = syscall-restart1.c
syscall_restart1_OBJECTS = syscall-restart1.$(OBJEXT)
syscall_restart1_LDADD = $(LDADD)
syscall_restart2_SOURCES = syscall-restart2.c
syscall_restart2_OBJECTS = syscall-restart2.$(OBJEXT)
syscall_restart2_LDADD = $(LDADD)
syslog_SOURCES = syslog.c
syslog_OBJECTS = syslog.$(OBJEXT)
syslog_LDADD = $(LDADD)
system_SOURCES = system.c
system_OBJECTS = system.$(OBJEXT)
system_LDADD = $(LDADD)
thread_exits_SOURCES = thread-exits.c
thread_exits_OBJECTS = thread-exits.$(OBJEXT)
thread_exits_DEPENDENCIES =
threaded_fork_SOURCES = threaded-fork.c
threaded_fork_OBJECTS = threaded-fork.$(OBJEXT)
threaded_fork_DEPENDENCIES =
threadederrno_SOURCES = threadederrno.c
threadederrno_OBJECTS = threadederrno-threadederrno.$(OBJEXT)
threadederrno_DEPENDENCIES =
threadederrno_LINK = $(CCLD) $(threadederrno_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
timestamp_SOURCES = timestamp.c
timestamp_OBJECTS = timestamp.$(OBJEXT)
timestamp_LDADD = $(LDADD)
am_tls_OBJECTS = tls.$(OBJEXT) tls2.$(OBJEXT)
tls_OBJECTS = $(am_tls_OBJECTS)
tls_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(tls_LDFLAGS) $(LDFLAGS) -o \
	$@
am_tls_so_OBJECTS = tls_so-tls_so.$(OBJEXT)
tls_so_OBJECTS = $(am_tls_so_OBJECTS)
tls_so_LINK = $(CCLD) $(tls_so_CFLAGS) $(CFLAGS) $(tls_so_LDFLAGS) \
	$(LDFLAGS) -o $@
am_tls2_so_OBJECTS = tls2_so.$(OBJEXT)
tls2_so_OBJECTS = $(am_tls2_so_OBJECTS)
tls2_so_LDADD = $(LDADD)
tls2_so_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(tls2_so_LDFLAGS) \
	$(LDFLAGS) -o $@
unit_debuglog_SOURCES = unit_debuglog.c
unit_debuglog_OBJECTS = unit_debuglog.$(OBJEXT)
unit_debuglog_LDADD = $(LDADD)
am_valgrind_cpp_test_OBJECTS = valgrind_cpp_test.$(OBJEXT)
valgrind_cpp_test_OBJECTS = $(am_valgrind_cpp_test_OBJECTS)
valgrind_cpp_test_DEPENDENCIES =
vgprintf_SOURCES = vgprintf.c
vgprintf_OBJECTS = vgprintf.$(OBJEXT)
vgprintf_LDADD = $(LDADD)
am_vgprintf_nvalgrind_OBJECTS = vgprintf_nvalgrind-vgprintf.$(OBJEXT)
vgprintf_nvalgrind_OBJECTS = $(am_vgprintf_nvalgrind_OBJECTS)
vgprintf_nvalgrind_LDADD = $(LDADD)
vgprintf_nvalgrind_LINK = $(CCLD) $(vgprintf_nvalgrind_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 = ansi.c args.c async-sigs.c bitfield1.c bug129866.c \
	bug234814.c closeall.c $(coolo_sigaction_SOURCES) \
	coolo_strlen.c discard.c exec-sigmask.c execve.c faultstatus.c \
	fcntl_setown.c fdleak_cmsg.c fdleak_creat.c fdleak_dup.c \
	fdleak_dup2.c fdleak_fcntl.c fdleak_ipv4.c fdleak_open.c \
	fdleak_pipe.c fdleak_socketpair.c floored.c fork.c fucomip.c \
	$(gxx304_SOURCES) ifunc.c ioctl_moans.c libvex_test.c \
	$(libvexmultiarch_test_SOURCES) manythreads.c map_unaligned.c \
	map_unmap.c mmap_fcntl_bug.c mq.c munmap_exe.c nestedfns.c \
	nocwd.c pending.c ppoll_alarm.c process_vm_readv_writev.c \
	procfs-cmdline-exe.c pselect_alarm.c pselect_sigmask_null.c \
	pth_2sig.c pth_atfork1.c pth_blockedsig.c pth_cancel1.c \
	pth_cancel2.c pth_cvsimple.c pth_empty.c pth_exit.c \
	pth_exit2.c pth_mutexspeed.c pth_once.c pth_rwlock.c \
	pth_stackalign.c pth_term_signal.c rcrl.c readline1.c \
	require-text-symbol.c res_search.c resolv.c rlimit64_nofile.c \
	rlimit_nofile.c selfrun.c sem.c semlimit.c sha1_test.c \
	shortpush.c shorts.c sigstackgrowth.c sigsusp.c stackgrowth.c \
	syscall-restart1.c syscall-restart2.c syslog.c system.c \
	thread-exits.c threaded-fork.c threadederrno.c timestamp.c \
	$(tls_SOURCES) $(tls_so_SOURCES) $(tls2_so_SOURCES) \
	unit_debuglog.c $(valgrind_cpp_test_SOURCES) vgprintf.c \
	$(vgprintf_nvalgrind_SOURCES)
DIST_SOURCES = ansi.c args.c async-sigs.c bitfield1.c bug129866.c \
	bug234814.c closeall.c $(coolo_sigaction_SOURCES) \
	coolo_strlen.c discard.c exec-sigmask.c execve.c faultstatus.c \
	fcntl_setown.c fdleak_cmsg.c fdleak_creat.c fdleak_dup.c \
	fdleak_dup2.c fdleak_fcntl.c fdleak_ipv4.c fdleak_open.c \
	fdleak_pipe.c fdleak_socketpair.c floored.c fork.c fucomip.c \
	$(gxx304_SOURCES) ifunc.c ioctl_moans.c libvex_test.c \
	$(libvexmultiarch_test_SOURCES) manythreads.c map_unaligned.c \
	map_unmap.c mmap_fcntl_bug.c mq.c munmap_exe.c nestedfns.c \
	nocwd.c pending.c ppoll_alarm.c process_vm_readv_writev.c \
	procfs-cmdline-exe.c pselect_alarm.c pselect_sigmask_null.c \
	pth_2sig.c pth_atfork1.c pth_blockedsig.c pth_cancel1.c \
	pth_cancel2.c pth_cvsimple.c pth_empty.c pth_exit.c \
	pth_exit2.c pth_mutexspeed.c pth_once.c pth_rwlock.c \
	pth_stackalign.c pth_term_signal.c rcrl.c readline1.c \
	require-text-symbol.c res_search.c resolv.c rlimit64_nofile.c \
	rlimit_nofile.c selfrun.c sem.c semlimit.c sha1_test.c \
	shortpush.c shorts.c sigstackgrowth.c sigsusp.c stackgrowth.c \
	syscall-restart1.c syscall-restart2.c syslog.c system.c \
	thread-exits.c threaded-fork.c threadederrno.c timestamp.c \
	$(tls_SOURCES) $(tls_so_SOURCES) $(tls2_so_SOURCES) \
	unit_debuglog.c $(valgrind_cpp_test_SOURCES) vgprintf.c \
	$(vgprintf_nvalgrind_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
	ctags-recursive dvi-recursive html-recursive info-recursive \
	install-data-recursive install-dvi-recursive \
	install-exec-recursive install-html-recursive \
	install-info-recursive install-pdf-recursive \
	install-ps-recursive install-recursive installcheck-recursive \
	installdirs-recursive pdf-recursive ps-recursive \
	tags-recursive uninstall-recursive
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)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
  distclean-recursive maintainer-clean-recursive
am__recursive_targets = \
  $(RECURSIVE_TARGETS) \
  $(RECURSIVE_CLEAN_TARGETS) \
  $(am__extra_recursive_targets)
AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
	distdir
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)
am__relativize = \
  dir0=`pwd`; \
  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
  sed_rest='s,^[^/]*/*,,'; \
  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
  sed_butlast='s,/*[^/]*$$,,'; \
  while test -n "$$dir1"; do \
    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
    if test "$$first" != "."; then \
      if test "$$first" = ".."; then \
        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
      else \
        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
        if test "$$first2" = "$$first"; then \
          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
        else \
          dir2="../$$dir2"; \
        fi; \
        dir0="$$dir0"/"$$first"; \
      fi; \
    fi; \
    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
  done; \
  reldir="$$dir2"
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)
AM_CXXFLAGS = -Winline -Wall -Wshadow -Wno-long-long -g \
	@FLAG_FNO_STACK_PROTECTOR@ $(am__append_7) \
	$(AM_FLAG_M3264_PRI)
# 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)
SUBDIRS = . scripts $(am__append_8) $(am__append_9) $(am__append_10) \
	$(am__append_11) $(am__append_12) $(am__append_13) \
	$(am__append_14) $(am__append_15) $(am__append_16) \
	$(am__append_17) $(am__append_18) $(am__append_19) \
	$(am__append_20) $(am__append_21) $(am__append_22) \
	$(am__append_23) $(am__append_24) $(am__append_25)
DIST_SUBDIRS = x86 amd64 ppc32 ppc64 arm arm64 s390x mips32 mips64 \
               linux darwin solaris amd64-linux x86-linux amd64-darwin \
               x86-darwin amd64-solaris x86-solaris scripts .

dist_noinst_SCRIPTS = \
	filter_cmdline0 \
	filter_cmdline1 \
	filter_fdleak \
	filter_ioctl_moans \
	filter_none_discards \
	filter_stderr \
	filter_timestamp \
	allexec_prepare_prereq

noinst_HEADERS = fdleak.h
EXTRA_DIST = \
	allexec32.stdout.exp allexec32.stderr.exp allexec32.vgtest\
	allexec64.stdout.exp allexec64.stderr.exp allexec64.vgtest\
	ansi.stderr.exp ansi.vgtest \
	args.stderr.exp args.stdout.exp args.vgtest \
	async-sigs.stderr.exp async-sigs.stderr.exp-mips32 \
	async-sigs.vgtest \
	bigcode.vgtest bigcode.stderr.exp bigcode.stdout.exp \
	bitfield1.stderr.exp bitfield1.vgtest \
	bug129866.vgtest bug129866.stderr.exp bug129866.stdout.exp \
	bug234814.vgtest bug234814.stderr.exp bug234814.stdout.exp \
	closeall.stderr.exp closeall.vgtest \
	cmdline0.stderr.exp cmdline0.stdout.exp cmdline0.vgtest \
	cmdline1.stderr.exp cmdline1.stdout.exp cmdline1.vgtest \
	cmdline2.stderr.exp cmdline2.stdout.exp cmdline2.vgtest \
	cmdline3.stderr.exp cmdline3.vgtest \
	cmdline4.stderr.exp cmdline4.vgtest \
	cmdline5.stderr.exp cmdline5.vgtest \
	cmdline6.stderr.exp cmdline6.vgtest \
	cmd-with-special.stderr.exp cmd-with-special.vgtest \
	coolo_sigaction.stderr.exp \
	coolo_sigaction.stdout.exp coolo_sigaction.vgtest \
	coolo_strlen.stderr.exp coolo_strlen.vgtest \
	discard.stderr.exp discard.stdout.exp \
	discard.vgtest \
	empty-exe.vgtest empty-exe.stderr.exp \
	exec-sigmask.vgtest exec-sigmask.stdout.exp \
	exec-sigmask.stdout.exp2 exec-sigmask.stdout.exp3 \
	exec-sigmask.stdout.exp-solaris exec-sigmask.stderr.exp \
	execve.vgtest execve.stdout.exp execve.stderr.exp \
	faultstatus.vgtest faultstatus.stderr.exp faultstatus.stderr.exp-s390x \
	fcntl_setown.vgtest fcntl_setown.stdout.exp fcntl_setown.stderr.exp \
	fdleak_cmsg.stderr.exp fdleak_cmsg.vgtest \
	fdleak_creat.stderr.exp fdleak_creat.vgtest \
	fdleak_dup.stderr.exp fdleak_dup.vgtest \
	fdleak_dup2.stderr.exp fdleak_dup2.vgtest \
	fdleak_fcntl.stderr.exp fdleak_fcntl.vgtest \
	fdleak_ipv4.stderr.exp fdleak_ipv4.stdout.exp fdleak_ipv4.vgtest \
	fdleak_open.stderr.exp fdleak_open.vgtest \
	fdleak_pipe.stderr.exp fdleak_pipe.vgtest \
	fdleak_socketpair.stderr.exp fdleak_socketpair.vgtest \
	floored.stderr.exp floored.stdout.exp floored.vgtest \
	fork.stderr.exp fork.stdout.exp fork.vgtest \
	fucomip.stderr.exp fucomip.vgtest \
	gxx304.stderr.exp gxx304.vgtest \
	ifunc.stderr.exp ifunc.stdout.exp ifunc.vgtest \
	ioctl_moans.stderr.exp ioctl_moans.vgtest \
	libvex_test.stderr.exp libvex_test.vgtest \
	libvexmultiarch_test.stderr.exp libvexmultiarch_test.vgtest \
	manythreads.stdout.exp manythreads.stderr.exp manythreads.vgtest \
	map_unaligned.stderr.exp map_unaligned.vgtest \
	map_unmap.stderr.exp map_unmap.stdout.exp map_unmap.vgtest \
	mmap_fcntl_bug.vgtest mmap_fcntl_bug.stdout.exp \
		mmap_fcntl_bug.stderr.exp \
	mq.stderr.exp mq.vgtest \
	munmap_exe.stderr.exp munmap_exe.vgtest \
	nestedfns.stderr.exp nestedfns.stdout.exp nestedfns.vgtest \
	nocwd.stdout.exp nocwd.stderr.exp nocwd.vgtest \
	nodir.stderr.exp nodir.vgtest \
	pending.stdout.exp pending.stderr.exp pending.vgtest \
	ppoll_alarm.stdout.exp ppoll_alarm.stderr.exp ppoll_alarm.vgtest \
	procfs-linux.stderr.exp-with-readlinkat \
	procfs-linux.stderr.exp-without-readlinkat \
	procfs-linux.vgtest \
	procfs-non-linux.vgtest \
	procfs-non-linux.stderr.exp-with-readlinkat \
	procfs-non-linux.stderr.exp-without-readlinkat \
	pselect_alarm.stdout.exp pselect_alarm.stderr.exp pselect_alarm.vgtest \
	pselect_sigmask_null.vgtest \
	pselect_sigmask_null.stdout.exp pselect_sigmask_null.stderr.exp \
	pth_atfork1.stderr.exp pth_atfork1.stdout.exp pth_atfork1.vgtest \
	pth_blockedsig.stderr.exp \
	pth_blockedsig.stdout.exp pth_blockedsig.vgtest \
	pth_cancel1.stderr.exp pth_cancel1.stdout.exp pth_cancel1.vgtest \
	pth_cancel2.stderr.exp pth_cancel2.vgtest \
	pth_cvsimple.stderr.exp pth_cvsimple.stdout.exp pth_cvsimple.vgtest \
	pth_empty.stderr.exp pth_empty.vgtest \
	pth_exit.stderr.exp pth_exit.vgtest \
	pth_exit2.stderr.exp pth_exit2.vgtest \
	pth_mutexspeed.stderr.exp \
	pth_mutexspeed.stdout.exp pth_mutexspeed.vgtest \
	pth_once.stderr.exp pth_once.stdout.exp pth_once.vgtest \
	pth_rwlock.stderr.exp pth_rwlock.vgtest \
	pth_stackalign.stderr.exp \
	pth_stackalign.stdout.exp pth_stackalign.vgtest \
	pth_2sig.stderr.exp-linux pth_2sig.stderr.exp-solaris pth_2sig.vgtest \
	pth_term_signal.stderr.exp pth_term_signal.vgtest \
	rcrl.stderr.exp rcrl.stdout.exp rcrl.vgtest \
	readline1.stderr.exp readline1.stdout.exp \
	readline1.vgtest \
	require-text-symbol-1.vgtest \
		require-text-symbol-1.stderr.exp \
	require-text-symbol-2.vgtest \
		require-text-symbol-2.stderr.exp-libcso1 \
		require-text-symbol-2.stderr.exp-libcso6 \
	res_search.stderr.exp res_search.stdout.exp res_search.vgtest \
	resolv.stderr.exp resolv.stdout.exp resolv.vgtest \
	rlimit_nofile.stderr.exp rlimit_nofile.stdout.exp rlimit_nofile.vgtest \
	rlimit64_nofile.stderr.exp rlimit64_nofile.stdout.exp rlimit64_nofile.vgtest \
	selfrun.stderr.exp selfrun.stdout.exp selfrun.vgtest \
	sem.stderr.exp sem.stdout.exp sem.vgtest \
	semlimit.stderr.exp semlimit.stdout.exp semlimit.vgtest \
	sha1_test.stderr.exp sha1_test.vgtest \
	shortpush.stderr.exp shortpush.vgtest \
	shorts.stderr.exp shorts.vgtest \
	sigstackgrowth.stdout.exp sigstackgrowth.stderr.exp sigstackgrowth.vgtest \
	sigsusp.stderr.exp sigsusp.vgtest \
	stackgrowth.stdout.exp stackgrowth.stderr.exp stackgrowth.vgtest \
	syscall-restart1.vgtest syscall-restart1.stdout.exp syscall-restart1.stderr.exp \
	syscall-restart2.vgtest syscall-restart2.stdout.exp syscall-restart2.stderr.exp \
	syslog.vgtest syslog.stderr.exp \
	system.stderr.exp system.vgtest \
	thread-exits.stderr.exp thread-exits.stdout.exp thread-exits.vgtest \
	threaded-fork.stderr.exp threaded-fork.stdout.exp threaded-fork.vgtest \
	threadederrno.stderr.exp threadederrno.stdout.exp \
	threadederrno.vgtest \
	timestamp.stderr.exp timestamp.vgtest \
	tls.vgtest tls.stderr.exp tls.stdout.exp  \
	unit_debuglog.stderr.exp unit_debuglog.vgtest \
	vgprintf.stderr.exp vgprintf.vgtest \
	vgprintf_nvalgrind.stderr.exp vgprintf_nvalgrind.vgtest \
	process_vm_readv_writev.stderr.exp process_vm_readv_writev.vgtest


# Extra stuff for C tests
ansi_CFLAGS = $(AM_CFLAGS) -ansi
execve_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
@VGCONF_OS_IS_SOLARIS_TRUE@fcntl_setown_LDADD = -lsocket -lnsl
@VGCONF_OS_IS_SOLARIS_TRUE@fdleak_cmsg_CFLAGS = $(AM_CFLAGS) -std=c99 -D_XOPEN_SOURCE=600
@VGCONF_OS_IS_SOLARIS_TRUE@fdleak_cmsg_LDADD = -lsocket -lnsl
@VGCONF_OS_IS_SOLARIS_TRUE@fdleak_ipv4_LDADD = -lsocket -lnsl
@VGCONF_OS_IS_SOLARIS_TRUE@fdleak_creat_LDADD = -lsocket -lnsl
@VGCONF_OS_IS_SOLARIS_TRUE@fdleak_socketpair_LDADD = -lsocket -lnsl
floored_LDADD = -lm
manythreads_LDADD = -lpthread
@VGCONF_OS_IS_DARWIN_FALSE@nestedfns_CFLAGS = $(AM_CFLAGS)
@VGCONF_OS_IS_DARWIN_TRUE@nestedfns_CFLAGS = $(AM_CFLAGS) -fnested-functions
@VGCONF_OS_IS_DARWIN_FALSE@mq_LDADD = -lrt
libvex_test_CFLAGS = $(AM_CFLAGS) @FLAG_FSANITIZE@
libvex_test_LDADD = ../../VEX/libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a \
			   @LIB_UBSAN@

libvexmultiarch_test_CFLAGS = $(AM_CFLAGS) @FLAG_FSANITIZE@
libvexmultiarch_test_LDADD = \
	../../VEX/libvexmultiarch-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a \
	../../VEX/libvex-@VGCONF_ARCH_PRI@-@VGCONF_OS@.a @LIB_UBSAN@

libvexmultiarch_test_SOURCES = libvex_test.c
ppoll_alarm_LDADD = -lpthread
pselect_alarm_LDADD = -lpthread
pth_atfork1_LDADD = -lpthread
pth_blockedsig_LDADD = -lpthread
pth_cancel1_CFLAGS = $(AM_CFLAGS) -Wno-shadow
pth_cancel1_LDADD = -lpthread
pth_cancel2_LDADD = -lpthread
pth_cvsimple_LDADD = -lpthread
pth_empty_LDADD = -lpthread
pth_exit_LDADD = -lpthread
pth_exit2_LDADD = -lpthread
pth_mutexspeed_LDADD = -lpthread
pth_once_LDADD = -lpthread
pth_rwlock_LDADD = -lpthread
pth_rwlock_CFLAGS = $(AM_CFLAGS) $(am__append_30)
pth_stackalign_LDADD = -lpthread
pth_2sig_LDADD = -lpthread
pth_term_signal_LDADD = -lpthread
res_search_LDADD = -lresolv -lpthread
resolv_CFLAGS = $(AM_CFLAGS) $(am__append_31)
resolv_LDADD = -lresolv -lpthread
semlimit_LDADD = -lpthread
sha1_test_CFLAGS = $(AM_CFLAGS) $(am__append_32)
sigsusp_LDADD = -lpthread
thread_exits_LDADD = -lpthread
threaded_fork_LDADD = -lpthread
threadederrno_CFLAGS = $(AM_CFLAGS) $(am__append_33)
threadederrno_LDADD = -lpthread
tls_SOURCES = tls.c tls2.c
tls_DEPENDENCIES = tls.so tls2.so
tls_LDFLAGS = -Wl,-rpath,$(abs_top_builddir)/none/tests
tls_LDADD = tls.so tls2.so -lpthread
tls_so_SOURCES = tls_so.c
tls_so_DEPENDENCIES = tls2.so
@VGCONF_OS_IS_DARWIN_FALSE@tls_so_LDFLAGS = -Wl,-rpath,$(abs_top_builddir)/none/tests -shared -fPIC
@VGCONF_OS_IS_DARWIN_TRUE@tls_so_LDFLAGS = -dynamic -dynamiclib -all_load -fpic
@VGCONF_OS_IS_DARWIN_FALSE@tls_so_LDADD = tls2.so
@VGCONF_OS_IS_DARWIN_TRUE@tls_so_LDADD = `pwd`/tls2.so
tls_so_CFLAGS = $(AM_CFLAGS) -fPIC
tls2_so_SOURCES = tls2_so.c
@VGCONF_OS_IS_DARWIN_FALSE@tls2_so_LDFLAGS = -shared
@VGCONF_OS_IS_DARWIN_TRUE@tls2_so_LDFLAGS = -dynamic -dynamiclib -all_load
vgprintf_nvalgrind_SOURCES = vgprintf.c
vgprintf_nvalgrind_CFLAGS = -DNVALGRIND
valgrind_cpp_test_SOURCES = valgrind_cpp_test.cpp
valgrind_cpp_test_LDADD = -lstdc++

# C++ tests
coolo_sigaction_SOURCES = coolo_sigaction.cpp
gxx304_SOURCES = gxx304.cpp
all: all-recursive

.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 none/tests/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign none/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)

ansi$(EXEEXT): $(ansi_OBJECTS) $(ansi_DEPENDENCIES) $(EXTRA_ansi_DEPENDENCIES) 
	@rm -f ansi$(EXEEXT)
	$(AM_V_CCLD)$(ansi_LINK) $(ansi_OBJECTS) $(ansi_LDADD) $(LIBS)

args$(EXEEXT): $(args_OBJECTS) $(args_DEPENDENCIES) $(EXTRA_args_DEPENDENCIES) 
	@rm -f args$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(args_OBJECTS) $(args_LDADD) $(LIBS)

async-sigs$(EXEEXT): $(async_sigs_OBJECTS) $(async_sigs_DEPENDENCIES) $(EXTRA_async_sigs_DEPENDENCIES) 
	@rm -f async-sigs$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(async_sigs_OBJECTS) $(async_sigs_LDADD) $(LIBS)

bitfield1$(EXEEXT): $(bitfield1_OBJECTS) $(bitfield1_DEPENDENCIES) $(EXTRA_bitfield1_DEPENDENCIES) 
	@rm -f bitfield1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(bitfield1_OBJECTS) $(bitfield1_LDADD) $(LIBS)

bug129866$(EXEEXT): $(bug129866_OBJECTS) $(bug129866_DEPENDENCIES) $(EXTRA_bug129866_DEPENDENCIES) 
	@rm -f bug129866$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(bug129866_OBJECTS) $(bug129866_LDADD) $(LIBS)

bug234814$(EXEEXT): $(bug234814_OBJECTS) $(bug234814_DEPENDENCIES) $(EXTRA_bug234814_DEPENDENCIES) 
	@rm -f bug234814$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(bug234814_OBJECTS) $(bug234814_LDADD) $(LIBS)

closeall$(EXEEXT): $(closeall_OBJECTS) $(closeall_DEPENDENCIES) $(EXTRA_closeall_DEPENDENCIES) 
	@rm -f closeall$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(closeall_OBJECTS) $(closeall_LDADD) $(LIBS)

coolo_sigaction$(EXEEXT): $(coolo_sigaction_OBJECTS) $(coolo_sigaction_DEPENDENCIES) $(EXTRA_coolo_sigaction_DEPENDENCIES) 
	@rm -f coolo_sigaction$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(coolo_sigaction_OBJECTS) $(coolo_sigaction_LDADD) $(LIBS)

coolo_strlen$(EXEEXT): $(coolo_strlen_OBJECTS) $(coolo_strlen_DEPENDENCIES) $(EXTRA_coolo_strlen_DEPENDENCIES) 
	@rm -f coolo_strlen$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(coolo_strlen_OBJECTS) $(coolo_strlen_LDADD) $(LIBS)

discard$(EXEEXT): $(discard_OBJECTS) $(discard_DEPENDENCIES) $(EXTRA_discard_DEPENDENCIES) 
	@rm -f discard$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(discard_OBJECTS) $(discard_LDADD) $(LIBS)

exec-sigmask$(EXEEXT): $(exec_sigmask_OBJECTS) $(exec_sigmask_DEPENDENCIES) $(EXTRA_exec_sigmask_DEPENDENCIES) 
	@rm -f exec-sigmask$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(exec_sigmask_OBJECTS) $(exec_sigmask_LDADD) $(LIBS)

execve$(EXEEXT): $(execve_OBJECTS) $(execve_DEPENDENCIES) $(EXTRA_execve_DEPENDENCIES) 
	@rm -f execve$(EXEEXT)
	$(AM_V_CCLD)$(execve_LINK) $(execve_OBJECTS) $(execve_LDADD) $(LIBS)

faultstatus$(EXEEXT): $(faultstatus_OBJECTS) $(faultstatus_DEPENDENCIES) $(EXTRA_faultstatus_DEPENDENCIES) 
	@rm -f faultstatus$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(faultstatus_OBJECTS) $(faultstatus_LDADD) $(LIBS)

fcntl_setown$(EXEEXT): $(fcntl_setown_OBJECTS) $(fcntl_setown_DEPENDENCIES) $(EXTRA_fcntl_setown_DEPENDENCIES) 
	@rm -f fcntl_setown$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fcntl_setown_OBJECTS) $(fcntl_setown_LDADD) $(LIBS)

fdleak_cmsg$(EXEEXT): $(fdleak_cmsg_OBJECTS) $(fdleak_cmsg_DEPENDENCIES) $(EXTRA_fdleak_cmsg_DEPENDENCIES) 
	@rm -f fdleak_cmsg$(EXEEXT)
	$(AM_V_CCLD)$(fdleak_cmsg_LINK) $(fdleak_cmsg_OBJECTS) $(fdleak_cmsg_LDADD) $(LIBS)

fdleak_creat$(EXEEXT): $(fdleak_creat_OBJECTS) $(fdleak_creat_DEPENDENCIES) $(EXTRA_fdleak_creat_DEPENDENCIES) 
	@rm -f fdleak_creat$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fdleak_creat_OBJECTS) $(fdleak_creat_LDADD) $(LIBS)

fdleak_dup$(EXEEXT): $(fdleak_dup_OBJECTS) $(fdleak_dup_DEPENDENCIES) $(EXTRA_fdleak_dup_DEPENDENCIES) 
	@rm -f fdleak_dup$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fdleak_dup_OBJECTS) $(fdleak_dup_LDADD) $(LIBS)

fdleak_dup2$(EXEEXT): $(fdleak_dup2_OBJECTS) $(fdleak_dup2_DEPENDENCIES) $(EXTRA_fdleak_dup2_DEPENDENCIES) 
	@rm -f fdleak_dup2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fdleak_dup2_OBJECTS) $(fdleak_dup2_LDADD) $(LIBS)

fdleak_fcntl$(EXEEXT): $(fdleak_fcntl_OBJECTS) $(fdleak_fcntl_DEPENDENCIES) $(EXTRA_fdleak_fcntl_DEPENDENCIES) 
	@rm -f fdleak_fcntl$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fdleak_fcntl_OBJECTS) $(fdleak_fcntl_LDADD) $(LIBS)

fdleak_ipv4$(EXEEXT): $(fdleak_ipv4_OBJECTS) $(fdleak_ipv4_DEPENDENCIES) $(EXTRA_fdleak_ipv4_DEPENDENCIES) 
	@rm -f fdleak_ipv4$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fdleak_ipv4_OBJECTS) $(fdleak_ipv4_LDADD) $(LIBS)

fdleak_open$(EXEEXT): $(fdleak_open_OBJECTS) $(fdleak_open_DEPENDENCIES) $(EXTRA_fdleak_open_DEPENDENCIES) 
	@rm -f fdleak_open$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fdleak_open_OBJECTS) $(fdleak_open_LDADD) $(LIBS)

fdleak_pipe$(EXEEXT): $(fdleak_pipe_OBJECTS) $(fdleak_pipe_DEPENDENCIES) $(EXTRA_fdleak_pipe_DEPENDENCIES) 
	@rm -f fdleak_pipe$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fdleak_pipe_OBJECTS) $(fdleak_pipe_LDADD) $(LIBS)

fdleak_socketpair$(EXEEXT): $(fdleak_socketpair_OBJECTS) $(fdleak_socketpair_DEPENDENCIES) $(EXTRA_fdleak_socketpair_DEPENDENCIES) 
	@rm -f fdleak_socketpair$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fdleak_socketpair_OBJECTS) $(fdleak_socketpair_LDADD) $(LIBS)

floored$(EXEEXT): $(floored_OBJECTS) $(floored_DEPENDENCIES) $(EXTRA_floored_DEPENDENCIES) 
	@rm -f floored$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(floored_OBJECTS) $(floored_LDADD) $(LIBS)

fork$(EXEEXT): $(fork_OBJECTS) $(fork_DEPENDENCIES) $(EXTRA_fork_DEPENDENCIES) 
	@rm -f fork$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fork_OBJECTS) $(fork_LDADD) $(LIBS)

fucomip$(EXEEXT): $(fucomip_OBJECTS) $(fucomip_DEPENDENCIES) $(EXTRA_fucomip_DEPENDENCIES) 
	@rm -f fucomip$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(fucomip_OBJECTS) $(fucomip_LDADD) $(LIBS)

gxx304$(EXEEXT): $(gxx304_OBJECTS) $(gxx304_DEPENDENCIES) $(EXTRA_gxx304_DEPENDENCIES) 
	@rm -f gxx304$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(gxx304_OBJECTS) $(gxx304_LDADD) $(LIBS)

ifunc$(EXEEXT): $(ifunc_OBJECTS) $(ifunc_DEPENDENCIES) $(EXTRA_ifunc_DEPENDENCIES) 
	@rm -f ifunc$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(ifunc_OBJECTS) $(ifunc_LDADD) $(LIBS)

ioctl_moans$(EXEEXT): $(ioctl_moans_OBJECTS) $(ioctl_moans_DEPENDENCIES) $(EXTRA_ioctl_moans_DEPENDENCIES) 
	@rm -f ioctl_moans$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(ioctl_moans_OBJECTS) $(ioctl_moans_LDADD) $(LIBS)

libvex_test$(EXEEXT): $(libvex_test_OBJECTS) $(libvex_test_DEPENDENCIES) $(EXTRA_libvex_test_DEPENDENCIES) 
	@rm -f libvex_test$(EXEEXT)
	$(AM_V_CCLD)$(libvex_test_LINK) $(libvex_test_OBJECTS) $(libvex_test_LDADD) $(LIBS)

libvexmultiarch_test$(EXEEXT): $(libvexmultiarch_test_OBJECTS) $(libvexmultiarch_test_DEPENDENCIES) $(EXTRA_libvexmultiarch_test_DEPENDENCIES) 
	@rm -f libvexmultiarch_test$(EXEEXT)
	$(AM_V_CCLD)$(libvexmultiarch_test_LINK) $(libvexmultiarch_test_OBJECTS) $(libvexmultiarch_test_LDADD) $(LIBS)

manythreads$(EXEEXT): $(manythreads_OBJECTS) $(manythreads_DEPENDENCIES) $(EXTRA_manythreads_DEPENDENCIES) 
	@rm -f manythreads$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(manythreads_OBJECTS) $(manythreads_LDADD) $(LIBS)

map_unaligned$(EXEEXT): $(map_unaligned_OBJECTS) $(map_unaligned_DEPENDENCIES) $(EXTRA_map_unaligned_DEPENDENCIES) 
	@rm -f map_unaligned$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(map_unaligned_OBJECTS) $(map_unaligned_LDADD) $(LIBS)

map_unmap$(EXEEXT): $(map_unmap_OBJECTS) $(map_unmap_DEPENDENCIES) $(EXTRA_map_unmap_DEPENDENCIES) 
	@rm -f map_unmap$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(map_unmap_OBJECTS) $(map_unmap_LDADD) $(LIBS)

mmap_fcntl_bug$(EXEEXT): $(mmap_fcntl_bug_OBJECTS) $(mmap_fcntl_bug_DEPENDENCIES) $(EXTRA_mmap_fcntl_bug_DEPENDENCIES) 
	@rm -f mmap_fcntl_bug$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(mmap_fcntl_bug_OBJECTS) $(mmap_fcntl_bug_LDADD) $(LIBS)

mq$(EXEEXT): $(mq_OBJECTS) $(mq_DEPENDENCIES) $(EXTRA_mq_DEPENDENCIES) 
	@rm -f mq$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(mq_OBJECTS) $(mq_LDADD) $(LIBS)

munmap_exe$(EXEEXT): $(munmap_exe_OBJECTS) $(munmap_exe_DEPENDENCIES) $(EXTRA_munmap_exe_DEPENDENCIES) 
	@rm -f munmap_exe$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(munmap_exe_OBJECTS) $(munmap_exe_LDADD) $(LIBS)

nestedfns$(EXEEXT): $(nestedfns_OBJECTS) $(nestedfns_DEPENDENCIES) $(EXTRA_nestedfns_DEPENDENCIES) 
	@rm -f nestedfns$(EXEEXT)
	$(AM_V_CCLD)$(nestedfns_LINK) $(nestedfns_OBJECTS) $(nestedfns_LDADD) $(LIBS)

nocwd$(EXEEXT): $(nocwd_OBJECTS) $(nocwd_DEPENDENCIES) $(EXTRA_nocwd_DEPENDENCIES) 
	@rm -f nocwd$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(nocwd_OBJECTS) $(nocwd_LDADD) $(LIBS)

pending$(EXEEXT): $(pending_OBJECTS) $(pending_DEPENDENCIES) $(EXTRA_pending_DEPENDENCIES) 
	@rm -f pending$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pending_OBJECTS) $(pending_LDADD) $(LIBS)

ppoll_alarm$(EXEEXT): $(ppoll_alarm_OBJECTS) $(ppoll_alarm_DEPENDENCIES) $(EXTRA_ppoll_alarm_DEPENDENCIES) 
	@rm -f ppoll_alarm$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(ppoll_alarm_OBJECTS) $(ppoll_alarm_LDADD) $(LIBS)

process_vm_readv_writev$(EXEEXT): $(process_vm_readv_writev_OBJECTS) $(process_vm_readv_writev_DEPENDENCIES) $(EXTRA_process_vm_readv_writev_DEPENDENCIES) 
	@rm -f process_vm_readv_writev$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(process_vm_readv_writev_OBJECTS) $(process_vm_readv_writev_LDADD) $(LIBS)

procfs-cmdline-exe$(EXEEXT): $(procfs_cmdline_exe_OBJECTS) $(procfs_cmdline_exe_DEPENDENCIES) $(EXTRA_procfs_cmdline_exe_DEPENDENCIES) 
	@rm -f procfs-cmdline-exe$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(procfs_cmdline_exe_OBJECTS) $(procfs_cmdline_exe_LDADD) $(LIBS)

pselect_alarm$(EXEEXT): $(pselect_alarm_OBJECTS) $(pselect_alarm_DEPENDENCIES) $(EXTRA_pselect_alarm_DEPENDENCIES) 
	@rm -f pselect_alarm$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pselect_alarm_OBJECTS) $(pselect_alarm_LDADD) $(LIBS)

pselect_sigmask_null$(EXEEXT): $(pselect_sigmask_null_OBJECTS) $(pselect_sigmask_null_DEPENDENCIES) $(EXTRA_pselect_sigmask_null_DEPENDENCIES) 
	@rm -f pselect_sigmask_null$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pselect_sigmask_null_OBJECTS) $(pselect_sigmask_null_LDADD) $(LIBS)

pth_2sig$(EXEEXT): $(pth_2sig_OBJECTS) $(pth_2sig_DEPENDENCIES) $(EXTRA_pth_2sig_DEPENDENCIES) 
	@rm -f pth_2sig$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_2sig_OBJECTS) $(pth_2sig_LDADD) $(LIBS)

pth_atfork1$(EXEEXT): $(pth_atfork1_OBJECTS) $(pth_atfork1_DEPENDENCIES) $(EXTRA_pth_atfork1_DEPENDENCIES) 
	@rm -f pth_atfork1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_atfork1_OBJECTS) $(pth_atfork1_LDADD) $(LIBS)

pth_blockedsig$(EXEEXT): $(pth_blockedsig_OBJECTS) $(pth_blockedsig_DEPENDENCIES) $(EXTRA_pth_blockedsig_DEPENDENCIES) 
	@rm -f pth_blockedsig$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_blockedsig_OBJECTS) $(pth_blockedsig_LDADD) $(LIBS)

pth_cancel1$(EXEEXT): $(pth_cancel1_OBJECTS) $(pth_cancel1_DEPENDENCIES) $(EXTRA_pth_cancel1_DEPENDENCIES) 
	@rm -f pth_cancel1$(EXEEXT)
	$(AM_V_CCLD)$(pth_cancel1_LINK) $(pth_cancel1_OBJECTS) $(pth_cancel1_LDADD) $(LIBS)

pth_cancel2$(EXEEXT): $(pth_cancel2_OBJECTS) $(pth_cancel2_DEPENDENCIES) $(EXTRA_pth_cancel2_DEPENDENCIES) 
	@rm -f pth_cancel2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_cancel2_OBJECTS) $(pth_cancel2_LDADD) $(LIBS)

pth_cvsimple$(EXEEXT): $(pth_cvsimple_OBJECTS) $(pth_cvsimple_DEPENDENCIES) $(EXTRA_pth_cvsimple_DEPENDENCIES) 
	@rm -f pth_cvsimple$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_cvsimple_OBJECTS) $(pth_cvsimple_LDADD) $(LIBS)

pth_empty$(EXEEXT): $(pth_empty_OBJECTS) $(pth_empty_DEPENDENCIES) $(EXTRA_pth_empty_DEPENDENCIES) 
	@rm -f pth_empty$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_empty_OBJECTS) $(pth_empty_LDADD) $(LIBS)

pth_exit$(EXEEXT): $(pth_exit_OBJECTS) $(pth_exit_DEPENDENCIES) $(EXTRA_pth_exit_DEPENDENCIES) 
	@rm -f pth_exit$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_exit_OBJECTS) $(pth_exit_LDADD) $(LIBS)

pth_exit2$(EXEEXT): $(pth_exit2_OBJECTS) $(pth_exit2_DEPENDENCIES) $(EXTRA_pth_exit2_DEPENDENCIES) 
	@rm -f pth_exit2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_exit2_OBJECTS) $(pth_exit2_LDADD) $(LIBS)

pth_mutexspeed$(EXEEXT): $(pth_mutexspeed_OBJECTS) $(pth_mutexspeed_DEPENDENCIES) $(EXTRA_pth_mutexspeed_DEPENDENCIES) 
	@rm -f pth_mutexspeed$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_mutexspeed_OBJECTS) $(pth_mutexspeed_LDADD) $(LIBS)

pth_once$(EXEEXT): $(pth_once_OBJECTS) $(pth_once_DEPENDENCIES) $(EXTRA_pth_once_DEPENDENCIES) 
	@rm -f pth_once$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_once_OBJECTS) $(pth_once_LDADD) $(LIBS)

pth_rwlock$(EXEEXT): $(pth_rwlock_OBJECTS) $(pth_rwlock_DEPENDENCIES) $(EXTRA_pth_rwlock_DEPENDENCIES) 
	@rm -f pth_rwlock$(EXEEXT)
	$(AM_V_CCLD)$(pth_rwlock_LINK) $(pth_rwlock_OBJECTS) $(pth_rwlock_LDADD) $(LIBS)

pth_stackalign$(EXEEXT): $(pth_stackalign_OBJECTS) $(pth_stackalign_DEPENDENCIES) $(EXTRA_pth_stackalign_DEPENDENCIES) 
	@rm -f pth_stackalign$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_stackalign_OBJECTS) $(pth_stackalign_LDADD) $(LIBS)

pth_term_signal$(EXEEXT): $(pth_term_signal_OBJECTS) $(pth_term_signal_DEPENDENCIES) $(EXTRA_pth_term_signal_DEPENDENCIES) 
	@rm -f pth_term_signal$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(pth_term_signal_OBJECTS) $(pth_term_signal_LDADD) $(LIBS)

rcrl$(EXEEXT): $(rcrl_OBJECTS) $(rcrl_DEPENDENCIES) $(EXTRA_rcrl_DEPENDENCIES) 
	@rm -f rcrl$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(rcrl_OBJECTS) $(rcrl_LDADD) $(LIBS)

readline1$(EXEEXT): $(readline1_OBJECTS) $(readline1_DEPENDENCIES) $(EXTRA_readline1_DEPENDENCIES) 
	@rm -f readline1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(readline1_OBJECTS) $(readline1_LDADD) $(LIBS)

require-text-symbol$(EXEEXT): $(require_text_symbol_OBJECTS) $(require_text_symbol_DEPENDENCIES) $(EXTRA_require_text_symbol_DEPENDENCIES) 
	@rm -f require-text-symbol$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(require_text_symbol_OBJECTS) $(require_text_symbol_LDADD) $(LIBS)

res_search$(EXEEXT): $(res_search_OBJECTS) $(res_search_DEPENDENCIES) $(EXTRA_res_search_DEPENDENCIES) 
	@rm -f res_search$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(res_search_OBJECTS) $(res_search_LDADD) $(LIBS)

resolv$(EXEEXT): $(resolv_OBJECTS) $(resolv_DEPENDENCIES) $(EXTRA_resolv_DEPENDENCIES) 
	@rm -f resolv$(EXEEXT)
	$(AM_V_CCLD)$(resolv_LINK) $(resolv_OBJECTS) $(resolv_LDADD) $(LIBS)

rlimit64_nofile$(EXEEXT): $(rlimit64_nofile_OBJECTS) $(rlimit64_nofile_DEPENDENCIES) $(EXTRA_rlimit64_nofile_DEPENDENCIES) 
	@rm -f rlimit64_nofile$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(rlimit64_nofile_OBJECTS) $(rlimit64_nofile_LDADD) $(LIBS)

rlimit_nofile$(EXEEXT): $(rlimit_nofile_OBJECTS) $(rlimit_nofile_DEPENDENCIES) $(EXTRA_rlimit_nofile_DEPENDENCIES) 
	@rm -f rlimit_nofile$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(rlimit_nofile_OBJECTS) $(rlimit_nofile_LDADD) $(LIBS)

selfrun$(EXEEXT): $(selfrun_OBJECTS) $(selfrun_DEPENDENCIES) $(EXTRA_selfrun_DEPENDENCIES) 
	@rm -f selfrun$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(selfrun_OBJECTS) $(selfrun_LDADD) $(LIBS)

sem$(EXEEXT): $(sem_OBJECTS) $(sem_DEPENDENCIES) $(EXTRA_sem_DEPENDENCIES) 
	@rm -f sem$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sem_OBJECTS) $(sem_LDADD) $(LIBS)

semlimit$(EXEEXT): $(semlimit_OBJECTS) $(semlimit_DEPENDENCIES) $(EXTRA_semlimit_DEPENDENCIES) 
	@rm -f semlimit$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(semlimit_OBJECTS) $(semlimit_LDADD) $(LIBS)

sha1_test$(EXEEXT): $(sha1_test_OBJECTS) $(sha1_test_DEPENDENCIES) $(EXTRA_sha1_test_DEPENDENCIES) 
	@rm -f sha1_test$(EXEEXT)
	$(AM_V_CCLD)$(sha1_test_LINK) $(sha1_test_OBJECTS) $(sha1_test_LDADD) $(LIBS)

shortpush$(EXEEXT): $(shortpush_OBJECTS) $(shortpush_DEPENDENCIES) $(EXTRA_shortpush_DEPENDENCIES) 
	@rm -f shortpush$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(shortpush_OBJECTS) $(shortpush_LDADD) $(LIBS)

shorts$(EXEEXT): $(shorts_OBJECTS) $(shorts_DEPENDENCIES) $(EXTRA_shorts_DEPENDENCIES) 
	@rm -f shorts$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(shorts_OBJECTS) $(shorts_LDADD) $(LIBS)

sigstackgrowth$(EXEEXT): $(sigstackgrowth_OBJECTS) $(sigstackgrowth_DEPENDENCIES) $(EXTRA_sigstackgrowth_DEPENDENCIES) 
	@rm -f sigstackgrowth$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sigstackgrowth_OBJECTS) $(sigstackgrowth_LDADD) $(LIBS)

sigsusp$(EXEEXT): $(sigsusp_OBJECTS) $(sigsusp_DEPENDENCIES) $(EXTRA_sigsusp_DEPENDENCIES) 
	@rm -f sigsusp$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(sigsusp_OBJECTS) $(sigsusp_LDADD) $(LIBS)

stackgrowth$(EXEEXT): $(stackgrowth_OBJECTS) $(stackgrowth_DEPENDENCIES) $(EXTRA_stackgrowth_DEPENDENCIES) 
	@rm -f stackgrowth$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(stackgrowth_OBJECTS) $(stackgrowth_LDADD) $(LIBS)

syscall-restart1$(EXEEXT): $(syscall_restart1_OBJECTS) $(syscall_restart1_DEPENDENCIES) $(EXTRA_syscall_restart1_DEPENDENCIES) 
	@rm -f syscall-restart1$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(syscall_restart1_OBJECTS) $(syscall_restart1_LDADD) $(LIBS)

syscall-restart2$(EXEEXT): $(syscall_restart2_OBJECTS) $(syscall_restart2_DEPENDENCIES) $(EXTRA_syscall_restart2_DEPENDENCIES) 
	@rm -f syscall-restart2$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(syscall_restart2_OBJECTS) $(syscall_restart2_LDADD) $(LIBS)

syslog$(EXEEXT): $(syslog_OBJECTS) $(syslog_DEPENDENCIES) $(EXTRA_syslog_DEPENDENCIES) 
	@rm -f syslog$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(syslog_OBJECTS) $(syslog_LDADD) $(LIBS)

system$(EXEEXT): $(system_OBJECTS) $(system_DEPENDENCIES) $(EXTRA_system_DEPENDENCIES) 
	@rm -f system$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(system_OBJECTS) $(system_LDADD) $(LIBS)

thread-exits$(EXEEXT): $(thread_exits_OBJECTS) $(thread_exits_DEPENDENCIES) $(EXTRA_thread_exits_DEPENDENCIES) 
	@rm -f thread-exits$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(thread_exits_OBJECTS) $(thread_exits_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)

threadederrno$(EXEEXT): $(threadederrno_OBJECTS) $(threadederrno_DEPENDENCIES) $(EXTRA_threadederrno_DEPENDENCIES) 
	@rm -f threadederrno$(EXEEXT)
	$(AM_V_CCLD)$(threadederrno_LINK) $(threadederrno_OBJECTS) $(threadederrno_LDADD) $(LIBS)

timestamp$(EXEEXT): $(timestamp_OBJECTS) $(timestamp_DEPENDENCIES) $(EXTRA_timestamp_DEPENDENCIES) 
	@rm -f timestamp$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(timestamp_OBJECTS) $(timestamp_LDADD) $(LIBS)

tls$(EXEEXT): $(tls_OBJECTS) $(tls_DEPENDENCIES) $(EXTRA_tls_DEPENDENCIES) 
	@rm -f tls$(EXEEXT)
	$(AM_V_CCLD)$(tls_LINK) $(tls_OBJECTS) $(tls_LDADD) $(LIBS)

tls.so$(EXEEXT): $(tls_so_OBJECTS) $(tls_so_DEPENDENCIES) $(EXTRA_tls_so_DEPENDENCIES) 
	@rm -f tls.so$(EXEEXT)
	$(AM_V_CCLD)$(tls_so_LINK) $(tls_so_OBJECTS) $(tls_so_LDADD) $(LIBS)

tls2.so$(EXEEXT): $(tls2_so_OBJECTS) $(tls2_so_DEPENDENCIES) $(EXTRA_tls2_so_DEPENDENCIES) 
	@rm -f tls2.so$(EXEEXT)
	$(AM_V_CCLD)$(tls2_so_LINK) $(tls2_so_OBJECTS) $(tls2_so_LDADD) $(LIBS)

unit_debuglog$(EXEEXT): $(unit_debuglog_OBJECTS) $(unit_debuglog_DEPENDENCIES) $(EXTRA_unit_debuglog_DEPENDENCIES) 
	@rm -f unit_debuglog$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(unit_debuglog_OBJECTS) $(unit_debuglog_LDADD) $(LIBS)

valgrind_cpp_test$(EXEEXT): $(valgrind_cpp_test_OBJECTS) $(valgrind_cpp_test_DEPENDENCIES) $(EXTRA_valgrind_cpp_test_DEPENDENCIES) 
	@rm -f valgrind_cpp_test$(EXEEXT)
	$(AM_V_CXXLD)$(CXXLINK) $(valgrind_cpp_test_OBJECTS) $(valgrind_cpp_test_LDADD) $(LIBS)

vgprintf$(EXEEXT): $(vgprintf_OBJECTS) $(vgprintf_DEPENDENCIES) $(EXTRA_vgprintf_DEPENDENCIES) 
	@rm -f vgprintf$(EXEEXT)
	$(AM_V_CCLD)$(LINK) $(vgprintf_OBJECTS) $(vgprintf_LDADD) $(LIBS)

vgprintf_nvalgrind$(EXEEXT): $(vgprintf_nvalgrind_OBJECTS) $(vgprintf_nvalgrind_DEPENDENCIES) $(EXTRA_vgprintf_nvalgrind_DEPENDENCIES) 
	@rm -f vgprintf_nvalgrind$(EXEEXT)
	$(AM_V_CCLD)$(vgprintf_nvalgrind_LINK) $(vgprintf_nvalgrind_OBJECTS) $(vgprintf_nvalgrind_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ansi-ansi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/args.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/async-sigs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitfield1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug129866.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bug234814.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/closeall.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coolo_sigaction.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/coolo_strlen.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/discard.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exec-sigmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/execve-execve.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/faultstatus.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fcntl_setown.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdleak_cmsg-fdleak_cmsg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdleak_creat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdleak_dup.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdleak_dup2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdleak_fcntl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdleak_ipv4.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdleak_open.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdleak_pipe.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fdleak_socketpair.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/floored.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fork.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fucomip.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gxx304.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ifunc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioctl_moans.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvex_test-libvex_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libvexmultiarch_test-libvex_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/manythreads.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map_unaligned.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/map_unmap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mmap_fcntl_bug.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mq.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/munmap_exe.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nestedfns-nestedfns.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/nocwd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pending.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ppoll_alarm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/process_vm_readv_writev.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/procfs-cmdline-exe.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect_alarm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pselect_sigmask_null.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_2sig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_atfork1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_blockedsig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_cancel1-pth_cancel1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_cancel2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_cvsimple.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_empty.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_exit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_exit2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_mutexspeed.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_once.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_rwlock-pth_rwlock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_stackalign.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pth_term_signal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rcrl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readline1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/require-text-symbol.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/res_search.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resolv-resolv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlimit64_nofile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rlimit_nofile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/selfrun.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sem.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/semlimit.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1_test-sha1_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shortpush.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shorts.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigstackgrowth.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigsusp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stackgrowth.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syscall-restart1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syscall-restart2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/syslog.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/system.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread-exits.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threaded-fork.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threadederrno-threadederrno.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timestamp.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls2_so.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tls_so-tls_so.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unit_debuglog.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/valgrind_cpp_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vgprintf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/vgprintf_nvalgrind-vgprintf.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) '$<'`

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
	set x; \
	here=`pwd`; \
	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
	  include_option=--etags-include; \
	  empty_fix=.; \
	else \
	  include_option=--include; \
	  empty_fix=; \
	fi; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test ! -f $$subdir/TAGS || \
	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
	  fi; \
	done; \
	$(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-recursive

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-recursive

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

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

installcheck: installcheck-recursive
install-strip:
	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-recursive

clean-am: clean-checkPROGRAMS clean-generic clean-local mostlyclean-am

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

dvi: dvi-recursive

dvi-am:

html: html-recursive

html-am:

info: info-recursive

info-am:

install-data-am:

install-dvi: install-dvi-recursive

install-dvi-am:

install-exec-am:

install-html: install-html-recursive

install-html-am:

install-info: install-info-recursive

install-info-am:

install-man:

install-pdf: install-pdf-recursive

install-pdf-am:

install-ps: install-ps-recursive

install-ps-am:

installcheck-am:

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

mostlyclean: mostlyclean-recursive

mostlyclean-am: mostlyclean-compile mostlyclean-generic

pdf: pdf-recursive

pdf-am:

ps: ps-recursive

ps-am:

uninstall-am:

.MAKE: $(am__recursive_targets) check-am install-am install-strip

.PHONY: $(am__recursive_targets) 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 installdirs-am \
	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:
