# Makefile.in generated by automake 1.9.5 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@

SOURCES = $(libreiserfs_static_a_SOURCES)

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 = libreiserfs
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libreiserfs_static_a_AR = $(AR) $(ARFLAGS)
libreiserfs_static_a_DEPENDENCIES =  \
	$(top_builddir)/libmisc/libmisc-static.a
am__objects_1 = libreiserfs_static_a-badblock.$(OBJEXT) \
	libreiserfs_static_a-fix_node.$(OBJEXT) \
	libreiserfs_static_a-leaf.$(OBJEXT) \
	libreiserfs_static_a-stat.$(OBJEXT) \
	libreiserfs_static_a-bitmap.$(OBJEXT) \
	libreiserfs_static_a-hash.$(OBJEXT) \
	libreiserfs_static_a-leaf_balance.$(OBJEXT) \
	libreiserfs_static_a-buffer.$(OBJEXT) \
	libreiserfs_static_a-internal.$(OBJEXT) \
	libreiserfs_static_a-libreiserfs.$(OBJEXT) \
	libreiserfs_static_a-internal_balance.$(OBJEXT) \
	libreiserfs_static_a-super.$(OBJEXT) \
	libreiserfs_static_a-direntry.$(OBJEXT) \
	libreiserfs_static_a-node.$(OBJEXT) \
	libreiserfs_static_a-tree.$(OBJEXT) \
	libreiserfs_static_a-extent.$(OBJEXT) \
	libreiserfs_static_a-journal.$(OBJEXT) \
	libreiserfs_static_a-objmap.$(OBJEXT) \
	libreiserfs_static_a-tree_balance.$(OBJEXT) \
	libreiserfs_static_a-filesystem.$(OBJEXT) \
	libreiserfs_static_a-key.$(OBJEXT) \
	libreiserfs_static_a-prints.$(OBJEXT)
am_libreiserfs_static_a_OBJECTS = $(am__objects_1)
libreiserfs_static_a_OBJECTS = $(am_libreiserfs_static_a_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libreiserfs_static_a_SOURCES)
DIST_SOURCES = $(libreiserfs_static_a_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAINT = @MAINT@
MAINTAINER_MODE_FALSE = @MAINTAINER_MODE_FALSE@
MAINTAINER_MODE_TRUE = @MAINTAINER_MODE_TRUE@
MAKEINFO = @MAKEINFO@
OBJEXT = @OBJEXT@
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@
PROGS_LDFLAGS = @PROGS_LDFLAGS@
RANLIB = @RANLIB@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
UUID_LIBS = @UUID_LIBS@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_RANLIB = @ac_ct_RANLIB@
ac_ct_STRIP = @ac_ct_STRIP@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_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@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
prefix = @prefix@
program_transform_name = @program_transform_name@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
libreiserfs_sources = badblock.c    fix_node.c     leaf.c               stat.c	 \
				  bitmap.c      hash.c         leaf_balance.c       buffer.c     \
				  internal.c    libreiserfs.c  internal_balance.c   super.c	 \
				  direntry.c    node.c         tree.c	            extent.c	 \
				  journal.c     objmap.c       tree_balance.c       filesystem.c \
				  key.c         prints.c


#lib_LIBRARIES			= libreiserfs.la
noinst_LIBRARIES = libreiserfs-static.a

#libreiserfs_la_LIBADD		= $(top_builddir)/libmisc/libmisc-static.la
#libreiserfs_la_SOURCES		= $(libreiserfs_sources)
# libreiserfs_la_LDFLAGS	= -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
#				  -release $(LT_RELEASE)
#libreiserfs_la_CFLAGS		= @CFLAGS@
libreiserfs_static_a_LIBADD = $(top_builddir)/libmisc/libmisc-static.a 
libreiserfs_static_a_SOURCES = $(libreiserfs_sources)
#libreiserfs_static_a_LDFLAGS	= -static
libreiserfs_static_a_CFLAGS = @CFLAGS@
INCLUDES = -I$(top_srcdir)/include
all: all-am

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

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

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

clean-noinstLIBRARIES:
	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
libreiserfs-static.a: $(libreiserfs_static_a_OBJECTS) $(libreiserfs_static_a_DEPENDENCIES) 
	-rm -f libreiserfs-static.a
	$(libreiserfs_static_a_AR) libreiserfs-static.a $(libreiserfs_static_a_OBJECTS) $(libreiserfs_static_a_LIBADD)
	$(RANLIB) libreiserfs-static.a

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-badblock.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-bitmap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-buffer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-direntry.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-extent.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-filesystem.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-fix_node.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-internal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-internal_balance.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-journal.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-key.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-leaf.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-leaf_balance.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-libreiserfs.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-node.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-objmap.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-prints.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-stat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-super.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-tree.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libreiserfs_static_a-tree_balance.Po@am__quote@

.c.o:
@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c $<

.c.obj:
@am__fastdepCC_TRUE@	if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(COMPILE) -c `$(CYGPATH_W) '$<'`

libreiserfs_static_a-badblock.o: badblock.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-badblock.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-badblock.Tpo" -c -o libreiserfs_static_a-badblock.o `test -f 'badblock.c' || echo '$(srcdir)/'`badblock.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-badblock.Tpo" "$(DEPDIR)/libreiserfs_static_a-badblock.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-badblock.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='badblock.c' object='libreiserfs_static_a-badblock.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-badblock.o `test -f 'badblock.c' || echo '$(srcdir)/'`badblock.c

libreiserfs_static_a-badblock.obj: badblock.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-badblock.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-badblock.Tpo" -c -o libreiserfs_static_a-badblock.obj `if test -f 'badblock.c'; then $(CYGPATH_W) 'badblock.c'; else $(CYGPATH_W) '$(srcdir)/badblock.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-badblock.Tpo" "$(DEPDIR)/libreiserfs_static_a-badblock.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-badblock.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='badblock.c' object='libreiserfs_static_a-badblock.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-badblock.obj `if test -f 'badblock.c'; then $(CYGPATH_W) 'badblock.c'; else $(CYGPATH_W) '$(srcdir)/badblock.c'; fi`

libreiserfs_static_a-fix_node.o: fix_node.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-fix_node.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-fix_node.Tpo" -c -o libreiserfs_static_a-fix_node.o `test -f 'fix_node.c' || echo '$(srcdir)/'`fix_node.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-fix_node.Tpo" "$(DEPDIR)/libreiserfs_static_a-fix_node.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-fix_node.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fix_node.c' object='libreiserfs_static_a-fix_node.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-fix_node.o `test -f 'fix_node.c' || echo '$(srcdir)/'`fix_node.c

libreiserfs_static_a-fix_node.obj: fix_node.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-fix_node.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-fix_node.Tpo" -c -o libreiserfs_static_a-fix_node.obj `if test -f 'fix_node.c'; then $(CYGPATH_W) 'fix_node.c'; else $(CYGPATH_W) '$(srcdir)/fix_node.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-fix_node.Tpo" "$(DEPDIR)/libreiserfs_static_a-fix_node.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-fix_node.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='fix_node.c' object='libreiserfs_static_a-fix_node.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-fix_node.obj `if test -f 'fix_node.c'; then $(CYGPATH_W) 'fix_node.c'; else $(CYGPATH_W) '$(srcdir)/fix_node.c'; fi`

libreiserfs_static_a-leaf.o: leaf.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-leaf.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-leaf.Tpo" -c -o libreiserfs_static_a-leaf.o `test -f 'leaf.c' || echo '$(srcdir)/'`leaf.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-leaf.Tpo" "$(DEPDIR)/libreiserfs_static_a-leaf.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-leaf.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='leaf.c' object='libreiserfs_static_a-leaf.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-leaf.o `test -f 'leaf.c' || echo '$(srcdir)/'`leaf.c

libreiserfs_static_a-leaf.obj: leaf.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-leaf.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-leaf.Tpo" -c -o libreiserfs_static_a-leaf.obj `if test -f 'leaf.c'; then $(CYGPATH_W) 'leaf.c'; else $(CYGPATH_W) '$(srcdir)/leaf.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-leaf.Tpo" "$(DEPDIR)/libreiserfs_static_a-leaf.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-leaf.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='leaf.c' object='libreiserfs_static_a-leaf.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-leaf.obj `if test -f 'leaf.c'; then $(CYGPATH_W) 'leaf.c'; else $(CYGPATH_W) '$(srcdir)/leaf.c'; fi`

libreiserfs_static_a-stat.o: stat.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-stat.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-stat.Tpo" -c -o libreiserfs_static_a-stat.o `test -f 'stat.c' || echo '$(srcdir)/'`stat.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-stat.Tpo" "$(DEPDIR)/libreiserfs_static_a-stat.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-stat.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stat.c' object='libreiserfs_static_a-stat.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-stat.o `test -f 'stat.c' || echo '$(srcdir)/'`stat.c

libreiserfs_static_a-stat.obj: stat.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-stat.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-stat.Tpo" -c -o libreiserfs_static_a-stat.obj `if test -f 'stat.c'; then $(CYGPATH_W) 'stat.c'; else $(CYGPATH_W) '$(srcdir)/stat.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-stat.Tpo" "$(DEPDIR)/libreiserfs_static_a-stat.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-stat.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='stat.c' object='libreiserfs_static_a-stat.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-stat.obj `if test -f 'stat.c'; then $(CYGPATH_W) 'stat.c'; else $(CYGPATH_W) '$(srcdir)/stat.c'; fi`

libreiserfs_static_a-bitmap.o: bitmap.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-bitmap.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-bitmap.Tpo" -c -o libreiserfs_static_a-bitmap.o `test -f 'bitmap.c' || echo '$(srcdir)/'`bitmap.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-bitmap.Tpo" "$(DEPDIR)/libreiserfs_static_a-bitmap.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-bitmap.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bitmap.c' object='libreiserfs_static_a-bitmap.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-bitmap.o `test -f 'bitmap.c' || echo '$(srcdir)/'`bitmap.c

libreiserfs_static_a-bitmap.obj: bitmap.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-bitmap.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-bitmap.Tpo" -c -o libreiserfs_static_a-bitmap.obj `if test -f 'bitmap.c'; then $(CYGPATH_W) 'bitmap.c'; else $(CYGPATH_W) '$(srcdir)/bitmap.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-bitmap.Tpo" "$(DEPDIR)/libreiserfs_static_a-bitmap.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-bitmap.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='bitmap.c' object='libreiserfs_static_a-bitmap.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-bitmap.obj `if test -f 'bitmap.c'; then $(CYGPATH_W) 'bitmap.c'; else $(CYGPATH_W) '$(srcdir)/bitmap.c'; fi`

libreiserfs_static_a-hash.o: hash.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-hash.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-hash.Tpo" -c -o libreiserfs_static_a-hash.o `test -f 'hash.c' || echo '$(srcdir)/'`hash.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-hash.Tpo" "$(DEPDIR)/libreiserfs_static_a-hash.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-hash.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='hash.c' object='libreiserfs_static_a-hash.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-hash.o `test -f 'hash.c' || echo '$(srcdir)/'`hash.c

libreiserfs_static_a-hash.obj: hash.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-hash.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-hash.Tpo" -c -o libreiserfs_static_a-hash.obj `if test -f 'hash.c'; then $(CYGPATH_W) 'hash.c'; else $(CYGPATH_W) '$(srcdir)/hash.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-hash.Tpo" "$(DEPDIR)/libreiserfs_static_a-hash.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-hash.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='hash.c' object='libreiserfs_static_a-hash.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-hash.obj `if test -f 'hash.c'; then $(CYGPATH_W) 'hash.c'; else $(CYGPATH_W) '$(srcdir)/hash.c'; fi`

libreiserfs_static_a-leaf_balance.o: leaf_balance.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-leaf_balance.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-leaf_balance.Tpo" -c -o libreiserfs_static_a-leaf_balance.o `test -f 'leaf_balance.c' || echo '$(srcdir)/'`leaf_balance.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-leaf_balance.Tpo" "$(DEPDIR)/libreiserfs_static_a-leaf_balance.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-leaf_balance.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='leaf_balance.c' object='libreiserfs_static_a-leaf_balance.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-leaf_balance.o `test -f 'leaf_balance.c' || echo '$(srcdir)/'`leaf_balance.c

libreiserfs_static_a-leaf_balance.obj: leaf_balance.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-leaf_balance.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-leaf_balance.Tpo" -c -o libreiserfs_static_a-leaf_balance.obj `if test -f 'leaf_balance.c'; then $(CYGPATH_W) 'leaf_balance.c'; else $(CYGPATH_W) '$(srcdir)/leaf_balance.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-leaf_balance.Tpo" "$(DEPDIR)/libreiserfs_static_a-leaf_balance.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-leaf_balance.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='leaf_balance.c' object='libreiserfs_static_a-leaf_balance.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-leaf_balance.obj `if test -f 'leaf_balance.c'; then $(CYGPATH_W) 'leaf_balance.c'; else $(CYGPATH_W) '$(srcdir)/leaf_balance.c'; fi`

libreiserfs_static_a-buffer.o: buffer.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-buffer.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-buffer.Tpo" -c -o libreiserfs_static_a-buffer.o `test -f 'buffer.c' || echo '$(srcdir)/'`buffer.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-buffer.Tpo" "$(DEPDIR)/libreiserfs_static_a-buffer.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-buffer.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='buffer.c' object='libreiserfs_static_a-buffer.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-buffer.o `test -f 'buffer.c' || echo '$(srcdir)/'`buffer.c

libreiserfs_static_a-buffer.obj: buffer.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-buffer.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-buffer.Tpo" -c -o libreiserfs_static_a-buffer.obj `if test -f 'buffer.c'; then $(CYGPATH_W) 'buffer.c'; else $(CYGPATH_W) '$(srcdir)/buffer.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-buffer.Tpo" "$(DEPDIR)/libreiserfs_static_a-buffer.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-buffer.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='buffer.c' object='libreiserfs_static_a-buffer.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-buffer.obj `if test -f 'buffer.c'; then $(CYGPATH_W) 'buffer.c'; else $(CYGPATH_W) '$(srcdir)/buffer.c'; fi`

libreiserfs_static_a-internal.o: internal.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-internal.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-internal.Tpo" -c -o libreiserfs_static_a-internal.o `test -f 'internal.c' || echo '$(srcdir)/'`internal.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-internal.Tpo" "$(DEPDIR)/libreiserfs_static_a-internal.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-internal.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='internal.c' object='libreiserfs_static_a-internal.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-internal.o `test -f 'internal.c' || echo '$(srcdir)/'`internal.c

libreiserfs_static_a-internal.obj: internal.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-internal.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-internal.Tpo" -c -o libreiserfs_static_a-internal.obj `if test -f 'internal.c'; then $(CYGPATH_W) 'internal.c'; else $(CYGPATH_W) '$(srcdir)/internal.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-internal.Tpo" "$(DEPDIR)/libreiserfs_static_a-internal.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-internal.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='internal.c' object='libreiserfs_static_a-internal.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-internal.obj `if test -f 'internal.c'; then $(CYGPATH_W) 'internal.c'; else $(CYGPATH_W) '$(srcdir)/internal.c'; fi`

libreiserfs_static_a-libreiserfs.o: libreiserfs.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-libreiserfs.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-libreiserfs.Tpo" -c -o libreiserfs_static_a-libreiserfs.o `test -f 'libreiserfs.c' || echo '$(srcdir)/'`libreiserfs.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-libreiserfs.Tpo" "$(DEPDIR)/libreiserfs_static_a-libreiserfs.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-libreiserfs.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='libreiserfs.c' object='libreiserfs_static_a-libreiserfs.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-libreiserfs.o `test -f 'libreiserfs.c' || echo '$(srcdir)/'`libreiserfs.c

libreiserfs_static_a-libreiserfs.obj: libreiserfs.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-libreiserfs.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-libreiserfs.Tpo" -c -o libreiserfs_static_a-libreiserfs.obj `if test -f 'libreiserfs.c'; then $(CYGPATH_W) 'libreiserfs.c'; else $(CYGPATH_W) '$(srcdir)/libreiserfs.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-libreiserfs.Tpo" "$(DEPDIR)/libreiserfs_static_a-libreiserfs.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-libreiserfs.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='libreiserfs.c' object='libreiserfs_static_a-libreiserfs.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-libreiserfs.obj `if test -f 'libreiserfs.c'; then $(CYGPATH_W) 'libreiserfs.c'; else $(CYGPATH_W) '$(srcdir)/libreiserfs.c'; fi`

libreiserfs_static_a-internal_balance.o: internal_balance.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-internal_balance.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-internal_balance.Tpo" -c -o libreiserfs_static_a-internal_balance.o `test -f 'internal_balance.c' || echo '$(srcdir)/'`internal_balance.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-internal_balance.Tpo" "$(DEPDIR)/libreiserfs_static_a-internal_balance.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-internal_balance.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='internal_balance.c' object='libreiserfs_static_a-internal_balance.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-internal_balance.o `test -f 'internal_balance.c' || echo '$(srcdir)/'`internal_balance.c

libreiserfs_static_a-internal_balance.obj: internal_balance.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-internal_balance.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-internal_balance.Tpo" -c -o libreiserfs_static_a-internal_balance.obj `if test -f 'internal_balance.c'; then $(CYGPATH_W) 'internal_balance.c'; else $(CYGPATH_W) '$(srcdir)/internal_balance.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-internal_balance.Tpo" "$(DEPDIR)/libreiserfs_static_a-internal_balance.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-internal_balance.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='internal_balance.c' object='libreiserfs_static_a-internal_balance.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-internal_balance.obj `if test -f 'internal_balance.c'; then $(CYGPATH_W) 'internal_balance.c'; else $(CYGPATH_W) '$(srcdir)/internal_balance.c'; fi`

libreiserfs_static_a-super.o: super.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-super.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-super.Tpo" -c -o libreiserfs_static_a-super.o `test -f 'super.c' || echo '$(srcdir)/'`super.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-super.Tpo" "$(DEPDIR)/libreiserfs_static_a-super.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-super.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='super.c' object='libreiserfs_static_a-super.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-super.o `test -f 'super.c' || echo '$(srcdir)/'`super.c

libreiserfs_static_a-super.obj: super.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-super.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-super.Tpo" -c -o libreiserfs_static_a-super.obj `if test -f 'super.c'; then $(CYGPATH_W) 'super.c'; else $(CYGPATH_W) '$(srcdir)/super.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-super.Tpo" "$(DEPDIR)/libreiserfs_static_a-super.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-super.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='super.c' object='libreiserfs_static_a-super.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-super.obj `if test -f 'super.c'; then $(CYGPATH_W) 'super.c'; else $(CYGPATH_W) '$(srcdir)/super.c'; fi`

libreiserfs_static_a-direntry.o: direntry.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-direntry.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-direntry.Tpo" -c -o libreiserfs_static_a-direntry.o `test -f 'direntry.c' || echo '$(srcdir)/'`direntry.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-direntry.Tpo" "$(DEPDIR)/libreiserfs_static_a-direntry.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-direntry.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='direntry.c' object='libreiserfs_static_a-direntry.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-direntry.o `test -f 'direntry.c' || echo '$(srcdir)/'`direntry.c

libreiserfs_static_a-direntry.obj: direntry.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-direntry.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-direntry.Tpo" -c -o libreiserfs_static_a-direntry.obj `if test -f 'direntry.c'; then $(CYGPATH_W) 'direntry.c'; else $(CYGPATH_W) '$(srcdir)/direntry.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-direntry.Tpo" "$(DEPDIR)/libreiserfs_static_a-direntry.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-direntry.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='direntry.c' object='libreiserfs_static_a-direntry.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-direntry.obj `if test -f 'direntry.c'; then $(CYGPATH_W) 'direntry.c'; else $(CYGPATH_W) '$(srcdir)/direntry.c'; fi`

libreiserfs_static_a-node.o: node.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-node.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-node.Tpo" -c -o libreiserfs_static_a-node.o `test -f 'node.c' || echo '$(srcdir)/'`node.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-node.Tpo" "$(DEPDIR)/libreiserfs_static_a-node.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-node.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='node.c' object='libreiserfs_static_a-node.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-node.o `test -f 'node.c' || echo '$(srcdir)/'`node.c

libreiserfs_static_a-node.obj: node.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-node.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-node.Tpo" -c -o libreiserfs_static_a-node.obj `if test -f 'node.c'; then $(CYGPATH_W) 'node.c'; else $(CYGPATH_W) '$(srcdir)/node.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-node.Tpo" "$(DEPDIR)/libreiserfs_static_a-node.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-node.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='node.c' object='libreiserfs_static_a-node.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-node.obj `if test -f 'node.c'; then $(CYGPATH_W) 'node.c'; else $(CYGPATH_W) '$(srcdir)/node.c'; fi`

libreiserfs_static_a-tree.o: tree.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-tree.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-tree.Tpo" -c -o libreiserfs_static_a-tree.o `test -f 'tree.c' || echo '$(srcdir)/'`tree.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-tree.Tpo" "$(DEPDIR)/libreiserfs_static_a-tree.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-tree.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tree.c' object='libreiserfs_static_a-tree.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-tree.o `test -f 'tree.c' || echo '$(srcdir)/'`tree.c

libreiserfs_static_a-tree.obj: tree.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-tree.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-tree.Tpo" -c -o libreiserfs_static_a-tree.obj `if test -f 'tree.c'; then $(CYGPATH_W) 'tree.c'; else $(CYGPATH_W) '$(srcdir)/tree.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-tree.Tpo" "$(DEPDIR)/libreiserfs_static_a-tree.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-tree.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tree.c' object='libreiserfs_static_a-tree.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-tree.obj `if test -f 'tree.c'; then $(CYGPATH_W) 'tree.c'; else $(CYGPATH_W) '$(srcdir)/tree.c'; fi`

libreiserfs_static_a-extent.o: extent.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-extent.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-extent.Tpo" -c -o libreiserfs_static_a-extent.o `test -f 'extent.c' || echo '$(srcdir)/'`extent.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-extent.Tpo" "$(DEPDIR)/libreiserfs_static_a-extent.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-extent.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extent.c' object='libreiserfs_static_a-extent.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-extent.o `test -f 'extent.c' || echo '$(srcdir)/'`extent.c

libreiserfs_static_a-extent.obj: extent.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-extent.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-extent.Tpo" -c -o libreiserfs_static_a-extent.obj `if test -f 'extent.c'; then $(CYGPATH_W) 'extent.c'; else $(CYGPATH_W) '$(srcdir)/extent.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-extent.Tpo" "$(DEPDIR)/libreiserfs_static_a-extent.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-extent.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='extent.c' object='libreiserfs_static_a-extent.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-extent.obj `if test -f 'extent.c'; then $(CYGPATH_W) 'extent.c'; else $(CYGPATH_W) '$(srcdir)/extent.c'; fi`

libreiserfs_static_a-journal.o: journal.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-journal.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-journal.Tpo" -c -o libreiserfs_static_a-journal.o `test -f 'journal.c' || echo '$(srcdir)/'`journal.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-journal.Tpo" "$(DEPDIR)/libreiserfs_static_a-journal.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-journal.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='journal.c' object='libreiserfs_static_a-journal.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-journal.o `test -f 'journal.c' || echo '$(srcdir)/'`journal.c

libreiserfs_static_a-journal.obj: journal.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-journal.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-journal.Tpo" -c -o libreiserfs_static_a-journal.obj `if test -f 'journal.c'; then $(CYGPATH_W) 'journal.c'; else $(CYGPATH_W) '$(srcdir)/journal.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-journal.Tpo" "$(DEPDIR)/libreiserfs_static_a-journal.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-journal.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='journal.c' object='libreiserfs_static_a-journal.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-journal.obj `if test -f 'journal.c'; then $(CYGPATH_W) 'journal.c'; else $(CYGPATH_W) '$(srcdir)/journal.c'; fi`

libreiserfs_static_a-objmap.o: objmap.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-objmap.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-objmap.Tpo" -c -o libreiserfs_static_a-objmap.o `test -f 'objmap.c' || echo '$(srcdir)/'`objmap.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-objmap.Tpo" "$(DEPDIR)/libreiserfs_static_a-objmap.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-objmap.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='objmap.c' object='libreiserfs_static_a-objmap.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-objmap.o `test -f 'objmap.c' || echo '$(srcdir)/'`objmap.c

libreiserfs_static_a-objmap.obj: objmap.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-objmap.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-objmap.Tpo" -c -o libreiserfs_static_a-objmap.obj `if test -f 'objmap.c'; then $(CYGPATH_W) 'objmap.c'; else $(CYGPATH_W) '$(srcdir)/objmap.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-objmap.Tpo" "$(DEPDIR)/libreiserfs_static_a-objmap.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-objmap.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='objmap.c' object='libreiserfs_static_a-objmap.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-objmap.obj `if test -f 'objmap.c'; then $(CYGPATH_W) 'objmap.c'; else $(CYGPATH_W) '$(srcdir)/objmap.c'; fi`

libreiserfs_static_a-tree_balance.o: tree_balance.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-tree_balance.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-tree_balance.Tpo" -c -o libreiserfs_static_a-tree_balance.o `test -f 'tree_balance.c' || echo '$(srcdir)/'`tree_balance.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-tree_balance.Tpo" "$(DEPDIR)/libreiserfs_static_a-tree_balance.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-tree_balance.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tree_balance.c' object='libreiserfs_static_a-tree_balance.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-tree_balance.o `test -f 'tree_balance.c' || echo '$(srcdir)/'`tree_balance.c

libreiserfs_static_a-tree_balance.obj: tree_balance.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-tree_balance.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-tree_balance.Tpo" -c -o libreiserfs_static_a-tree_balance.obj `if test -f 'tree_balance.c'; then $(CYGPATH_W) 'tree_balance.c'; else $(CYGPATH_W) '$(srcdir)/tree_balance.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-tree_balance.Tpo" "$(DEPDIR)/libreiserfs_static_a-tree_balance.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-tree_balance.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='tree_balance.c' object='libreiserfs_static_a-tree_balance.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-tree_balance.obj `if test -f 'tree_balance.c'; then $(CYGPATH_W) 'tree_balance.c'; else $(CYGPATH_W) '$(srcdir)/tree_balance.c'; fi`

libreiserfs_static_a-filesystem.o: filesystem.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-filesystem.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-filesystem.Tpo" -c -o libreiserfs_static_a-filesystem.o `test -f 'filesystem.c' || echo '$(srcdir)/'`filesystem.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-filesystem.Tpo" "$(DEPDIR)/libreiserfs_static_a-filesystem.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-filesystem.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='filesystem.c' object='libreiserfs_static_a-filesystem.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-filesystem.o `test -f 'filesystem.c' || echo '$(srcdir)/'`filesystem.c

libreiserfs_static_a-filesystem.obj: filesystem.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-filesystem.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-filesystem.Tpo" -c -o libreiserfs_static_a-filesystem.obj `if test -f 'filesystem.c'; then $(CYGPATH_W) 'filesystem.c'; else $(CYGPATH_W) '$(srcdir)/filesystem.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-filesystem.Tpo" "$(DEPDIR)/libreiserfs_static_a-filesystem.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-filesystem.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='filesystem.c' object='libreiserfs_static_a-filesystem.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-filesystem.obj `if test -f 'filesystem.c'; then $(CYGPATH_W) 'filesystem.c'; else $(CYGPATH_W) '$(srcdir)/filesystem.c'; fi`

libreiserfs_static_a-key.o: key.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-key.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-key.Tpo" -c -o libreiserfs_static_a-key.o `test -f 'key.c' || echo '$(srcdir)/'`key.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-key.Tpo" "$(DEPDIR)/libreiserfs_static_a-key.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-key.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='key.c' object='libreiserfs_static_a-key.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-key.o `test -f 'key.c' || echo '$(srcdir)/'`key.c

libreiserfs_static_a-key.obj: key.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-key.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-key.Tpo" -c -o libreiserfs_static_a-key.obj `if test -f 'key.c'; then $(CYGPATH_W) 'key.c'; else $(CYGPATH_W) '$(srcdir)/key.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-key.Tpo" "$(DEPDIR)/libreiserfs_static_a-key.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-key.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='key.c' object='libreiserfs_static_a-key.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-key.obj `if test -f 'key.c'; then $(CYGPATH_W) 'key.c'; else $(CYGPATH_W) '$(srcdir)/key.c'; fi`

libreiserfs_static_a-prints.o: prints.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-prints.o -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-prints.Tpo" -c -o libreiserfs_static_a-prints.o `test -f 'prints.c' || echo '$(srcdir)/'`prints.c; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-prints.Tpo" "$(DEPDIR)/libreiserfs_static_a-prints.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-prints.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='prints.c' object='libreiserfs_static_a-prints.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-prints.o `test -f 'prints.c' || echo '$(srcdir)/'`prints.c

libreiserfs_static_a-prints.obj: prints.c
@am__fastdepCC_TRUE@	if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -MT libreiserfs_static_a-prints.obj -MD -MP -MF "$(DEPDIR)/libreiserfs_static_a-prints.Tpo" -c -o libreiserfs_static_a-prints.obj `if test -f 'prints.c'; then $(CYGPATH_W) 'prints.c'; else $(CYGPATH_W) '$(srcdir)/prints.c'; fi`; \
@am__fastdepCC_TRUE@	then mv -f "$(DEPDIR)/libreiserfs_static_a-prints.Tpo" "$(DEPDIR)/libreiserfs_static_a-prints.Po"; else rm -f "$(DEPDIR)/libreiserfs_static_a-prints.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='prints.c' object='libreiserfs_static_a-prints.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libreiserfs_static_a_CFLAGS) $(CFLAGS) -c -o libreiserfs_static_a-prints.obj `if test -f 'prints.c'; then $(CYGPATH_W) 'prints.c'; else $(CYGPATH_W) '$(srcdir)/prints.c'; fi`
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: check-am
all-am: Makefile $(LIBRARIES)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

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

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

clean-generic:

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

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-generic clean-noinstLIBRARIES 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

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 -rf ./$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-info-am

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

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