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

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

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

@SET_MAKE@

VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@HAVE_BIN_TRUE@bin_PROGRAMS = fstarcsort$(EXEEXT) fstclosure$(EXEEXT) \
@HAVE_BIN_TRUE@	fstcompile$(EXEEXT) fstcompose$(EXEEXT) \
@HAVE_BIN_TRUE@	fstconcat$(EXEEXT) fstconnect$(EXEEXT) \
@HAVE_BIN_TRUE@	fstconvert$(EXEEXT) fstdeterminize$(EXEEXT) \
@HAVE_BIN_TRUE@	fstdifference$(EXEEXT) fstdraw$(EXEEXT) \
@HAVE_BIN_TRUE@	fstencode$(EXEEXT) fstepsnormalize$(EXEEXT) \
@HAVE_BIN_TRUE@	fstequal$(EXEEXT) fstequivalent$(EXEEXT) \
@HAVE_BIN_TRUE@	fstinfo$(EXEEXT) fstintersect$(EXEEXT) \
@HAVE_BIN_TRUE@	fstinvert$(EXEEXT) fstmap$(EXEEXT) \
@HAVE_BIN_TRUE@	fstminimize$(EXEEXT) fstprint$(EXEEXT) \
@HAVE_BIN_TRUE@	fstproject$(EXEEXT) fstprune$(EXEEXT) \
@HAVE_BIN_TRUE@	fstpush$(EXEEXT) fstrandgen$(EXEEXT) \
@HAVE_BIN_TRUE@	fstrelabel$(EXEEXT) fstreplace$(EXEEXT) \
@HAVE_BIN_TRUE@	fstreverse$(EXEEXT) fstreweight$(EXEEXT) \
@HAVE_BIN_TRUE@	fstrmepsilon$(EXEEXT) \
@HAVE_BIN_TRUE@	fstshortestdistance$(EXEEXT) \
@HAVE_BIN_TRUE@	fstshortestpath$(EXEEXT) fstsymbols$(EXEEXT) \
@HAVE_BIN_TRUE@	fstsynchronize$(EXEEXT) fsttopsort$(EXEEXT) \
@HAVE_BIN_TRUE@	fstunion$(EXEEXT)
subdir = src/bin
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
	$(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
	$(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h \
	$(top_builddir)/src/include/fst/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am__fstarcsort_SOURCES_DIST = fstarcsort.cc
@HAVE_BIN_TRUE@am_fstarcsort_OBJECTS = fstarcsort.$(OBJEXT)
fstarcsort_OBJECTS = $(am_fstarcsort_OBJECTS)
fstarcsort_LDADD = $(LDADD)
fstarcsort_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstclosure_SOURCES_DIST = fstclosure.cc
@HAVE_BIN_TRUE@am_fstclosure_OBJECTS = fstclosure.$(OBJEXT)
fstclosure_OBJECTS = $(am_fstclosure_OBJECTS)
fstclosure_LDADD = $(LDADD)
fstclosure_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstcompile_SOURCES_DIST = fstcompile.cc
@HAVE_BIN_TRUE@am_fstcompile_OBJECTS = fstcompile.$(OBJEXT)
fstcompile_OBJECTS = $(am_fstcompile_OBJECTS)
fstcompile_LDADD = $(LDADD)
fstcompile_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstcompose_SOURCES_DIST = fstcompose.cc
@HAVE_BIN_TRUE@am_fstcompose_OBJECTS = fstcompose.$(OBJEXT)
fstcompose_OBJECTS = $(am_fstcompose_OBJECTS)
fstcompose_LDADD = $(LDADD)
fstcompose_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstconcat_SOURCES_DIST = fstconcat.cc
@HAVE_BIN_TRUE@am_fstconcat_OBJECTS = fstconcat.$(OBJEXT)
fstconcat_OBJECTS = $(am_fstconcat_OBJECTS)
fstconcat_LDADD = $(LDADD)
fstconcat_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstconnect_SOURCES_DIST = fstconnect.cc
@HAVE_BIN_TRUE@am_fstconnect_OBJECTS = fstconnect.$(OBJEXT)
fstconnect_OBJECTS = $(am_fstconnect_OBJECTS)
fstconnect_LDADD = $(LDADD)
fstconnect_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstconvert_SOURCES_DIST = fstconvert.cc
@HAVE_BIN_TRUE@am_fstconvert_OBJECTS = fstconvert.$(OBJEXT)
fstconvert_OBJECTS = $(am_fstconvert_OBJECTS)
fstconvert_LDADD = $(LDADD)
fstconvert_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstdeterminize_SOURCES_DIST = fstdeterminize.cc
@HAVE_BIN_TRUE@am_fstdeterminize_OBJECTS = fstdeterminize.$(OBJEXT)
fstdeterminize_OBJECTS = $(am_fstdeterminize_OBJECTS)
fstdeterminize_LDADD = $(LDADD)
fstdeterminize_DEPENDENCIES = ../script/libfstscript.la \
	../lib/libfst.la
am__fstdifference_SOURCES_DIST = fstdifference.cc
@HAVE_BIN_TRUE@am_fstdifference_OBJECTS = fstdifference.$(OBJEXT)
fstdifference_OBJECTS = $(am_fstdifference_OBJECTS)
fstdifference_LDADD = $(LDADD)
fstdifference_DEPENDENCIES = ../script/libfstscript.la \
	../lib/libfst.la
am__fstdraw_SOURCES_DIST = fstdraw.cc
@HAVE_BIN_TRUE@am_fstdraw_OBJECTS = fstdraw.$(OBJEXT)
fstdraw_OBJECTS = $(am_fstdraw_OBJECTS)
fstdraw_LDADD = $(LDADD)
fstdraw_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstencode_SOURCES_DIST = fstencode.cc
@HAVE_BIN_TRUE@am_fstencode_OBJECTS = fstencode.$(OBJEXT)
fstencode_OBJECTS = $(am_fstencode_OBJECTS)
fstencode_LDADD = $(LDADD)
fstencode_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstepsnormalize_SOURCES_DIST = fstepsnormalize.cc
@HAVE_BIN_TRUE@am_fstepsnormalize_OBJECTS = fstepsnormalize.$(OBJEXT)
fstepsnormalize_OBJECTS = $(am_fstepsnormalize_OBJECTS)
fstepsnormalize_LDADD = $(LDADD)
fstepsnormalize_DEPENDENCIES = ../script/libfstscript.la \
	../lib/libfst.la
am__fstequal_SOURCES_DIST = fstequal.cc
@HAVE_BIN_TRUE@am_fstequal_OBJECTS = fstequal.$(OBJEXT)
fstequal_OBJECTS = $(am_fstequal_OBJECTS)
fstequal_LDADD = $(LDADD)
fstequal_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstequivalent_SOURCES_DIST = fstequivalent.cc
@HAVE_BIN_TRUE@am_fstequivalent_OBJECTS = fstequivalent.$(OBJEXT)
fstequivalent_OBJECTS = $(am_fstequivalent_OBJECTS)
fstequivalent_LDADD = $(LDADD)
fstequivalent_DEPENDENCIES = ../script/libfstscript.la \
	../lib/libfst.la
am__fstinfo_SOURCES_DIST = fstinfo.cc
@HAVE_BIN_TRUE@am_fstinfo_OBJECTS = fstinfo.$(OBJEXT)
fstinfo_OBJECTS = $(am_fstinfo_OBJECTS)
fstinfo_LDADD = $(LDADD)
fstinfo_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstintersect_SOURCES_DIST = fstintersect.cc
@HAVE_BIN_TRUE@am_fstintersect_OBJECTS = fstintersect.$(OBJEXT)
fstintersect_OBJECTS = $(am_fstintersect_OBJECTS)
fstintersect_LDADD = $(LDADD)
fstintersect_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstinvert_SOURCES_DIST = fstinvert.cc
@HAVE_BIN_TRUE@am_fstinvert_OBJECTS = fstinvert.$(OBJEXT)
fstinvert_OBJECTS = $(am_fstinvert_OBJECTS)
fstinvert_LDADD = $(LDADD)
fstinvert_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstmap_SOURCES_DIST = fstmap.cc
@HAVE_BIN_TRUE@am_fstmap_OBJECTS = fstmap.$(OBJEXT)
fstmap_OBJECTS = $(am_fstmap_OBJECTS)
fstmap_LDADD = $(LDADD)
fstmap_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstminimize_SOURCES_DIST = fstminimize.cc
@HAVE_BIN_TRUE@am_fstminimize_OBJECTS = fstminimize.$(OBJEXT)
fstminimize_OBJECTS = $(am_fstminimize_OBJECTS)
fstminimize_LDADD = $(LDADD)
fstminimize_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstprint_SOURCES_DIST = fstprint.cc
@HAVE_BIN_TRUE@am_fstprint_OBJECTS = fstprint.$(OBJEXT)
fstprint_OBJECTS = $(am_fstprint_OBJECTS)
fstprint_LDADD = $(LDADD)
fstprint_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstproject_SOURCES_DIST = fstproject.cc
@HAVE_BIN_TRUE@am_fstproject_OBJECTS = fstproject.$(OBJEXT)
fstproject_OBJECTS = $(am_fstproject_OBJECTS)
fstproject_LDADD = $(LDADD)
fstproject_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstprune_SOURCES_DIST = fstprune.cc
@HAVE_BIN_TRUE@am_fstprune_OBJECTS = fstprune.$(OBJEXT)
fstprune_OBJECTS = $(am_fstprune_OBJECTS)
fstprune_LDADD = $(LDADD)
fstprune_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstpush_SOURCES_DIST = fstpush.cc
@HAVE_BIN_TRUE@am_fstpush_OBJECTS = fstpush.$(OBJEXT)
fstpush_OBJECTS = $(am_fstpush_OBJECTS)
fstpush_LDADD = $(LDADD)
fstpush_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstrandgen_SOURCES_DIST = fstrandgen.cc
@HAVE_BIN_TRUE@am_fstrandgen_OBJECTS = fstrandgen.$(OBJEXT)
fstrandgen_OBJECTS = $(am_fstrandgen_OBJECTS)
fstrandgen_LDADD = $(LDADD)
fstrandgen_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstrelabel_SOURCES_DIST = fstrelabel.cc
@HAVE_BIN_TRUE@am_fstrelabel_OBJECTS = fstrelabel.$(OBJEXT)
fstrelabel_OBJECTS = $(am_fstrelabel_OBJECTS)
fstrelabel_LDADD = $(LDADD)
fstrelabel_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstreplace_SOURCES_DIST = fstreplace.cc
@HAVE_BIN_TRUE@am_fstreplace_OBJECTS = fstreplace.$(OBJEXT)
fstreplace_OBJECTS = $(am_fstreplace_OBJECTS)
fstreplace_LDADD = $(LDADD)
fstreplace_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstreverse_SOURCES_DIST = fstreverse.cc
@HAVE_BIN_TRUE@am_fstreverse_OBJECTS = fstreverse.$(OBJEXT)
fstreverse_OBJECTS = $(am_fstreverse_OBJECTS)
fstreverse_LDADD = $(LDADD)
fstreverse_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstreweight_SOURCES_DIST = fstreweight.cc
@HAVE_BIN_TRUE@am_fstreweight_OBJECTS = fstreweight.$(OBJEXT)
fstreweight_OBJECTS = $(am_fstreweight_OBJECTS)
fstreweight_LDADD = $(LDADD)
fstreweight_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstrmepsilon_SOURCES_DIST = fstrmepsilon.cc
@HAVE_BIN_TRUE@am_fstrmepsilon_OBJECTS = fstrmepsilon.$(OBJEXT)
fstrmepsilon_OBJECTS = $(am_fstrmepsilon_OBJECTS)
fstrmepsilon_LDADD = $(LDADD)
fstrmepsilon_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstshortestdistance_SOURCES_DIST = fstshortestdistance.cc
@HAVE_BIN_TRUE@am_fstshortestdistance_OBJECTS =  \
@HAVE_BIN_TRUE@	fstshortestdistance.$(OBJEXT)
fstshortestdistance_OBJECTS = $(am_fstshortestdistance_OBJECTS)
fstshortestdistance_LDADD = $(LDADD)
fstshortestdistance_DEPENDENCIES = ../script/libfstscript.la \
	../lib/libfst.la
am__fstshortestpath_SOURCES_DIST = fstshortestpath.cc
@HAVE_BIN_TRUE@am_fstshortestpath_OBJECTS = fstshortestpath.$(OBJEXT)
fstshortestpath_OBJECTS = $(am_fstshortestpath_OBJECTS)
fstshortestpath_LDADD = $(LDADD)
fstshortestpath_DEPENDENCIES = ../script/libfstscript.la \
	../lib/libfst.la
am__fstsymbols_SOURCES_DIST = fstsymbols.cc
@HAVE_BIN_TRUE@am_fstsymbols_OBJECTS = fstsymbols.$(OBJEXT)
fstsymbols_OBJECTS = $(am_fstsymbols_OBJECTS)
fstsymbols_LDADD = $(LDADD)
fstsymbols_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstsynchronize_SOURCES_DIST = fstsynchronize.cc
@HAVE_BIN_TRUE@am_fstsynchronize_OBJECTS = fstsynchronize.$(OBJEXT)
fstsynchronize_OBJECTS = $(am_fstsynchronize_OBJECTS)
fstsynchronize_LDADD = $(LDADD)
fstsynchronize_DEPENDENCIES = ../script/libfstscript.la \
	../lib/libfst.la
am__fsttopsort_SOURCES_DIST = fsttopsort.cc
@HAVE_BIN_TRUE@am_fsttopsort_OBJECTS = fsttopsort.$(OBJEXT)
fsttopsort_OBJECTS = $(am_fsttopsort_OBJECTS)
fsttopsort_LDADD = $(LDADD)
fsttopsort_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
am__fstunion_SOURCES_DIST = fstunion.cc
@HAVE_BIN_TRUE@am_fstunion_OBJECTS = fstunion.$(OBJEXT)
fstunion_OBJECTS = $(am_fstunion_OBJECTS)
fstunion_LDADD = $(LDADD)
fstunion_DEPENDENCIES = ../script/libfstscript.la ../lib/libfst.la
DEFAULT_INCLUDES = 
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
SOURCES = $(fstarcsort_SOURCES) $(fstclosure_SOURCES) \
	$(fstcompile_SOURCES) $(fstcompose_SOURCES) \
	$(fstconcat_SOURCES) $(fstconnect_SOURCES) \
	$(fstconvert_SOURCES) $(fstdeterminize_SOURCES) \
	$(fstdifference_SOURCES) $(fstdraw_SOURCES) \
	$(fstencode_SOURCES) $(fstepsnormalize_SOURCES) \
	$(fstequal_SOURCES) $(fstequivalent_SOURCES) \
	$(fstinfo_SOURCES) $(fstintersect_SOURCES) \
	$(fstinvert_SOURCES) $(fstmap_SOURCES) $(fstminimize_SOURCES) \
	$(fstprint_SOURCES) $(fstproject_SOURCES) $(fstprune_SOURCES) \
	$(fstpush_SOURCES) $(fstrandgen_SOURCES) $(fstrelabel_SOURCES) \
	$(fstreplace_SOURCES) $(fstreverse_SOURCES) \
	$(fstreweight_SOURCES) $(fstrmepsilon_SOURCES) \
	$(fstshortestdistance_SOURCES) $(fstshortestpath_SOURCES) \
	$(fstsymbols_SOURCES) $(fstsynchronize_SOURCES) \
	$(fsttopsort_SOURCES) $(fstunion_SOURCES)
DIST_SOURCES = $(am__fstarcsort_SOURCES_DIST) \
	$(am__fstclosure_SOURCES_DIST) $(am__fstcompile_SOURCES_DIST) \
	$(am__fstcompose_SOURCES_DIST) $(am__fstconcat_SOURCES_DIST) \
	$(am__fstconnect_SOURCES_DIST) $(am__fstconvert_SOURCES_DIST) \
	$(am__fstdeterminize_SOURCES_DIST) \
	$(am__fstdifference_SOURCES_DIST) $(am__fstdraw_SOURCES_DIST) \
	$(am__fstencode_SOURCES_DIST) \
	$(am__fstepsnormalize_SOURCES_DIST) \
	$(am__fstequal_SOURCES_DIST) $(am__fstequivalent_SOURCES_DIST) \
	$(am__fstinfo_SOURCES_DIST) $(am__fstintersect_SOURCES_DIST) \
	$(am__fstinvert_SOURCES_DIST) $(am__fstmap_SOURCES_DIST) \
	$(am__fstminimize_SOURCES_DIST) $(am__fstprint_SOURCES_DIST) \
	$(am__fstproject_SOURCES_DIST) $(am__fstprune_SOURCES_DIST) \
	$(am__fstpush_SOURCES_DIST) $(am__fstrandgen_SOURCES_DIST) \
	$(am__fstrelabel_SOURCES_DIST) $(am__fstreplace_SOURCES_DIST) \
	$(am__fstreverse_SOURCES_DIST) $(am__fstreweight_SOURCES_DIST) \
	$(am__fstrmepsilon_SOURCES_DIST) \
	$(am__fstshortestdistance_SOURCES_DIST) \
	$(am__fstshortestpath_SOURCES_DIST) \
	$(am__fstsymbols_SOURCES_DIST) \
	$(am__fstsynchronize_SOURCES_DIST) \
	$(am__fsttopsort_SOURCES_DIST) $(am__fstunion_SOURCES_DIST)
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@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
libfstdir = @libfstdir@
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@
AM_CPPFLAGS = -I$(srcdir)/../include -I$(srcdir)/../script $(ICU_FLAGS)
LDADD = ../script/libfstscript.la ../lib/libfst.la -lm -ldl
@HAVE_BIN_TRUE@fstarcsort_SOURCES = fstarcsort.cc
@HAVE_BIN_TRUE@fstclosure_SOURCES = fstclosure.cc
@HAVE_BIN_TRUE@fstcompile_SOURCES = fstcompile.cc
@HAVE_BIN_TRUE@fstcompose_SOURCES = fstcompose.cc
@HAVE_BIN_TRUE@fstconcat_SOURCES = fstconcat.cc
@HAVE_BIN_TRUE@fstconnect_SOURCES = fstconnect.cc
@HAVE_BIN_TRUE@fstconvert_SOURCES = fstconvert.cc
@HAVE_BIN_TRUE@fstdeterminize_SOURCES = fstdeterminize.cc
@HAVE_BIN_TRUE@fstdifference_SOURCES = fstdifference.cc

# fstdisambiguate_SOURCES = fstdisambiguate.cc
@HAVE_BIN_TRUE@fstdraw_SOURCES = fstdraw.cc
@HAVE_BIN_TRUE@fstencode_SOURCES = fstencode.cc
@HAVE_BIN_TRUE@fstepsnormalize_SOURCES = fstepsnormalize.cc
@HAVE_BIN_TRUE@fstequal_SOURCES = fstequal.cc
@HAVE_BIN_TRUE@fstequivalent_SOURCES = fstequivalent.cc
@HAVE_BIN_TRUE@fstinfo_SOURCES = fstinfo.cc
@HAVE_BIN_TRUE@fstintersect_SOURCES = fstintersect.cc
@HAVE_BIN_TRUE@fstinvert_SOURCES = fstinvert.cc
@HAVE_BIN_TRUE@fstmap_SOURCES = fstmap.cc
@HAVE_BIN_TRUE@fstminimize_SOURCES = fstminimize.cc
@HAVE_BIN_TRUE@fstprint_SOURCES = fstprint.cc
@HAVE_BIN_TRUE@fstproject_SOURCES = fstproject.cc
@HAVE_BIN_TRUE@fstprune_SOURCES = fstprune.cc
@HAVE_BIN_TRUE@fstpush_SOURCES = fstpush.cc
@HAVE_BIN_TRUE@fstrandgen_SOURCES = fstrandgen.cc
@HAVE_BIN_TRUE@fstrelabel_SOURCES = fstrelabel.cc
@HAVE_BIN_TRUE@fstreplace_SOURCES = fstreplace.cc
@HAVE_BIN_TRUE@fstreverse_SOURCES = fstreverse.cc
@HAVE_BIN_TRUE@fstreweight_SOURCES = fstreweight.cc
@HAVE_BIN_TRUE@fstrmepsilon_SOURCES = fstrmepsilon.cc
@HAVE_BIN_TRUE@fstshortestdistance_SOURCES = fstshortestdistance.cc
@HAVE_BIN_TRUE@fstshortestpath_SOURCES = fstshortestpath.cc
@HAVE_BIN_TRUE@fstsymbols_SOURCES = fstsymbols.cc
@HAVE_BIN_TRUE@fstsynchronize_SOURCES = fstsynchronize.cc
@HAVE_BIN_TRUE@fsttopsort_SOURCES = fsttopsort.cc
@HAVE_BIN_TRUE@fstunion_SOURCES = fstunion.cc
all: all-am

.SUFFIXES:
.SUFFIXES: .cc .lo .o .obj
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign src/bin/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign src/bin/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:  $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-binPROGRAMS: $(bin_PROGRAMS)
	@$(NORMAL_INSTALL)
	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
	for p in $$list; do echo "$$p $$p"; done | \
	sed 's/$(EXEEXT)$$//' | \
	while read p p1; do if test -f $$p || test -f $$p1; \
	  then echo "$$p"; echo "$$p"; else :; fi; \
	done | \
	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
	sed 'N;N;N;s,\n, ,g' | \
	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
	    else { print "f", $$3 "/" $$4, $$1; } } \
	  END { for (d in files) print "f", d, files[d] }' | \
	while read type dir files; do \
	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
	    test -z "$$files" || { \
	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
	    } \
	; done

uninstall-binPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
	files=`for p in $$list; do echo "$$p"; done | \
	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
	      -e 's/$$/$(EXEEXT)/' `; \
	test -n "$$list" || exit 0; \
	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(bindir)" && rm -f $$files

clean-binPROGRAMS:
	@list='$(bin_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
fstarcsort$(EXEEXT): $(fstarcsort_OBJECTS) $(fstarcsort_DEPENDENCIES) $(EXTRA_fstarcsort_DEPENDENCIES) 
	@rm -f fstarcsort$(EXEEXT)
	$(CXXLINK) $(fstarcsort_OBJECTS) $(fstarcsort_LDADD) $(LIBS)
fstclosure$(EXEEXT): $(fstclosure_OBJECTS) $(fstclosure_DEPENDENCIES) $(EXTRA_fstclosure_DEPENDENCIES) 
	@rm -f fstclosure$(EXEEXT)
	$(CXXLINK) $(fstclosure_OBJECTS) $(fstclosure_LDADD) $(LIBS)
fstcompile$(EXEEXT): $(fstcompile_OBJECTS) $(fstcompile_DEPENDENCIES) $(EXTRA_fstcompile_DEPENDENCIES) 
	@rm -f fstcompile$(EXEEXT)
	$(CXXLINK) $(fstcompile_OBJECTS) $(fstcompile_LDADD) $(LIBS)
fstcompose$(EXEEXT): $(fstcompose_OBJECTS) $(fstcompose_DEPENDENCIES) $(EXTRA_fstcompose_DEPENDENCIES) 
	@rm -f fstcompose$(EXEEXT)
	$(CXXLINK) $(fstcompose_OBJECTS) $(fstcompose_LDADD) $(LIBS)
fstconcat$(EXEEXT): $(fstconcat_OBJECTS) $(fstconcat_DEPENDENCIES) $(EXTRA_fstconcat_DEPENDENCIES) 
	@rm -f fstconcat$(EXEEXT)
	$(CXXLINK) $(fstconcat_OBJECTS) $(fstconcat_LDADD) $(LIBS)
fstconnect$(EXEEXT): $(fstconnect_OBJECTS) $(fstconnect_DEPENDENCIES) $(EXTRA_fstconnect_DEPENDENCIES) 
	@rm -f fstconnect$(EXEEXT)
	$(CXXLINK) $(fstconnect_OBJECTS) $(fstconnect_LDADD) $(LIBS)
fstconvert$(EXEEXT): $(fstconvert_OBJECTS) $(fstconvert_DEPENDENCIES) $(EXTRA_fstconvert_DEPENDENCIES) 
	@rm -f fstconvert$(EXEEXT)
	$(CXXLINK) $(fstconvert_OBJECTS) $(fstconvert_LDADD) $(LIBS)
fstdeterminize$(EXEEXT): $(fstdeterminize_OBJECTS) $(fstdeterminize_DEPENDENCIES) $(EXTRA_fstdeterminize_DEPENDENCIES) 
	@rm -f fstdeterminize$(EXEEXT)
	$(CXXLINK) $(fstdeterminize_OBJECTS) $(fstdeterminize_LDADD) $(LIBS)
fstdifference$(EXEEXT): $(fstdifference_OBJECTS) $(fstdifference_DEPENDENCIES) $(EXTRA_fstdifference_DEPENDENCIES) 
	@rm -f fstdifference$(EXEEXT)
	$(CXXLINK) $(fstdifference_OBJECTS) $(fstdifference_LDADD) $(LIBS)
fstdraw$(EXEEXT): $(fstdraw_OBJECTS) $(fstdraw_DEPENDENCIES) $(EXTRA_fstdraw_DEPENDENCIES) 
	@rm -f fstdraw$(EXEEXT)
	$(CXXLINK) $(fstdraw_OBJECTS) $(fstdraw_LDADD) $(LIBS)
fstencode$(EXEEXT): $(fstencode_OBJECTS) $(fstencode_DEPENDENCIES) $(EXTRA_fstencode_DEPENDENCIES) 
	@rm -f fstencode$(EXEEXT)
	$(CXXLINK) $(fstencode_OBJECTS) $(fstencode_LDADD) $(LIBS)
fstepsnormalize$(EXEEXT): $(fstepsnormalize_OBJECTS) $(fstepsnormalize_DEPENDENCIES) $(EXTRA_fstepsnormalize_DEPENDENCIES) 
	@rm -f fstepsnormalize$(EXEEXT)
	$(CXXLINK) $(fstepsnormalize_OBJECTS) $(fstepsnormalize_LDADD) $(LIBS)
fstequal$(EXEEXT): $(fstequal_OBJECTS) $(fstequal_DEPENDENCIES) $(EXTRA_fstequal_DEPENDENCIES) 
	@rm -f fstequal$(EXEEXT)
	$(CXXLINK) $(fstequal_OBJECTS) $(fstequal_LDADD) $(LIBS)
fstequivalent$(EXEEXT): $(fstequivalent_OBJECTS) $(fstequivalent_DEPENDENCIES) $(EXTRA_fstequivalent_DEPENDENCIES) 
	@rm -f fstequivalent$(EXEEXT)
	$(CXXLINK) $(fstequivalent_OBJECTS) $(fstequivalent_LDADD) $(LIBS)
fstinfo$(EXEEXT): $(fstinfo_OBJECTS) $(fstinfo_DEPENDENCIES) $(EXTRA_fstinfo_DEPENDENCIES) 
	@rm -f fstinfo$(EXEEXT)
	$(CXXLINK) $(fstinfo_OBJECTS) $(fstinfo_LDADD) $(LIBS)
fstintersect$(EXEEXT): $(fstintersect_OBJECTS) $(fstintersect_DEPENDENCIES) $(EXTRA_fstintersect_DEPENDENCIES) 
	@rm -f fstintersect$(EXEEXT)
	$(CXXLINK) $(fstintersect_OBJECTS) $(fstintersect_LDADD) $(LIBS)
fstinvert$(EXEEXT): $(fstinvert_OBJECTS) $(fstinvert_DEPENDENCIES) $(EXTRA_fstinvert_DEPENDENCIES) 
	@rm -f fstinvert$(EXEEXT)
	$(CXXLINK) $(fstinvert_OBJECTS) $(fstinvert_LDADD) $(LIBS)
fstmap$(EXEEXT): $(fstmap_OBJECTS) $(fstmap_DEPENDENCIES) $(EXTRA_fstmap_DEPENDENCIES) 
	@rm -f fstmap$(EXEEXT)
	$(CXXLINK) $(fstmap_OBJECTS) $(fstmap_LDADD) $(LIBS)
fstminimize$(EXEEXT): $(fstminimize_OBJECTS) $(fstminimize_DEPENDENCIES) $(EXTRA_fstminimize_DEPENDENCIES) 
	@rm -f fstminimize$(EXEEXT)
	$(CXXLINK) $(fstminimize_OBJECTS) $(fstminimize_LDADD) $(LIBS)
fstprint$(EXEEXT): $(fstprint_OBJECTS) $(fstprint_DEPENDENCIES) $(EXTRA_fstprint_DEPENDENCIES) 
	@rm -f fstprint$(EXEEXT)
	$(CXXLINK) $(fstprint_OBJECTS) $(fstprint_LDADD) $(LIBS)
fstproject$(EXEEXT): $(fstproject_OBJECTS) $(fstproject_DEPENDENCIES) $(EXTRA_fstproject_DEPENDENCIES) 
	@rm -f fstproject$(EXEEXT)
	$(CXXLINK) $(fstproject_OBJECTS) $(fstproject_LDADD) $(LIBS)
fstprune$(EXEEXT): $(fstprune_OBJECTS) $(fstprune_DEPENDENCIES) $(EXTRA_fstprune_DEPENDENCIES) 
	@rm -f fstprune$(EXEEXT)
	$(CXXLINK) $(fstprune_OBJECTS) $(fstprune_LDADD) $(LIBS)
fstpush$(EXEEXT): $(fstpush_OBJECTS) $(fstpush_DEPENDENCIES) $(EXTRA_fstpush_DEPENDENCIES) 
	@rm -f fstpush$(EXEEXT)
	$(CXXLINK) $(fstpush_OBJECTS) $(fstpush_LDADD) $(LIBS)
fstrandgen$(EXEEXT): $(fstrandgen_OBJECTS) $(fstrandgen_DEPENDENCIES) $(EXTRA_fstrandgen_DEPENDENCIES) 
	@rm -f fstrandgen$(EXEEXT)
	$(CXXLINK) $(fstrandgen_OBJECTS) $(fstrandgen_LDADD) $(LIBS)
fstrelabel$(EXEEXT): $(fstrelabel_OBJECTS) $(fstrelabel_DEPENDENCIES) $(EXTRA_fstrelabel_DEPENDENCIES) 
	@rm -f fstrelabel$(EXEEXT)
	$(CXXLINK) $(fstrelabel_OBJECTS) $(fstrelabel_LDADD) $(LIBS)
fstreplace$(EXEEXT): $(fstreplace_OBJECTS) $(fstreplace_DEPENDENCIES) $(EXTRA_fstreplace_DEPENDENCIES) 
	@rm -f fstreplace$(EXEEXT)
	$(CXXLINK) $(fstreplace_OBJECTS) $(fstreplace_LDADD) $(LIBS)
fstreverse$(EXEEXT): $(fstreverse_OBJECTS) $(fstreverse_DEPENDENCIES) $(EXTRA_fstreverse_DEPENDENCIES) 
	@rm -f fstreverse$(EXEEXT)
	$(CXXLINK) $(fstreverse_OBJECTS) $(fstreverse_LDADD) $(LIBS)
fstreweight$(EXEEXT): $(fstreweight_OBJECTS) $(fstreweight_DEPENDENCIES) $(EXTRA_fstreweight_DEPENDENCIES) 
	@rm -f fstreweight$(EXEEXT)
	$(CXXLINK) $(fstreweight_OBJECTS) $(fstreweight_LDADD) $(LIBS)
fstrmepsilon$(EXEEXT): $(fstrmepsilon_OBJECTS) $(fstrmepsilon_DEPENDENCIES) $(EXTRA_fstrmepsilon_DEPENDENCIES) 
	@rm -f fstrmepsilon$(EXEEXT)
	$(CXXLINK) $(fstrmepsilon_OBJECTS) $(fstrmepsilon_LDADD) $(LIBS)
fstshortestdistance$(EXEEXT): $(fstshortestdistance_OBJECTS) $(fstshortestdistance_DEPENDENCIES) $(EXTRA_fstshortestdistance_DEPENDENCIES) 
	@rm -f fstshortestdistance$(EXEEXT)
	$(CXXLINK) $(fstshortestdistance_OBJECTS) $(fstshortestdistance_LDADD) $(LIBS)
fstshortestpath$(EXEEXT): $(fstshortestpath_OBJECTS) $(fstshortestpath_DEPENDENCIES) $(EXTRA_fstshortestpath_DEPENDENCIES) 
	@rm -f fstshortestpath$(EXEEXT)
	$(CXXLINK) $(fstshortestpath_OBJECTS) $(fstshortestpath_LDADD) $(LIBS)
fstsymbols$(EXEEXT): $(fstsymbols_OBJECTS) $(fstsymbols_DEPENDENCIES) $(EXTRA_fstsymbols_DEPENDENCIES) 
	@rm -f fstsymbols$(EXEEXT)
	$(CXXLINK) $(fstsymbols_OBJECTS) $(fstsymbols_LDADD) $(LIBS)
fstsynchronize$(EXEEXT): $(fstsynchronize_OBJECTS) $(fstsynchronize_DEPENDENCIES) $(EXTRA_fstsynchronize_DEPENDENCIES) 
	@rm -f fstsynchronize$(EXEEXT)
	$(CXXLINK) $(fstsynchronize_OBJECTS) $(fstsynchronize_LDADD) $(LIBS)
fsttopsort$(EXEEXT): $(fsttopsort_OBJECTS) $(fsttopsort_DEPENDENCIES) $(EXTRA_fsttopsort_DEPENDENCIES) 
	@rm -f fsttopsort$(EXEEXT)
	$(CXXLINK) $(fsttopsort_OBJECTS) $(fsttopsort_LDADD) $(LIBS)
fstunion$(EXEEXT): $(fstunion_OBJECTS) $(fstunion_DEPENDENCIES) $(EXTRA_fstunion_DEPENDENCIES) 
	@rm -f fstunion$(EXEEXT)
	$(CXXLINK) $(fstunion_OBJECTS) $(fstunion_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstarcsort.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstclosure.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstcompile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstcompose.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstconcat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstconnect.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstconvert.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstdeterminize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstdifference.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstdraw.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstencode.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstepsnormalize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstequal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstequivalent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstinfo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstintersect.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstinvert.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstmap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstminimize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstprint.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstproject.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstprune.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstpush.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstrandgen.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstrelabel.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstreplace.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstreverse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstreweight.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstrmepsilon.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstshortestdistance.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstshortestpath.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstsymbols.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstsynchronize.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fsttopsort.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fstunion.Po@am__quote@

.cc.o:
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ $<

.cc.obj:
@am__fastdepCXX_TRUE@	$(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`

.cc.lo:
@am__fastdepCXX_TRUE@	$(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCXX_TRUE@	$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@	DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@	$(LTCXXCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

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

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

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

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

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
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
	for dir in "$(DESTDIR)$(bindir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

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

installcheck: installcheck-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:

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

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

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

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

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

mostlyclean: mostlyclean-am

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

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-binPROGRAMS

.MAKE: install-am install-strip

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


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