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

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/ax_check_icu.m4 \
	$(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@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
ICU_CFLAGS = @ICU_CFLAGS@
ICU_CONFIG = @ICU_CONFIG@
ICU_CPPFLAGS = @ICU_CPPFLAGS@
ICU_CXXFLAGS = @ICU_CXXFLAGS@
ICU_LIBS = @ICU_LIBS@
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@
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_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@
lt_ECHO = @lt_ECHO@
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
@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) 
	@rm -f fstarcsort$(EXEEXT)
	$(CXXLINK) $(fstarcsort_OBJECTS) $(fstarcsort_LDADD) $(LIBS)
fstclosure$(EXEEXT): $(fstclosure_OBJECTS) $(fstclosure_DEPENDENCIES) 
	@rm -f fstclosure$(EXEEXT)
	$(CXXLINK) $(fstclosure_OBJECTS) $(fstclosure_LDADD) $(LIBS)
fstcompile$(EXEEXT): $(fstcompile_OBJECTS) $(fstcompile_DEPENDENCIES) 
	@rm -f fstcompile$(EXEEXT)
	$(CXXLINK) $(fstcompile_OBJECTS) $(fstcompile_LDADD) $(LIBS)
fstcompose$(EXEEXT): $(fstcompose_OBJECTS) $(fstcompose_DEPENDENCIES) 
	@rm -f fstcompose$(EXEEXT)
	$(CXXLINK) $(fstcompose_OBJECTS) $(fstcompose_LDADD) $(LIBS)
fstconcat$(EXEEXT): $(fstconcat_OBJECTS) $(fstconcat_DEPENDENCIES) 
	@rm -f fstconcat$(EXEEXT)
	$(CXXLINK) $(fstconcat_OBJECTS) $(fstconcat_LDADD) $(LIBS)
fstconnect$(EXEEXT): $(fstconnect_OBJECTS) $(fstconnect_DEPENDENCIES) 
	@rm -f fstconnect$(EXEEXT)
	$(CXXLINK) $(fstconnect_OBJECTS) $(fstconnect_LDADD) $(LIBS)
fstconvert$(EXEEXT): $(fstconvert_OBJECTS) $(fstconvert_DEPENDENCIES) 
	@rm -f fstconvert$(EXEEXT)
	$(CXXLINK) $(fstconvert_OBJECTS) $(fstconvert_LDADD) $(LIBS)
fstdeterminize$(EXEEXT): $(fstdeterminize_OBJECTS) $(fstdeterminize_DEPENDENCIES) 
	@rm -f fstdeterminize$(EXEEXT)
	$(CXXLINK) $(fstdeterminize_OBJECTS) $(fstdeterminize_LDADD) $(LIBS)
fstdifference$(EXEEXT): $(fstdifference_OBJECTS) $(fstdifference_DEPENDENCIES) 
	@rm -f fstdifference$(EXEEXT)
	$(CXXLINK) $(fstdifference_OBJECTS) $(fstdifference_LDADD) $(LIBS)
fstdraw$(EXEEXT): $(fstdraw_OBJECTS) $(fstdraw_DEPENDENCIES) 
	@rm -f fstdraw$(EXEEXT)
	$(CXXLINK) $(fstdraw_OBJECTS) $(fstdraw_LDADD) $(LIBS)
fstencode$(EXEEXT): $(fstencode_OBJECTS) $(fstencode_DEPENDENCIES) 
	@rm -f fstencode$(EXEEXT)
	$(CXXLINK) $(fstencode_OBJECTS) $(fstencode_LDADD) $(LIBS)
fstepsnormalize$(EXEEXT): $(fstepsnormalize_OBJECTS) $(fstepsnormalize_DEPENDENCIES) 
	@rm -f fstepsnormalize$(EXEEXT)
	$(CXXLINK) $(fstepsnormalize_OBJECTS) $(fstepsnormalize_LDADD) $(LIBS)
fstequal$(EXEEXT): $(fstequal_OBJECTS) $(fstequal_DEPENDENCIES) 
	@rm -f fstequal$(EXEEXT)
	$(CXXLINK) $(fstequal_OBJECTS) $(fstequal_LDADD) $(LIBS)
fstequivalent$(EXEEXT): $(fstequivalent_OBJECTS) $(fstequivalent_DEPENDENCIES) 
	@rm -f fstequivalent$(EXEEXT)
	$(CXXLINK) $(fstequivalent_OBJECTS) $(fstequivalent_LDADD) $(LIBS)
fstinfo$(EXEEXT): $(fstinfo_OBJECTS) $(fstinfo_DEPENDENCIES) 
	@rm -f fstinfo$(EXEEXT)
	$(CXXLINK) $(fstinfo_OBJECTS) $(fstinfo_LDADD) $(LIBS)
fstintersect$(EXEEXT): $(fstintersect_OBJECTS) $(fstintersect_DEPENDENCIES) 
	@rm -f fstintersect$(EXEEXT)
	$(CXXLINK) $(fstintersect_OBJECTS) $(fstintersect_LDADD) $(LIBS)
fstinvert$(EXEEXT): $(fstinvert_OBJECTS) $(fstinvert_DEPENDENCIES) 
	@rm -f fstinvert$(EXEEXT)
	$(CXXLINK) $(fstinvert_OBJECTS) $(fstinvert_LDADD) $(LIBS)
fstmap$(EXEEXT): $(fstmap_OBJECTS) $(fstmap_DEPENDENCIES) 
	@rm -f fstmap$(EXEEXT)
	$(CXXLINK) $(fstmap_OBJECTS) $(fstmap_LDADD) $(LIBS)
fstminimize$(EXEEXT): $(fstminimize_OBJECTS) $(fstminimize_DEPENDENCIES) 
	@rm -f fstminimize$(EXEEXT)
	$(CXXLINK) $(fstminimize_OBJECTS) $(fstminimize_LDADD) $(LIBS)
fstprint$(EXEEXT): $(fstprint_OBJECTS) $(fstprint_DEPENDENCIES) 
	@rm -f fstprint$(EXEEXT)
	$(CXXLINK) $(fstprint_OBJECTS) $(fstprint_LDADD) $(LIBS)
fstproject$(EXEEXT): $(fstproject_OBJECTS) $(fstproject_DEPENDENCIES) 
	@rm -f fstproject$(EXEEXT)
	$(CXXLINK) $(fstproject_OBJECTS) $(fstproject_LDADD) $(LIBS)
fstprune$(EXEEXT): $(fstprune_OBJECTS) $(fstprune_DEPENDENCIES) 
	@rm -f fstprune$(EXEEXT)
	$(CXXLINK) $(fstprune_OBJECTS) $(fstprune_LDADD) $(LIBS)
fstpush$(EXEEXT): $(fstpush_OBJECTS) $(fstpush_DEPENDENCIES) 
	@rm -f fstpush$(EXEEXT)
	$(CXXLINK) $(fstpush_OBJECTS) $(fstpush_LDADD) $(LIBS)
fstrandgen$(EXEEXT): $(fstrandgen_OBJECTS) $(fstrandgen_DEPENDENCIES) 
	@rm -f fstrandgen$(EXEEXT)
	$(CXXLINK) $(fstrandgen_OBJECTS) $(fstrandgen_LDADD) $(LIBS)
fstrelabel$(EXEEXT): $(fstrelabel_OBJECTS) $(fstrelabel_DEPENDENCIES) 
	@rm -f fstrelabel$(EXEEXT)
	$(CXXLINK) $(fstrelabel_OBJECTS) $(fstrelabel_LDADD) $(LIBS)
fstreplace$(EXEEXT): $(fstreplace_OBJECTS) $(fstreplace_DEPENDENCIES) 
	@rm -f fstreplace$(EXEEXT)
	$(CXXLINK) $(fstreplace_OBJECTS) $(fstreplace_LDADD) $(LIBS)
fstreverse$(EXEEXT): $(fstreverse_OBJECTS) $(fstreverse_DEPENDENCIES) 
	@rm -f fstreverse$(EXEEXT)
	$(CXXLINK) $(fstreverse_OBJECTS) $(fstreverse_LDADD) $(LIBS)
fstreweight$(EXEEXT): $(fstreweight_OBJECTS) $(fstreweight_DEPENDENCIES) 
	@rm -f fstreweight$(EXEEXT)
	$(CXXLINK) $(fstreweight_OBJECTS) $(fstreweight_LDADD) $(LIBS)
fstrmepsilon$(EXEEXT): $(fstrmepsilon_OBJECTS) $(fstrmepsilon_DEPENDENCIES) 
	@rm -f fstrmepsilon$(EXEEXT)
	$(CXXLINK) $(fstrmepsilon_OBJECTS) $(fstrmepsilon_LDADD) $(LIBS)
fstshortestdistance$(EXEEXT): $(fstshortestdistance_OBJECTS) $(fstshortestdistance_DEPENDENCIES) 
	@rm -f fstshortestdistance$(EXEEXT)
	$(CXXLINK) $(fstshortestdistance_OBJECTS) $(fstshortestdistance_LDADD) $(LIBS)
fstshortestpath$(EXEEXT): $(fstshortestpath_OBJECTS) $(fstshortestpath_DEPENDENCIES) 
	@rm -f fstshortestpath$(EXEEXT)
	$(CXXLINK) $(fstshortestpath_OBJECTS) $(fstshortestpath_LDADD) $(LIBS)
fstsymbols$(EXEEXT): $(fstsymbols_OBJECTS) $(fstsymbols_DEPENDENCIES) 
	@rm -f fstsymbols$(EXEEXT)
	$(CXXLINK) $(fstsymbols_OBJECTS) $(fstsymbols_LDADD) $(LIBS)
fstsynchronize$(EXEEXT): $(fstsynchronize_OBJECTS) $(fstsynchronize_DEPENDENCIES) 
	@rm -f fstsynchronize$(EXEEXT)
	$(CXXLINK) $(fstsynchronize_OBJECTS) $(fstsynchronize_LDADD) $(LIBS)
fsttopsort$(EXEEXT): $(fsttopsort_OBJECTS) $(fsttopsort_DEPENDENCIES) 
	@rm -f fsttopsort$(EXEEXT)
	$(CXXLINK) $(fsttopsort_OBJECTS) $(fsttopsort_LDADD) $(LIBS)
fstunion$(EXEEXT): $(fstunion_OBJECTS) $(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:
	$(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-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:
