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

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005  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@

srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
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@
subdir = srclib
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/alloca.m4 \
	$(top_srcdir)/m4/allocsa.m4 $(top_srcdir)/m4/canonicalize.m4 \
	$(top_srcdir)/m4/codeset.m4 $(top_srcdir)/m4/cp.m4 \
	$(top_srcdir)/m4/eealloc.m4 $(top_srcdir)/m4/eilseq.m4 \
	$(top_srcdir)/m4/endian.m4 $(top_srcdir)/m4/error.m4 \
	$(top_srcdir)/m4/extensions.m4 \
	$(top_srcdir)/m4/full-header-path.m4 \
	$(top_srcdir)/m4/gettext.m4 $(top_srcdir)/m4/iconv.m4 \
	$(top_srcdir)/m4/lib-ld.m4 $(top_srcdir)/m4/lib-link.m4 \
	$(top_srcdir)/m4/lib-prefix.m4 $(top_srcdir)/m4/libtool.m4 \
	$(top_srcdir)/m4/ln.m4 $(top_srcdir)/m4/longdouble.m4 \
	$(top_srcdir)/m4/longlong.m4 $(top_srcdir)/m4/mbstate_t.m4 \
	$(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/onceonly.m4 \
	$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/po.m4 \
	$(top_srcdir)/m4/progtest.m4 $(top_srcdir)/m4/readlink.m4 \
	$(top_srcdir)/m4/relocatable.m4 $(top_srcdir)/m4/setenv.m4 \
	$(top_srcdir)/m4/size_max.m4 $(top_srcdir)/m4/ssize_t.m4 \
	$(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stdint.m4 \
	$(top_srcdir)/m4/strerror.m4 $(top_srcdir)/m4/unistd_h.m4 \
	$(top_srcdir)/m4/unlocked-io.m4 $(top_srcdir)/m4/visibility.m4 \
	$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/m4/xreadlink.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/build-aux/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h $(top_builddir)/lib/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
ARFLAGS = cru
libicrt_a_AR = $(AR) $(ARFLAGS)
am_libicrt_a_OBJECTS = allocsa.$(OBJEXT) progname.$(OBJEXT) \
	progreloc.$(OBJEXT) width.$(OBJEXT) xmalloc.$(OBJEXT) \
	xstrdup.$(OBJEXT) xreadlink.$(OBJEXT)
libicrt_a_OBJECTS = $(am_libicrt_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) -I$(top_builddir)/lib
depcomp =
am__depfiles_maybe =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libicrt_a_SOURCES)
DIST_SOURCES = $(libicrt_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
ALLOCA = @ALLOCA@
ALLOCA_H = @ALLOCA_H@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
BITSIZEOF_INT16_T = @BITSIZEOF_INT16_T@
BITSIZEOF_INT32_T = @BITSIZEOF_INT32_T@
BITSIZEOF_INT64_T = @BITSIZEOF_INT64_T@
BITSIZEOF_INT8_T = @BITSIZEOF_INT8_T@
BITSIZEOF_INTMAX_T = @BITSIZEOF_INTMAX_T@
BITSIZEOF_INTPTR_T = @BITSIZEOF_INTPTR_T@
BITSIZEOF_INT_FAST16_T = @BITSIZEOF_INT_FAST16_T@
BITSIZEOF_INT_FAST32_T = @BITSIZEOF_INT_FAST32_T@
BITSIZEOF_INT_FAST64_T = @BITSIZEOF_INT_FAST64_T@
BITSIZEOF_INT_FAST8_T = @BITSIZEOF_INT_FAST8_T@
BITSIZEOF_INT_LEAST16_T = @BITSIZEOF_INT_LEAST16_T@
BITSIZEOF_INT_LEAST32_T = @BITSIZEOF_INT_LEAST32_T@
BITSIZEOF_INT_LEAST64_T = @BITSIZEOF_INT_LEAST64_T@
BITSIZEOF_INT_LEAST8_T = @BITSIZEOF_INT_LEAST8_T@
BITSIZEOF_LONG = @BITSIZEOF_LONG@
BITSIZEOF_PTRDIFF_T = @BITSIZEOF_PTRDIFF_T@
BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
BITSIZEOF_UINT16_T = @BITSIZEOF_UINT16_T@
BITSIZEOF_UINT32_T = @BITSIZEOF_UINT32_T@
BITSIZEOF_UINT64_T = @BITSIZEOF_UINT64_T@
BITSIZEOF_UINT8_T = @BITSIZEOF_UINT8_T@
BITSIZEOF_UINTMAX_T = @BITSIZEOF_UINTMAX_T@
BITSIZEOF_UINTPTR_T = @BITSIZEOF_UINTPTR_T@
BITSIZEOF_UINT_FAST16_T = @BITSIZEOF_UINT_FAST16_T@
BITSIZEOF_UINT_FAST32_T = @BITSIZEOF_UINT_FAST32_T@
BITSIZEOF_UINT_FAST64_T = @BITSIZEOF_UINT_FAST64_T@
BITSIZEOF_UINT_FAST8_T = @BITSIZEOF_UINT_FAST8_T@
BITSIZEOF_UINT_LEAST16_T = @BITSIZEOF_UINT_LEAST16_T@
BITSIZEOF_UINT_LEAST32_T = @BITSIZEOF_UINT_LEAST32_T@
BITSIZEOF_UINT_LEAST64_T = @BITSIZEOF_UINT_LEAST64_T@
BITSIZEOF_UINT_LEAST8_T = @BITSIZEOF_UINT_LEAST8_T@
BITSIZEOF_UNSIGNED_INT = @BITSIZEOF_UNSIGNED_INT@
BITSIZEOF_UNSIGNED_LONG = @BITSIZEOF_UNSIGNED_LONG@
BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CFLAG_VISIBILITY = @CFLAG_VISIBILITY@
CP = @CP@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = -DEXEEXT=\"$(EXEEXT)\" -DDEPENDS_ON_LIBICONV=1 -DDEPENDS_ON_LIBINTL=1 @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DLL_VARIABLE = @DLL_VARIABLE@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EILSEQ = @EILSEQ@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
FULL_PATH_INTTYPES_H = @FULL_PATH_INTTYPES_H@
FULL_PATH_STDINT_H = @FULL_PATH_STDINT_H@
GCC = @GCC@
GMSGFMT = @GMSGFMT@
GMSGFMT_015 = @GMSGFMT_015@
GREP = @GREP@
HAVE_INT16_T = @HAVE_INT16_T@
HAVE_INT32_T = @HAVE_INT32_T@
HAVE_INT64_T = @HAVE_INT64_T@
HAVE_INT64_T_IN_STDINT_H = @HAVE_INT64_T_IN_STDINT_H@
HAVE_INT8_T = @HAVE_INT8_T@
HAVE_INTMAX_T = @HAVE_INTMAX_T@
HAVE_INTPTR_T = @HAVE_INTPTR_T@
HAVE_INTTYPES_H = @HAVE_INTTYPES_H@
HAVE_INT_FAST16_T = @HAVE_INT_FAST16_T@
HAVE_INT_FAST32_T = @HAVE_INT_FAST32_T@
HAVE_INT_FAST64_T = @HAVE_INT_FAST64_T@
HAVE_INT_FAST64_T_IN_STDINT_H = @HAVE_INT_FAST64_T_IN_STDINT_H@
HAVE_INT_FAST8_T = @HAVE_INT_FAST8_T@
HAVE_INT_LEAST16_T = @HAVE_INT_LEAST16_T@
HAVE_INT_LEAST32_T = @HAVE_INT_LEAST32_T@
HAVE_INT_LEAST64_T = @HAVE_INT_LEAST64_T@
HAVE_INT_LEAST64_T_IN_STDINT_H = @HAVE_INT_LEAST64_T_IN_STDINT_H@
HAVE_INT_LEAST8_T = @HAVE_INT_LEAST8_T@
HAVE_LONG_64BIT = @HAVE_LONG_64BIT@
HAVE_LONG_LONG_64BIT = @HAVE_LONG_LONG_64BIT@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
HAVE_UINT16_T = @HAVE_UINT16_T@
HAVE_UINT32_T = @HAVE_UINT32_T@
HAVE_UINT64_T = @HAVE_UINT64_T@
HAVE_UINT64_T_IN_STDINT_H = @HAVE_UINT64_T_IN_STDINT_H@
HAVE_UINT8_T = @HAVE_UINT8_T@
HAVE_UINTMAX_T = @HAVE_UINTMAX_T@
HAVE_UINTPTR_T = @HAVE_UINTPTR_T@
HAVE_UINT_FAST16_T = @HAVE_UINT_FAST16_T@
HAVE_UINT_FAST32_T = @HAVE_UINT_FAST32_T@
HAVE_UINT_FAST64_T = @HAVE_UINT_FAST64_T@
HAVE_UINT_FAST64_T_IN_STDINT_H = @HAVE_UINT_FAST64_T_IN_STDINT_H@
HAVE_UINT_FAST8_T = @HAVE_UINT_FAST8_T@
HAVE_UINT_LEAST16_T = @HAVE_UINT_LEAST16_T@
HAVE_UINT_LEAST32_T = @HAVE_UINT_LEAST32_T@
HAVE_UINT_LEAST64_T = @HAVE_UINT_LEAST64_T@
HAVE_UINT_LEAST64_T_IN_STDINT_H = @HAVE_UINT_LEAST64_T_IN_STDINT_H@
HAVE_UINT_LEAST8_T = @HAVE_UINT_LEAST8_T@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
HAVE_WCHAR_T = @HAVE_WCHAR_T@
HAVE__BOOL = @HAVE__BOOL@
ICONV_CONST = @ICONV_CONST@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INTLLIBS = @INTLLIBS@
INTL_MACOSX_LIBS = @INTL_MACOSX_LIBS@
LDFLAGS = @LDFLAGS@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN = @LN@
LN_S = @LN_S@
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MSGFMT = @MSGFMT@
MSGFMT_015 = @MSGFMT_015@
MSGMERGE = @MSGMERGE@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS = @OS@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PLUGLIB = @PLUGLIB@
POSUB = @POSUB@
RANLIB = @RANLIB@
RELOCATABLE = @RELOCATABLE@
RELOCATABLE_VIA_LD_FALSE = @RELOCATABLE_VIA_LD_FALSE@
RELOCATABLE_VIA_LD_TRUE = @RELOCATABLE_VIA_LD_TRUE@
SAME_TYPE_PTRDIFF_T_LONG = @SAME_TYPE_PTRDIFF_T_LONG@
SAME_TYPE_SIG_ATOMIC_T_LONG = @SAME_TYPE_SIG_ATOMIC_T_LONG@
SAME_TYPE_SIG_ATOMIC_T_UNSIGNED_LONG = @SAME_TYPE_SIG_ATOMIC_T_UNSIGNED_LONG@
SAME_TYPE_SIZE_T_UNSIGNED_LONG = @SAME_TYPE_SIZE_T_UNSIGNED_LONG@
SAME_TYPE_WCHAR_T_LONG = @SAME_TYPE_WCHAR_T_LONG@
SAME_TYPE_WCHAR_T_UNSIGNED_LONG = @SAME_TYPE_WCHAR_T_UNSIGNED_LONG@
SAME_TYPE_WINT_T_LONG = @SAME_TYPE_WINT_T_LONG@
SAME_TYPE_WINT_T_UNSIGNED_LONG = @SAME_TYPE_WINT_T_UNSIGNED_LONG@
SET_MAKE = @SET_MAKE@
SET_RELOCATABLE = @SET_RELOCATABLE@
SHELL = @SHELL@
SRCLIBOBJS = @SRCLIBOBJS@
STDBOOL_H = @STDBOOL_H@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
UNISTD_H = @UNISTD_H@
USE_EXTRA_ENCODINGS = @USE_EXTRA_ENCODINGS@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
WOE32DLL = @WOE32DLL@
XGETTEXT = @XGETTEXT@
XGETTEXT_015 = @XGETTEXT_015@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
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@
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@
subdirs = @subdirs@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
AUTOMAKE_OPTIONS = 1.5 gnits no-dependencies
# <<< gnulib module stdbool.

# >>> gnulib module stdint.
# <<< gnulib module alloca.

# >>> gnulib module unistd.
BUILT_SOURCES = $(STDINT_H) $(UNISTD_H)

# List of files to be distributed.

# >>> gnulib module stdbool.
# <<< gnulib module stdint.

# >>> gnulib module alloca.
# <<< gnulib module unistd.

# Woe32 support.
EXTRA_DIST = $(LIBADD_SOURCE) relocwrapper.c stdbool_.h stdint_.h \
	alloca_.h Makefile.msvc
MOSTLYCLEANFILES = stdbool.h stdint.h stdint.h-t alloca.h unistd.h
RM = rm -f
noinst_LIBRARIES = libicrt.a

# Sources that are compiled on all platforms.
libicrt_a_SOURCES = \
  allocsa.h allocsa.c \
  exit.h \
  pathmax.h \
  progname.h progname.c progreloc.c \
  unlocked-io.h \
  width.c uniwidth.h unitypes.h cjk.h streq.h \
  xalloc.h xmalloc.c xstrdup.c \
  xreadlink.h xreadlink.c


# Sources that are compiled only on platforms that lack the functions.
LIBADD_SOURCE = \
  canonicalize.h canonicalize.c \
  error.h error.c \
  memmove.c \
  readlink.c \
  relocatable.h relocatable.c \
  setenv.h setenv.c unsetenv.c \
  strerror.c


# How to build libicrt.a.
libicrt_a_LIBADD = @SRCLIBOBJS@
libicrt_a_DEPENDENCIES = @SRCLIBOBJS@
INCLUDES = -I. -I$(srcdir)
all: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) all-am

.SUFFIXES:
.SUFFIXES: .c .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 \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnits  srclib/Makefile'; \
	cd $(top_srcdir) && \
	  $(AUTOMAKE) --gnits  srclib/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

clean-noinstLIBRARIES:
	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
libicrt.a: $(libicrt_a_OBJECTS) $(libicrt_a_DEPENDENCIES) 
	-rm -f libicrt.a
	$(libicrt_a_AR) libicrt.a $(libicrt_a_OBJECTS) $(libicrt_a_LIBADD)
	$(RANLIB) libicrt.a

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

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

.c.o:
	$(COMPILE) -c $<

.c.obj:
	$(COMPILE) -c `$(CYGPATH_W) '$<'`

.c.lo:
	$(LTCOMPILE) -c -o $@ $<

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

distclean-libtool:
	-rm -f libtool
uninstall-info-am:

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; } \
	       END { for (i in files) print i; }'`; \
	mkid -fID $$unique
tags: TAGS

TAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	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; } \
	       END { for (i in files) print i; }'`; \
	if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
	  test -n "$$unique" || unique=$$empty_fix; \
	  $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
	    $$tags $$unique; \
	fi
ctags: CTAGS
CTAGS:  $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	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; } \
	       END { for (i in files) print i; }'`; \
	test -z "$(CTAGS_ARGS)$$tags$$unique" \
	  || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
	     $$tags $$unique

GTAGS:
	here=`$(am__cd) $(top_builddir) && pwd` \
	  && 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)'; for file in $$list; do \
	  case $$file in \
	    $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
	    $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
	  esac; \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
	  if test "$$dir" != "$$file" && test "$$dir" != "."; then \
	    dir="/$$dir"; \
	    $(mkdir_p) "$(distdir)$$dir"; \
	  else \
	    dir=''; \
	  fi; \
	  if test -d $$d/$$file; then \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
	    fi; \
	    cp -pR $$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: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile $(LIBRARIES)
installdirs:
install: $(BUILT_SOURCES)
	$(MAKE) $(AM_MAKEFLAGS) 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:
	-test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
	-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
clean: clean-am

clean-am: clean-generic clean-libtool clean-noinstLIBRARIES \
	mostlyclean-am

distclean: distclean-am
	-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
	distclean-libtool distclean-tags

dvi: dvi-am

dvi-am:

html: html-am

info: info-am

info-am:

install-data-am:

install-exec-am:

install-info: install-info-am

install-man:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-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-info-am

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
	clean-libtool clean-noinstLIBRARIES ctags distclean \
	distclean-compile distclean-generic distclean-libtool \
	distclean-tags distdir dvi dvi-am html html-am info info-am \
	install install-am install-data install-data-am install-exec \
	install-exec-am install-info install-info-am install-man \
	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-info-am


# The following is needed in order to create an <stdbool.h> when the system
# doesn't have one that works.
all-local $(libicrt_a_OBJECTS): @STDBOOL_H@
stdbool.h: stdbool_.h
	sed -e 's/@''HAVE__BOOL''@/@HAVE__BOOL@/g' < $(srcdir)/stdbool_.h > stdbool.h

# We need the following in order to create an <stdint.h> when the system
# doesn't have one that works with the given compiler.
all-local $(libicrt_a_OBJECTS): $(STDINT_H)
stdint.h: stdint_.h
	sed -e 's/@''HAVE_WCHAR_H''@/$(HAVE_WCHAR_H)/g' \
	    -e 's/@''HAVE_STDINT_H''@/$(HAVE_STDINT_H)/g' \
	    -e 's|@''FULL_PATH_STDINT_H''@|$(FULL_PATH_STDINT_H)|g' \
	    -e 's/@''HAVE_INTTYPES_H''@/$(HAVE_INTTYPES_H)/g' \
	    -e 's|@''FULL_PATH_INTTYPES_H''@|$(FULL_PATH_INTTYPES_H)|g' \
	    -e 's/@''HAVE_SYS_INTTYPES_H''@/$(HAVE_SYS_INTTYPES_H)/g' \
	    -e 's/@''HAVE_SYS_BITYPES_H''@/$(HAVE_SYS_BITYPES_H)/g' \
	    -e 's/@''HAVE_LONG_64BIT''@/$(HAVE_LONG_64BIT)/g' \
	    -e 's/@''HAVE_LONG_LONG_64BIT''@/$(HAVE_LONG_LONG_64BIT)/g' \
	    -e 's/@''HAVE_INT8_T''@/$(HAVE_INT8_T)/g' \
	    -e 's/@''HAVE_INT16_T''@/$(HAVE_INT16_T)/g' \
	    -e 's/@''HAVE_INT32_T''@/$(HAVE_INT32_T)/g' \
	    -e 's/@''HAVE_INT64_T''@/$(HAVE_INT64_T)/g' \
	    -e 's/@''HAVE_UINT8_T''@/$(HAVE_UINT8_T)/g' \
	    -e 's/@''HAVE_UINT16_T''@/$(HAVE_UINT16_T)/g' \
	    -e 's/@''HAVE_UINT32_T''@/$(HAVE_UINT32_T)/g' \
	    -e 's/@''HAVE_UINT64_T''@/$(HAVE_UINT64_T)/g' \
	    -e 's/@''HAVE_INT_LEAST8_T''@/$(HAVE_INT_LEAST8_T)/g' \
	    -e 's/@''HAVE_INT_LEAST16_T''@/$(HAVE_INT_LEAST16_T)/g' \
	    -e 's/@''HAVE_INT_LEAST32_T''@/$(HAVE_INT_LEAST32_T)/g' \
	    -e 's/@''HAVE_INT_LEAST64_T''@/$(HAVE_INT_LEAST64_T)/g' \
	    -e 's/@''HAVE_UINT_LEAST8_T''@/$(HAVE_UINT_LEAST8_T)/g' \
	    -e 's/@''HAVE_UINT_LEAST16_T''@/$(HAVE_UINT_LEAST16_T)/g' \
	    -e 's/@''HAVE_UINT_LEAST32_T''@/$(HAVE_UINT_LEAST32_T)/g' \
	    -e 's/@''HAVE_UINT_LEAST64_T''@/$(HAVE_UINT_LEAST64_T)/g' \
	    -e 's/@''HAVE_INT_FAST8_T''@/$(HAVE_INT_FAST8_T)/g' \
	    -e 's/@''HAVE_INT_FAST16_T''@/$(HAVE_INT_FAST16_T)/g' \
	    -e 's/@''HAVE_INT_FAST32_T''@/$(HAVE_INT_FAST32_T)/g' \
	    -e 's/@''HAVE_INT_FAST64_T''@/$(HAVE_INT_FAST64_T)/g' \
	    -e 's/@''HAVE_UINT_FAST8_T''@/$(HAVE_UINT_FAST8_T)/g' \
	    -e 's/@''HAVE_UINT_FAST16_T''@/$(HAVE_UINT_FAST16_T)/g' \
	    -e 's/@''HAVE_UINT_FAST32_T''@/$(HAVE_UINT_FAST32_T)/g' \
	    -e 's/@''HAVE_UINT_FAST64_T''@/$(HAVE_UINT_FAST64_T)/g' \
	    -e 's/@''HAVE_INTPTR_T''@/$(HAVE_INTPTR_T)/g' \
	    -e 's/@''HAVE_UINTPTR_T''@/$(HAVE_UINTPTR_T)/g' \
	    -e 's/@''HAVE_INTMAX_T''@/$(HAVE_INTMAX_T)/g' \
	    -e 's/@''HAVE_UINTMAX_T''@/$(HAVE_UINTMAX_T)/g' \
	    -e 's/@''BITSIZEOF_UNSIGNED_INT''@/$(BITSIZEOF_UNSIGNED_INT)/g' \
	    -e 's/@''BITSIZEOF_LONG''@/$(BITSIZEOF_LONG)/g' \
	    -e 's/@''BITSIZEOF_UNSIGNED_LONG''@/$(BITSIZEOF_UNSIGNED_LONG)/g' \
	    -e 's/@''BITSIZEOF_INT8_T''@/$(BITSIZEOF_INT8_T)/g' \
	    -e 's/@''BITSIZEOF_INT16_T''@/$(BITSIZEOF_INT16_T)/g' \
	    -e 's/@''BITSIZEOF_INT32_T''@/$(BITSIZEOF_INT32_T)/g' \
	    -e 's/@''BITSIZEOF_INT64_T''@/$(BITSIZEOF_INT64_T)/g' \
	    -e 's/@''BITSIZEOF_UINT8_T''@/$(BITSIZEOF_UINT8_T)/g' \
	    -e 's/@''BITSIZEOF_UINT16_T''@/$(BITSIZEOF_UINT16_T)/g' \
	    -e 's/@''BITSIZEOF_UINT32_T''@/$(BITSIZEOF_UINT32_T)/g' \
	    -e 's/@''BITSIZEOF_UINT64_T''@/$(BITSIZEOF_UINT64_T)/g' \
	    -e 's/@''BITSIZEOF_INT_LEAST8_T''@/$(BITSIZEOF_INT_LEAST8_T)/g' \
	    -e 's/@''BITSIZEOF_INT_LEAST16_T''@/$(BITSIZEOF_INT_LEAST16_T)/g' \
	    -e 's/@''BITSIZEOF_INT_LEAST32_T''@/$(BITSIZEOF_INT_LEAST32_T)/g' \
	    -e 's/@''BITSIZEOF_INT_LEAST64_T''@/$(BITSIZEOF_INT_LEAST64_T)/g' \
	    -e 's/@''BITSIZEOF_UINT_LEAST8_T''@/$(BITSIZEOF_UINT_LEAST8_T)/g' \
	    -e 's/@''BITSIZEOF_UINT_LEAST16_T''@/$(BITSIZEOF_UINT_LEAST16_T)/g' \
	    -e 's/@''BITSIZEOF_UINT_LEAST32_T''@/$(BITSIZEOF_UINT_LEAST32_T)/g' \
	    -e 's/@''BITSIZEOF_UINT_LEAST64_T''@/$(BITSIZEOF_UINT_LEAST64_T)/g' \
	    -e 's/@''BITSIZEOF_INT_FAST8_T''@/$(BITSIZEOF_INT_FAST8_T)/g' \
	    -e 's/@''BITSIZEOF_INT_FAST16_T''@/$(BITSIZEOF_INT_FAST16_T)/g' \
	    -e 's/@''BITSIZEOF_INT_FAST32_T''@/$(BITSIZEOF_INT_FAST32_T)/g' \
	    -e 's/@''BITSIZEOF_INT_FAST64_T''@/$(BITSIZEOF_INT_FAST64_T)/g' \
	    -e 's/@''BITSIZEOF_UINT_FAST8_T''@/$(BITSIZEOF_UINT_FAST8_T)/g' \
	    -e 's/@''BITSIZEOF_UINT_FAST16_T''@/$(BITSIZEOF_UINT_FAST16_T)/g' \
	    -e 's/@''BITSIZEOF_UINT_FAST32_T''@/$(BITSIZEOF_UINT_FAST32_T)/g' \
	    -e 's/@''BITSIZEOF_UINT_FAST64_T''@/$(BITSIZEOF_UINT_FAST64_T)/g' \
	    -e 's/@''BITSIZEOF_INTPTR_T''@/$(BITSIZEOF_INTPTR_T)/g' \
	    -e 's/@''BITSIZEOF_UINTPTR_T''@/$(BITSIZEOF_UINTPTR_T)/g' \
	    -e 's/@''BITSIZEOF_INTMAX_T''@/$(BITSIZEOF_INTMAX_T)/g' \
	    -e 's/@''BITSIZEOF_UINTMAX_T''@/$(BITSIZEOF_UINTMAX_T)/g' \
	    -e 's/@''BITSIZEOF_PTRDIFF_T''@/$(BITSIZEOF_PTRDIFF_T)/g' \
	    -e 's/@''SAME_TYPE_PTRDIFF_T_LONG''@/$(SAME_TYPE_PTRDIFF_T_LONG)/g' \
	    -e 's/@''BITSIZEOF_SIG_ATOMIC_T''@/$(BITSIZEOF_SIG_ATOMIC_T)/g' \
	    -e 's/@''HAVE_SIGNED_SIG_ATOMIC_T''@/$(HAVE_SIGNED_SIG_ATOMIC_T)/g' \
	    -e 's/@''SAME_TYPE_SIG_ATOMIC_T_LONG''@/$(SAME_TYPE_SIG_ATOMIC_T_LONG)/g' \
	    -e 's/@''SAME_TYPE_SIG_ATOMIC_T_UNSIGNED_LONG''@/$(SAME_TYPE_SIG_ATOMIC_T_UNSIGNED_LONG)/g' \
	    -e 's/@''BITSIZEOF_SIZE_T''@/$(BITSIZEOF_SIZE_T)/g' \
	    -e 's/@''SAME_TYPE_SIZE_T_UNSIGNED_LONG''@/$(SAME_TYPE_SIZE_T_UNSIGNED_LONG)/g' \
	    -e 's/@''BITSIZEOF_WCHAR_T''@/$(BITSIZEOF_WCHAR_T)/g' \
	    -e 's/@''HAVE_SIGNED_WCHAR_T''@/$(HAVE_SIGNED_WCHAR_T)/g' \
	    -e 's/@''SAME_TYPE_WCHAR_T_LONG''@/$(SAME_TYPE_WCHAR_T_LONG)/g' \
	    -e 's/@''SAME_TYPE_WCHAR_T_UNSIGNED_LONG''@/$(SAME_TYPE_WCHAR_T_UNSIGNED_LONG)/g' \
	    -e 's/@''BITSIZEOF_WINT_T''@/$(BITSIZEOF_WINT_T)/g' \
	    -e 's/@''HAVE_SIGNED_WINT_T''@/$(HAVE_SIGNED_WINT_T)/g' \
	    -e 's/@''SAME_TYPE_WINT_T_LONG''@/$(SAME_TYPE_WINT_T_LONG)/g' \
	    -e 's/@''SAME_TYPE_WINT_T_UNSIGNED_LONG''@/$(SAME_TYPE_WINT_T_UNSIGNED_LONG)/g' \
	    < $(srcdir)/stdint_.h > $@-t
	mv $@-t $@

# The following is needed in order to create an <alloca.h> when the system
# doesn't have one that works with the given compiler.
all-local $(libicrt_a_OBJECTS): @ALLOCA_H@
alloca.h: alloca_.h
	cp $(srcdir)/alloca_.h alloca.h

# We need the following in order to create an empty placeholder for
# <unistd.h> when the system doesn't have one.
unistd.h:
	echo '/* Empty placeholder for $@.  */' >$@
# 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:
