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

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006, 2007, 2008, 2009  Free Software Foundation,
# Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

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

@SET_MAKE@

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

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

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

VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = $(dist_noinst_SCRIPTS) $(srcdir)/Makefile.am \
	$(srcdir)/Makefile.in $(top_srcdir)/Makefile.all.am \
	$(top_srcdir)/Makefile.tool-tests.am

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

check_PROGRAMS = $(am__EXEEXT_1) allexec$(EXEEXT) op00$(EXEEXT)
subdir = none/tests/s390x
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__EXEEXT_1 = clc$(EXEEXT) clcle$(EXEEXT) cvb$(EXEEXT) cvd$(EXEEXT) \
	icm$(EXEEXT) lpr$(EXEEXT) tcxb$(EXEEXT) lam_stam$(EXEEXT) \
	xc$(EXEEXT) mvst$(EXEEXT) add$(EXEEXT) sub$(EXEEXT) \
	mul$(EXEEXT) and$(EXEEXT) or$(EXEEXT) xor$(EXEEXT) \
	insert$(EXEEXT) div$(EXEEXT) srst$(EXEEXT) fold_And16$(EXEEXT) \
	flogr$(EXEEXT) sub_EI$(EXEEXT) add_EI$(EXEEXT) and_EI$(EXEEXT) \
	or_EI$(EXEEXT) xor_EI$(EXEEXT) insert_EI$(EXEEXT) \
	mul_GE$(EXEEXT) add_GE$(EXEEXT) condloadstore$(EXEEXT) \
	op_exception$(EXEEXT) fgx$(EXEEXT) stck$(EXEEXT) \
	stckf$(EXEEXT) stcke$(EXEEXT) stfle$(EXEEXT) cksm$(EXEEXT) \
	mvcl$(EXEEXT) clcl$(EXEEXT) troo$(EXEEXT) trto$(EXEEXT) \
	trot$(EXEEXT) trtt$(EXEEXT) tr$(EXEEXT) tre$(EXEEXT) \
	cij$(EXEEXT) cgij$(EXEEXT) clij$(EXEEXT) clgij$(EXEEXT) \
	crj$(EXEEXT) cgrj$(EXEEXT) clrj$(EXEEXT) clgrj$(EXEEXT) \
	cs$(EXEEXT) csg$(EXEEXT) cds$(EXEEXT) cdsg$(EXEEXT) \
	cu21$(EXEEXT) cu21_1$(EXEEXT) cu24$(EXEEXT) cu24_1$(EXEEXT) \
	cu42$(EXEEXT) cu12$(EXEEXT) cu12_1$(EXEEXT) ex_sig$(EXEEXT) \
	ex_clone$(EXEEXT) cu14$(EXEEXT) cu14_1$(EXEEXT) cu41$(EXEEXT) \
	fpconv$(EXEEXT)
add_SOURCES = add.c
add_OBJECTS = add.$(OBJEXT)
add_LDADD = $(LDADD)
add_EI_SOURCES = add_EI.c
add_EI_OBJECTS = add_EI.$(OBJEXT)
add_EI_LDADD = $(LDADD)
add_GE_SOURCES = add_GE.c
add_GE_OBJECTS = add_GE.$(OBJEXT)
add_GE_LDADD = $(LDADD)
allexec_SOURCES = allexec.c
allexec_OBJECTS = allexec-allexec.$(OBJEXT)
allexec_LDADD = $(LDADD)
allexec_LINK = $(CCLD) $(allexec_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
and_SOURCES = and.c
and_OBJECTS = and.$(OBJEXT)
and_LDADD = $(LDADD)
and_EI_SOURCES = and_EI.c
and_EI_OBJECTS = and_EI.$(OBJEXT)
and_EI_LDADD = $(LDADD)
cds_SOURCES = cds.c
cds_OBJECTS = cds.$(OBJEXT)
cds_LDADD = $(LDADD)
cdsg_SOURCES = cdsg.c
cdsg_OBJECTS = cdsg.$(OBJEXT)
cdsg_LDADD = $(LDADD)
cgij_SOURCES = cgij.c
cgij_OBJECTS = cgij.$(OBJEXT)
cgij_LDADD = $(LDADD)
cgrj_SOURCES = cgrj.c
cgrj_OBJECTS = cgrj.$(OBJEXT)
cgrj_LDADD = $(LDADD)
cij_SOURCES = cij.c
cij_OBJECTS = cij.$(OBJEXT)
cij_LDADD = $(LDADD)
cksm_SOURCES = cksm.c
cksm_OBJECTS = cksm.$(OBJEXT)
cksm_LDADD = $(LDADD)
clc_SOURCES = clc.c
clc_OBJECTS = clc.$(OBJEXT)
clc_LDADD = $(LDADD)
clcl_SOURCES = clcl.c
clcl_OBJECTS = clcl.$(OBJEXT)
clcl_LDADD = $(LDADD)
clcle_SOURCES = clcle.c
clcle_OBJECTS = clcle.$(OBJEXT)
clcle_LDADD = $(LDADD)
clgij_SOURCES = clgij.c
clgij_OBJECTS = clgij.$(OBJEXT)
clgij_LDADD = $(LDADD)
clgrj_SOURCES = clgrj.c
clgrj_OBJECTS = clgrj.$(OBJEXT)
clgrj_LDADD = $(LDADD)
clij_SOURCES = clij.c
clij_OBJECTS = clij.$(OBJEXT)
clij_LDADD = $(LDADD)
clrj_SOURCES = clrj.c
clrj_OBJECTS = clrj.$(OBJEXT)
clrj_LDADD = $(LDADD)
condloadstore_SOURCES = condloadstore.c
condloadstore_OBJECTS = condloadstore.$(OBJEXT)
condloadstore_LDADD = $(LDADD)
crj_SOURCES = crj.c
crj_OBJECTS = crj.$(OBJEXT)
crj_LDADD = $(LDADD)
cs_SOURCES = cs.c
cs_OBJECTS = cs.$(OBJEXT)
cs_LDADD = $(LDADD)
csg_SOURCES = csg.c
csg_OBJECTS = csg.$(OBJEXT)
csg_LDADD = $(LDADD)
cu12_SOURCES = cu12.c
cu12_OBJECTS = cu12.$(OBJEXT)
cu12_LDADD = $(LDADD)
cu12_1_SOURCES = cu12_1.c
cu12_1_OBJECTS = cu12_1-cu12_1.$(OBJEXT)
cu12_1_LDADD = $(LDADD)
cu12_1_LINK = $(CCLD) $(cu12_1_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
cu14_SOURCES = cu14.c
cu14_OBJECTS = cu14.$(OBJEXT)
cu14_LDADD = $(LDADD)
cu14_1_SOURCES = cu14_1.c
cu14_1_OBJECTS = cu14_1-cu14_1.$(OBJEXT)
cu14_1_LDADD = $(LDADD)
cu14_1_LINK = $(CCLD) $(cu14_1_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
cu21_SOURCES = cu21.c
cu21_OBJECTS = cu21.$(OBJEXT)
cu21_LDADD = $(LDADD)
cu21_1_SOURCES = cu21_1.c
cu21_1_OBJECTS = cu21_1-cu21_1.$(OBJEXT)
cu21_1_LDADD = $(LDADD)
cu21_1_LINK = $(CCLD) $(cu21_1_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
cu24_SOURCES = cu24.c
cu24_OBJECTS = cu24.$(OBJEXT)
cu24_LDADD = $(LDADD)
cu24_1_SOURCES = cu24_1.c
cu24_1_OBJECTS = cu24_1-cu24_1.$(OBJEXT)
cu24_1_LDADD = $(LDADD)
cu24_1_LINK = $(CCLD) $(cu24_1_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
cu41_SOURCES = cu41.c
cu41_OBJECTS = cu41.$(OBJEXT)
cu41_LDADD = $(LDADD)
cu42_SOURCES = cu42.c
cu42_OBJECTS = cu42.$(OBJEXT)
cu42_LDADD = $(LDADD)
cvb_SOURCES = cvb.c
cvb_OBJECTS = cvb.$(OBJEXT)
cvb_LDADD = $(LDADD)
cvd_SOURCES = cvd.c
cvd_OBJECTS = cvd.$(OBJEXT)
cvd_LDADD = $(LDADD)
div_SOURCES = div.c
div_OBJECTS = div.$(OBJEXT)
div_LDADD = $(LDADD)
ex_clone_SOURCES = ex_clone.c
ex_clone_OBJECTS = ex_clone.$(OBJEXT)
ex_clone_LDADD = $(LDADD)
ex_clone_LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(ex_clone_LDFLAGS) \
	$(LDFLAGS) -o $@
ex_sig_SOURCES = ex_sig.c
ex_sig_OBJECTS = ex_sig.$(OBJEXT)
ex_sig_LDADD = $(LDADD)
fgx_SOURCES = fgx.c
fgx_OBJECTS = fgx.$(OBJEXT)
fgx_LDADD = $(LDADD)
flogr_SOURCES = flogr.c
flogr_OBJECTS = flogr.$(OBJEXT)
flogr_LDADD = $(LDADD)
fold_And16_SOURCES = fold_And16.c
fold_And16_OBJECTS = fold_And16.$(OBJEXT)
fold_And16_LDADD = $(LDADD)
fpconv_SOURCES = fpconv.c
fpconv_OBJECTS = fpconv.$(OBJEXT)
fpconv_LDADD = $(LDADD)
icm_SOURCES = icm.c
icm_OBJECTS = icm.$(OBJEXT)
icm_LDADD = $(LDADD)
insert_SOURCES = insert.c
insert_OBJECTS = insert.$(OBJEXT)
insert_LDADD = $(LDADD)
insert_EI_SOURCES = insert_EI.c
insert_EI_OBJECTS = insert_EI.$(OBJEXT)
insert_EI_LDADD = $(LDADD)
lam_stam_SOURCES = lam_stam.c
lam_stam_OBJECTS = lam_stam.$(OBJEXT)
lam_stam_LDADD = $(LDADD)
lpr_SOURCES = lpr.c
lpr_OBJECTS = lpr.$(OBJEXT)
lpr_LDADD = $(LDADD)
mul_SOURCES = mul.c
mul_OBJECTS = mul.$(OBJEXT)
mul_LDADD = $(LDADD)
mul_GE_SOURCES = mul_GE.c
mul_GE_OBJECTS = mul_GE.$(OBJEXT)
mul_GE_LDADD = $(LDADD)
mvcl_SOURCES = mvcl.c
mvcl_OBJECTS = mvcl.$(OBJEXT)
mvcl_LDADD = $(LDADD)
mvst_SOURCES = mvst.c
mvst_OBJECTS = mvst.$(OBJEXT)
mvst_LDADD = $(LDADD)
op00_SOURCES = op00.c
op00_OBJECTS = op00.$(OBJEXT)
op00_LDADD = $(LDADD)
op_exception_SOURCES = op_exception.c
op_exception_OBJECTS = op_exception.$(OBJEXT)
op_exception_LDADD = $(LDADD)
or_SOURCES = or.c
or_OBJECTS = or.$(OBJEXT)
or_LDADD = $(LDADD)
or_EI_SOURCES = or_EI.c
or_EI_OBJECTS = or_EI.$(OBJEXT)
or_EI_LDADD = $(LDADD)
srst_SOURCES = srst.c
srst_OBJECTS = srst.$(OBJEXT)
srst_LDADD = $(LDADD)
stck_SOURCES = stck.c
stck_OBJECTS = stck.$(OBJEXT)
stck_LDADD = $(LDADD)
stcke_SOURCES = stcke.c
stcke_OBJECTS = stcke.$(OBJEXT)
stcke_LDADD = $(LDADD)
stckf_SOURCES = stckf.c
stckf_OBJECTS = stckf.$(OBJEXT)
stckf_LDADD = $(LDADD)
stfle_SOURCES = stfle.c
stfle_OBJECTS = stfle.$(OBJEXT)
stfle_LDADD = $(LDADD)
sub_SOURCES = sub.c
sub_OBJECTS = sub.$(OBJEXT)
sub_LDADD = $(LDADD)
sub_EI_SOURCES = sub_EI.c
sub_EI_OBJECTS = sub_EI.$(OBJEXT)
sub_EI_LDADD = $(LDADD)
tcxb_SOURCES = tcxb.c
tcxb_OBJECTS = tcxb-tcxb.$(OBJEXT)
tcxb_LDADD = $(LDADD)
tcxb_LINK = $(CCLD) $(tcxb_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
	-o $@
tr_SOURCES = tr.c
tr_OBJECTS = tr.$(OBJEXT)
tr_LDADD = $(LDADD)
tre_SOURCES = tre.c
tre_OBJECTS = tre.$(OBJEXT)
tre_LDADD = $(LDADD)
troo_SOURCES = troo.c
troo_OBJECTS = troo.$(OBJEXT)
troo_LDADD = $(LDADD)
trot_SOURCES = trot.c
trot_OBJECTS = trot.$(OBJEXT)
trot_LDADD = $(LDADD)
trto_SOURCES = trto.c
trto_OBJECTS = trto.$(OBJEXT)
trto_LDADD = $(LDADD)
trtt_SOURCES = trtt.c
trtt_OBJECTS = trtt.$(OBJEXT)
trtt_LDADD = $(LDADD)
xc_SOURCES = xc.c
xc_OBJECTS = xc.$(OBJEXT)
xc_LDADD = $(LDADD)
xor_SOURCES = xor.c
xor_OBJECTS = xor.$(OBJEXT)
xor_LDADD = $(LDADD)
xor_EI_SOURCES = xor_EI.c
xor_EI_OBJECTS = xor_EI.$(OBJEXT)
xor_EI_LDADD = $(LDADD)
SCRIPTS = $(dist_noinst_SCRIPTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = add.c add_EI.c add_GE.c allexec.c and.c and_EI.c cds.c \
	cdsg.c cgij.c cgrj.c cij.c cksm.c clc.c clcl.c clcle.c clgij.c \
	clgrj.c clij.c clrj.c condloadstore.c crj.c cs.c csg.c cu12.c \
	cu12_1.c cu14.c cu14_1.c cu21.c cu21_1.c cu24.c cu24_1.c \
	cu41.c cu42.c cvb.c cvd.c div.c ex_clone.c ex_sig.c fgx.c \
	flogr.c fold_And16.c fpconv.c icm.c insert.c insert_EI.c \
	lam_stam.c lpr.c mul.c mul_GE.c mvcl.c mvst.c op00.c \
	op_exception.c or.c or_EI.c srst.c stck.c stcke.c stckf.c \
	stfle.c sub.c sub_EI.c tcxb.c tr.c tre.c troo.c trot.c trto.c \
	trtt.c xc.c xor.c xor_EI.c
DIST_SOURCES = add.c add_EI.c add_GE.c allexec.c and.c and_EI.c cds.c \
	cdsg.c cgij.c cgrj.c cij.c cksm.c clc.c clcl.c clcle.c clgij.c \
	clgrj.c clij.c clrj.c condloadstore.c crj.c cs.c csg.c cu12.c \
	cu12_1.c cu14.c cu14_1.c cu21.c cu21_1.c cu24.c cu24_1.c \
	cu41.c cu42.c cvb.c cvd.c div.c ex_clone.c ex_sig.c fgx.c \
	flogr.c fold_And16.c fpconv.c icm.c insert.c insert_EI.c \
	lam_stam.c lpr.c mul.c mul_GE.c mvcl.c mvst.c op00.c \
	op_exception.c or.c or_EI.c srst.c stck.c stcke.c stckf.c \
	stfle.c sub.c sub_EI.c tcxb.c tr.c tre.c troo.c trot.c trto.c \
	trtt.c xc.c xor.c xor_EI.c
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BOOST_CFLAGS = @BOOST_CFLAGS@
BOOST_LIBS = @BOOST_LIBS@
CC = @CC@
CCAS = @CCAS@
CCASDEPMODE = @CCASDEPMODE@
CCASFLAGS = @CCASFLAGS@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAGS_MPI = @CFLAGS_MPI@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFAULT_SUPP = @DEFAULT_SUPP@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DIFF = @DIFF@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FLAG_FNO_STACK_PROTECTOR = @FLAG_FNO_STACK_PROTECTOR@
FLAG_M32 = @FLAG_M32@
FLAG_M64 = @FLAG_M64@
FLAG_MMMX = @FLAG_MMMX@
FLAG_MSSE = @FLAG_MSSE@
FLAG_NO_BUILD_ID = @FLAG_NO_BUILD_ID@
FLAG_UNLIMITED_INLINE_UNIT_GROWTH = @FLAG_UNLIMITED_INLINE_UNIT_GROWTH@
FLAG_W_EXTRA = @FLAG_W_EXTRA@
FLAG_W_NO_EMPTY_BODY = @FLAG_W_NO_EMPTY_BODY@
FLAG_W_NO_FORMAT_ZERO_LENGTH = @FLAG_W_NO_FORMAT_ZERO_LENGTH@
FLAG_W_NO_NONNULL = @FLAG_W_NO_NONNULL@
FLAG_W_NO_OVERFLOW = @FLAG_W_NO_OVERFLOW@
FLAG_W_NO_UNINITIALIZED = @FLAG_W_NO_UNINITIALIZED@
GDB = @GDB@
GLIBC_VERSION = @GLIBC_VERSION@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LDFLAGS_MPI = @LDFLAGS_MPI@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
MPI_CC = @MPI_CC@
OBJEXT = @OBJEXT@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PERL = @PERL@
PREFERRED_STACK_BOUNDARY = @PREFERRED_STACK_BOUNDARY@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VALT_LOAD_ADDRESS_PRI = @VALT_LOAD_ADDRESS_PRI@
VALT_LOAD_ADDRESS_SEC = @VALT_LOAD_ADDRESS_SEC@
VERSION = @VERSION@
VGCONF_ARCH_PRI = @VGCONF_ARCH_PRI@
VGCONF_ARCH_SEC = @VGCONF_ARCH_SEC@
VGCONF_OS = @VGCONF_OS@
VGCONF_PLATFORM_PRI_CAPS = @VGCONF_PLATFORM_PRI_CAPS@
VGCONF_PLATFORM_SEC_CAPS = @VGCONF_PLATFORM_SEC_CAPS@
VGCONF_PLATVARIANT = @VGCONF_PLATVARIANT@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
inplacedir = $(top_builddir)/.in_place

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

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

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


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


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

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

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

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

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

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

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

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

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

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

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

# Nb: Tools need to augment these flags with an arch-selection option, such
# as $(AM_FLAG_M3264_PRI).
AM_CFLAGS = -Winline -Wall -Wshadow -g @FLAG_M64@
AM_CXXFLAGS = -Winline -Wall -Wshadow -g @FLAG_M64@
# 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) @FLAG_M64@
@VGCONF_OS_IS_DARWIN_TRUE@noinst_DSYMS = $(check_PROGRAMS)
dist_noinst_SCRIPTS = filter_stderr
INSN_TESTS = clc clcle cvb cvd icm lpr tcxb lam_stam xc mvst add sub mul \
             and or xor insert div srst fold_And16 flogr sub_EI add_EI \
             and_EI or_EI xor_EI insert_EI mul_GE add_GE condloadstore \
             op_exception fgx stck stckf stcke stfle cksm mvcl clcl troo \
             trto trot trtt tr tre cij cgij clij clgij crj cgrj clrj clgrj \
             cs csg cds cdsg cu21 cu21_1 cu24 cu24_1 cu42 cu12 cu12_1 \
             ex_sig ex_clone cu14 cu14_1 cu41 fpconv

EXTRA_DIST = \
	$(addsuffix .stderr.exp,$(INSN_TESTS)) \
	$(addsuffix .stdout.exp,$(INSN_TESTS)) \
	$(addsuffix .vgtest,$(INSN_TESTS)) \
	op00.stderr.exp1 op00.stderr.exp2 op00.vgtest \
	test.h opcodes.h add.h  and.h  div.h  insert.h \
	mul.h  or.h  sub.h  test.h  xor.h table.h

allexec_CFLAGS = $(AM_CFLAGS) @FLAG_W_NO_NONNULL@
tcxb_CFLAGS = $(AM_CFLAGS) -std=gnu99
cu12_1_CFLAGS = $(AM_CFLAGS) -DM3=1
cu14_1_CFLAGS = $(AM_CFLAGS) -DM3=1
cu21_1_CFLAGS = $(AM_CFLAGS) -DM3=1
cu24_1_CFLAGS = $(AM_CFLAGS) -DM3=1
ex_clone_LDFLAGS = -lpthread
all: all-am

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

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

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

clean-checkPROGRAMS:
	-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
add$(EXEEXT): $(add_OBJECTS) $(add_DEPENDENCIES) 
	@rm -f add$(EXEEXT)
	$(LINK) $(add_OBJECTS) $(add_LDADD) $(LIBS)
add_EI$(EXEEXT): $(add_EI_OBJECTS) $(add_EI_DEPENDENCIES) 
	@rm -f add_EI$(EXEEXT)
	$(LINK) $(add_EI_OBJECTS) $(add_EI_LDADD) $(LIBS)
add_GE$(EXEEXT): $(add_GE_OBJECTS) $(add_GE_DEPENDENCIES) 
	@rm -f add_GE$(EXEEXT)
	$(LINK) $(add_GE_OBJECTS) $(add_GE_LDADD) $(LIBS)
allexec$(EXEEXT): $(allexec_OBJECTS) $(allexec_DEPENDENCIES) 
	@rm -f allexec$(EXEEXT)
	$(allexec_LINK) $(allexec_OBJECTS) $(allexec_LDADD) $(LIBS)
and$(EXEEXT): $(and_OBJECTS) $(and_DEPENDENCIES) 
	@rm -f and$(EXEEXT)
	$(LINK) $(and_OBJECTS) $(and_LDADD) $(LIBS)
and_EI$(EXEEXT): $(and_EI_OBJECTS) $(and_EI_DEPENDENCIES) 
	@rm -f and_EI$(EXEEXT)
	$(LINK) $(and_EI_OBJECTS) $(and_EI_LDADD) $(LIBS)
cds$(EXEEXT): $(cds_OBJECTS) $(cds_DEPENDENCIES) 
	@rm -f cds$(EXEEXT)
	$(LINK) $(cds_OBJECTS) $(cds_LDADD) $(LIBS)
cdsg$(EXEEXT): $(cdsg_OBJECTS) $(cdsg_DEPENDENCIES) 
	@rm -f cdsg$(EXEEXT)
	$(LINK) $(cdsg_OBJECTS) $(cdsg_LDADD) $(LIBS)
cgij$(EXEEXT): $(cgij_OBJECTS) $(cgij_DEPENDENCIES) 
	@rm -f cgij$(EXEEXT)
	$(LINK) $(cgij_OBJECTS) $(cgij_LDADD) $(LIBS)
cgrj$(EXEEXT): $(cgrj_OBJECTS) $(cgrj_DEPENDENCIES) 
	@rm -f cgrj$(EXEEXT)
	$(LINK) $(cgrj_OBJECTS) $(cgrj_LDADD) $(LIBS)
cij$(EXEEXT): $(cij_OBJECTS) $(cij_DEPENDENCIES) 
	@rm -f cij$(EXEEXT)
	$(LINK) $(cij_OBJECTS) $(cij_LDADD) $(LIBS)
cksm$(EXEEXT): $(cksm_OBJECTS) $(cksm_DEPENDENCIES) 
	@rm -f cksm$(EXEEXT)
	$(LINK) $(cksm_OBJECTS) $(cksm_LDADD) $(LIBS)
clc$(EXEEXT): $(clc_OBJECTS) $(clc_DEPENDENCIES) 
	@rm -f clc$(EXEEXT)
	$(LINK) $(clc_OBJECTS) $(clc_LDADD) $(LIBS)
clcl$(EXEEXT): $(clcl_OBJECTS) $(clcl_DEPENDENCIES) 
	@rm -f clcl$(EXEEXT)
	$(LINK) $(clcl_OBJECTS) $(clcl_LDADD) $(LIBS)
clcle$(EXEEXT): $(clcle_OBJECTS) $(clcle_DEPENDENCIES) 
	@rm -f clcle$(EXEEXT)
	$(LINK) $(clcle_OBJECTS) $(clcle_LDADD) $(LIBS)
clgij$(EXEEXT): $(clgij_OBJECTS) $(clgij_DEPENDENCIES) 
	@rm -f clgij$(EXEEXT)
	$(LINK) $(clgij_OBJECTS) $(clgij_LDADD) $(LIBS)
clgrj$(EXEEXT): $(clgrj_OBJECTS) $(clgrj_DEPENDENCIES) 
	@rm -f clgrj$(EXEEXT)
	$(LINK) $(clgrj_OBJECTS) $(clgrj_LDADD) $(LIBS)
clij$(EXEEXT): $(clij_OBJECTS) $(clij_DEPENDENCIES) 
	@rm -f clij$(EXEEXT)
	$(LINK) $(clij_OBJECTS) $(clij_LDADD) $(LIBS)
clrj$(EXEEXT): $(clrj_OBJECTS) $(clrj_DEPENDENCIES) 
	@rm -f clrj$(EXEEXT)
	$(LINK) $(clrj_OBJECTS) $(clrj_LDADD) $(LIBS)
condloadstore$(EXEEXT): $(condloadstore_OBJECTS) $(condloadstore_DEPENDENCIES) 
	@rm -f condloadstore$(EXEEXT)
	$(LINK) $(condloadstore_OBJECTS) $(condloadstore_LDADD) $(LIBS)
crj$(EXEEXT): $(crj_OBJECTS) $(crj_DEPENDENCIES) 
	@rm -f crj$(EXEEXT)
	$(LINK) $(crj_OBJECTS) $(crj_LDADD) $(LIBS)
cs$(EXEEXT): $(cs_OBJECTS) $(cs_DEPENDENCIES) 
	@rm -f cs$(EXEEXT)
	$(LINK) $(cs_OBJECTS) $(cs_LDADD) $(LIBS)
csg$(EXEEXT): $(csg_OBJECTS) $(csg_DEPENDENCIES) 
	@rm -f csg$(EXEEXT)
	$(LINK) $(csg_OBJECTS) $(csg_LDADD) $(LIBS)
cu12$(EXEEXT): $(cu12_OBJECTS) $(cu12_DEPENDENCIES) 
	@rm -f cu12$(EXEEXT)
	$(LINK) $(cu12_OBJECTS) $(cu12_LDADD) $(LIBS)
cu12_1$(EXEEXT): $(cu12_1_OBJECTS) $(cu12_1_DEPENDENCIES) 
	@rm -f cu12_1$(EXEEXT)
	$(cu12_1_LINK) $(cu12_1_OBJECTS) $(cu12_1_LDADD) $(LIBS)
cu14$(EXEEXT): $(cu14_OBJECTS) $(cu14_DEPENDENCIES) 
	@rm -f cu14$(EXEEXT)
	$(LINK) $(cu14_OBJECTS) $(cu14_LDADD) $(LIBS)
cu14_1$(EXEEXT): $(cu14_1_OBJECTS) $(cu14_1_DEPENDENCIES) 
	@rm -f cu14_1$(EXEEXT)
	$(cu14_1_LINK) $(cu14_1_OBJECTS) $(cu14_1_LDADD) $(LIBS)
cu21$(EXEEXT): $(cu21_OBJECTS) $(cu21_DEPENDENCIES) 
	@rm -f cu21$(EXEEXT)
	$(LINK) $(cu21_OBJECTS) $(cu21_LDADD) $(LIBS)
cu21_1$(EXEEXT): $(cu21_1_OBJECTS) $(cu21_1_DEPENDENCIES) 
	@rm -f cu21_1$(EXEEXT)
	$(cu21_1_LINK) $(cu21_1_OBJECTS) $(cu21_1_LDADD) $(LIBS)
cu24$(EXEEXT): $(cu24_OBJECTS) $(cu24_DEPENDENCIES) 
	@rm -f cu24$(EXEEXT)
	$(LINK) $(cu24_OBJECTS) $(cu24_LDADD) $(LIBS)
cu24_1$(EXEEXT): $(cu24_1_OBJECTS) $(cu24_1_DEPENDENCIES) 
	@rm -f cu24_1$(EXEEXT)
	$(cu24_1_LINK) $(cu24_1_OBJECTS) $(cu24_1_LDADD) $(LIBS)
cu41$(EXEEXT): $(cu41_OBJECTS) $(cu41_DEPENDENCIES) 
	@rm -f cu41$(EXEEXT)
	$(LINK) $(cu41_OBJECTS) $(cu41_LDADD) $(LIBS)
cu42$(EXEEXT): $(cu42_OBJECTS) $(cu42_DEPENDENCIES) 
	@rm -f cu42$(EXEEXT)
	$(LINK) $(cu42_OBJECTS) $(cu42_LDADD) $(LIBS)
cvb$(EXEEXT): $(cvb_OBJECTS) $(cvb_DEPENDENCIES) 
	@rm -f cvb$(EXEEXT)
	$(LINK) $(cvb_OBJECTS) $(cvb_LDADD) $(LIBS)
cvd$(EXEEXT): $(cvd_OBJECTS) $(cvd_DEPENDENCIES) 
	@rm -f cvd$(EXEEXT)
	$(LINK) $(cvd_OBJECTS) $(cvd_LDADD) $(LIBS)
div$(EXEEXT): $(div_OBJECTS) $(div_DEPENDENCIES) 
	@rm -f div$(EXEEXT)
	$(LINK) $(div_OBJECTS) $(div_LDADD) $(LIBS)
ex_clone$(EXEEXT): $(ex_clone_OBJECTS) $(ex_clone_DEPENDENCIES) 
	@rm -f ex_clone$(EXEEXT)
	$(ex_clone_LINK) $(ex_clone_OBJECTS) $(ex_clone_LDADD) $(LIBS)
ex_sig$(EXEEXT): $(ex_sig_OBJECTS) $(ex_sig_DEPENDENCIES) 
	@rm -f ex_sig$(EXEEXT)
	$(LINK) $(ex_sig_OBJECTS) $(ex_sig_LDADD) $(LIBS)
fgx$(EXEEXT): $(fgx_OBJECTS) $(fgx_DEPENDENCIES) 
	@rm -f fgx$(EXEEXT)
	$(LINK) $(fgx_OBJECTS) $(fgx_LDADD) $(LIBS)
flogr$(EXEEXT): $(flogr_OBJECTS) $(flogr_DEPENDENCIES) 
	@rm -f flogr$(EXEEXT)
	$(LINK) $(flogr_OBJECTS) $(flogr_LDADD) $(LIBS)
fold_And16$(EXEEXT): $(fold_And16_OBJECTS) $(fold_And16_DEPENDENCIES) 
	@rm -f fold_And16$(EXEEXT)
	$(LINK) $(fold_And16_OBJECTS) $(fold_And16_LDADD) $(LIBS)
fpconv$(EXEEXT): $(fpconv_OBJECTS) $(fpconv_DEPENDENCIES) 
	@rm -f fpconv$(EXEEXT)
	$(LINK) $(fpconv_OBJECTS) $(fpconv_LDADD) $(LIBS)
icm$(EXEEXT): $(icm_OBJECTS) $(icm_DEPENDENCIES) 
	@rm -f icm$(EXEEXT)
	$(LINK) $(icm_OBJECTS) $(icm_LDADD) $(LIBS)
insert$(EXEEXT): $(insert_OBJECTS) $(insert_DEPENDENCIES) 
	@rm -f insert$(EXEEXT)
	$(LINK) $(insert_OBJECTS) $(insert_LDADD) $(LIBS)
insert_EI$(EXEEXT): $(insert_EI_OBJECTS) $(insert_EI_DEPENDENCIES) 
	@rm -f insert_EI$(EXEEXT)
	$(LINK) $(insert_EI_OBJECTS) $(insert_EI_LDADD) $(LIBS)
lam_stam$(EXEEXT): $(lam_stam_OBJECTS) $(lam_stam_DEPENDENCIES) 
	@rm -f lam_stam$(EXEEXT)
	$(LINK) $(lam_stam_OBJECTS) $(lam_stam_LDADD) $(LIBS)
lpr$(EXEEXT): $(lpr_OBJECTS) $(lpr_DEPENDENCIES) 
	@rm -f lpr$(EXEEXT)
	$(LINK) $(lpr_OBJECTS) $(lpr_LDADD) $(LIBS)
mul$(EXEEXT): $(mul_OBJECTS) $(mul_DEPENDENCIES) 
	@rm -f mul$(EXEEXT)
	$(LINK) $(mul_OBJECTS) $(mul_LDADD) $(LIBS)
mul_GE$(EXEEXT): $(mul_GE_OBJECTS) $(mul_GE_DEPENDENCIES) 
	@rm -f mul_GE$(EXEEXT)
	$(LINK) $(mul_GE_OBJECTS) $(mul_GE_LDADD) $(LIBS)
mvcl$(EXEEXT): $(mvcl_OBJECTS) $(mvcl_DEPENDENCIES) 
	@rm -f mvcl$(EXEEXT)
	$(LINK) $(mvcl_OBJECTS) $(mvcl_LDADD) $(LIBS)
mvst$(EXEEXT): $(mvst_OBJECTS) $(mvst_DEPENDENCIES) 
	@rm -f mvst$(EXEEXT)
	$(LINK) $(mvst_OBJECTS) $(mvst_LDADD) $(LIBS)
op00$(EXEEXT): $(op00_OBJECTS) $(op00_DEPENDENCIES) 
	@rm -f op00$(EXEEXT)
	$(LINK) $(op00_OBJECTS) $(op00_LDADD) $(LIBS)
op_exception$(EXEEXT): $(op_exception_OBJECTS) $(op_exception_DEPENDENCIES) 
	@rm -f op_exception$(EXEEXT)
	$(LINK) $(op_exception_OBJECTS) $(op_exception_LDADD) $(LIBS)
or$(EXEEXT): $(or_OBJECTS) $(or_DEPENDENCIES) 
	@rm -f or$(EXEEXT)
	$(LINK) $(or_OBJECTS) $(or_LDADD) $(LIBS)
or_EI$(EXEEXT): $(or_EI_OBJECTS) $(or_EI_DEPENDENCIES) 
	@rm -f or_EI$(EXEEXT)
	$(LINK) $(or_EI_OBJECTS) $(or_EI_LDADD) $(LIBS)
srst$(EXEEXT): $(srst_OBJECTS) $(srst_DEPENDENCIES) 
	@rm -f srst$(EXEEXT)
	$(LINK) $(srst_OBJECTS) $(srst_LDADD) $(LIBS)
stck$(EXEEXT): $(stck_OBJECTS) $(stck_DEPENDENCIES) 
	@rm -f stck$(EXEEXT)
	$(LINK) $(stck_OBJECTS) $(stck_LDADD) $(LIBS)
stcke$(EXEEXT): $(stcke_OBJECTS) $(stcke_DEPENDENCIES) 
	@rm -f stcke$(EXEEXT)
	$(LINK) $(stcke_OBJECTS) $(stcke_LDADD) $(LIBS)
stckf$(EXEEXT): $(stckf_OBJECTS) $(stckf_DEPENDENCIES) 
	@rm -f stckf$(EXEEXT)
	$(LINK) $(stckf_OBJECTS) $(stckf_LDADD) $(LIBS)
stfle$(EXEEXT): $(stfle_OBJECTS) $(stfle_DEPENDENCIES) 
	@rm -f stfle$(EXEEXT)
	$(LINK) $(stfle_OBJECTS) $(stfle_LDADD) $(LIBS)
sub$(EXEEXT): $(sub_OBJECTS) $(sub_DEPENDENCIES) 
	@rm -f sub$(EXEEXT)
	$(LINK) $(sub_OBJECTS) $(sub_LDADD) $(LIBS)
sub_EI$(EXEEXT): $(sub_EI_OBJECTS) $(sub_EI_DEPENDENCIES) 
	@rm -f sub_EI$(EXEEXT)
	$(LINK) $(sub_EI_OBJECTS) $(sub_EI_LDADD) $(LIBS)
tcxb$(EXEEXT): $(tcxb_OBJECTS) $(tcxb_DEPENDENCIES) 
	@rm -f tcxb$(EXEEXT)
	$(tcxb_LINK) $(tcxb_OBJECTS) $(tcxb_LDADD) $(LIBS)
tr$(EXEEXT): $(tr_OBJECTS) $(tr_DEPENDENCIES) 
	@rm -f tr$(EXEEXT)
	$(LINK) $(tr_OBJECTS) $(tr_LDADD) $(LIBS)
tre$(EXEEXT): $(tre_OBJECTS) $(tre_DEPENDENCIES) 
	@rm -f tre$(EXEEXT)
	$(LINK) $(tre_OBJECTS) $(tre_LDADD) $(LIBS)
troo$(EXEEXT): $(troo_OBJECTS) $(troo_DEPENDENCIES) 
	@rm -f troo$(EXEEXT)
	$(LINK) $(troo_OBJECTS) $(troo_LDADD) $(LIBS)
trot$(EXEEXT): $(trot_OBJECTS) $(trot_DEPENDENCIES) 
	@rm -f trot$(EXEEXT)
	$(LINK) $(trot_OBJECTS) $(trot_LDADD) $(LIBS)
trto$(EXEEXT): $(trto_OBJECTS) $(trto_DEPENDENCIES) 
	@rm -f trto$(EXEEXT)
	$(LINK) $(trto_OBJECTS) $(trto_LDADD) $(LIBS)
trtt$(EXEEXT): $(trtt_OBJECTS) $(trtt_DEPENDENCIES) 
	@rm -f trtt$(EXEEXT)
	$(LINK) $(trtt_OBJECTS) $(trtt_LDADD) $(LIBS)
xc$(EXEEXT): $(xc_OBJECTS) $(xc_DEPENDENCIES) 
	@rm -f xc$(EXEEXT)
	$(LINK) $(xc_OBJECTS) $(xc_LDADD) $(LIBS)
xor$(EXEEXT): $(xor_OBJECTS) $(xor_DEPENDENCIES) 
	@rm -f xor$(EXEEXT)
	$(LINK) $(xor_OBJECTS) $(xor_LDADD) $(LIBS)
xor_EI$(EXEEXT): $(xor_EI_OBJECTS) $(xor_EI_DEPENDENCIES) 
	@rm -f xor_EI$(EXEEXT)
	$(LINK) $(xor_EI_OBJECTS) $(xor_EI_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_EI.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_GE.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allexec-allexec.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/and.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/and_EI.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cds.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cdsg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cgij.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cgrj.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cij.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cksm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clcl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clcle.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clgij.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clgrj.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clij.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/clrj.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/condloadstore.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crj.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/csg.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu12.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu12_1-cu12_1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu14.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu14_1-cu14_1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu21.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu21_1-cu21_1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu24.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu24_1-cu24_1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu41.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cu42.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cvb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/cvd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/div.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex_clone.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ex_sig.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fgx.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flogr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fold_And16.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fpconv.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/icm.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insert.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/insert_EI.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lam_stam.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lpr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mul.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mul_GE.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mvcl.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mvst.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op00.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_exception.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/or.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/or_EI.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/srst.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stck.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stcke.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stckf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stfle.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sub.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sub_EI.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcxb-tcxb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tre.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/troo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trot.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trto.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trtt.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xor.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xor_EI.Po@am__quote@

.c.o:
@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c $<

.c.obj:
@am__fastdepCC_TRUE@	$(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCC_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`

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

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

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

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

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

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

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

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

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

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

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

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

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

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	shift; \
	if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  if test $$# -gt 0; then \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      "$$@" $$unique; \
	  else \
	    $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	      $$unique; \
	  fi; \
	fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	list='$(SOURCES) $(HEADERS)  $(LISP) $(TAGS_FILES)'; \
	unique=`for i in $$list; do \
	    if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
	  done | \
	  $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
	      END { if (nonempty) { for (i in files) print i; }; }'`; \
	test -z "$(CTAGS_ARGS)$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$unique

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

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

distdir: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
	$(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS)
	$(MAKE) $(AM_MAKEFLAGS) check-local
check: check-am
all-am: Makefile $(SCRIPTS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

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

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

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

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

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

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

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

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

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

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

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


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

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

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

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

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

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

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

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

check-local: build-noinst_DSYMS

clean-local: clean-noinst_DSYMS

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