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

# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005, 2006  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@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@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@
noinst_PROGRAMS = bitset_test$(EXEEXT) args_test$(EXEEXT) \
	rangeset_test$(EXEEXT)
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
	$(srcdir)/Makefile.in $(srcdir)/config.h.in \
	$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
	compile config.guess config.sub depcomp install-sh ltmain.sh \
	missing
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)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
 configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
LIBRARIES = $(noinst_LIBRARIES)
AR = ar
ARFLAGS = cru
libutils_a_AR = $(AR) $(ARFLAGS)
libutils_a_LIBADD =
am_libutils_a_OBJECTS = libutils_a-bitset.$(OBJEXT) \
	libutils_a-args.$(OBJEXT) libutils_a-list.$(OBJEXT) \
	libutils_a-hash.$(OBJEXT) libutils_a-handler.$(OBJEXT) \
	libutils_a-compat.$(OBJEXT) libutils_a-rangeset.$(OBJEXT) \
	libutils_a-serdes.$(OBJEXT) libutils_a-varstr.$(OBJEXT)
libutils_a_OBJECTS = $(am_libutils_a_OBJECTS)
PROGRAMS = $(noinst_PROGRAMS)
am_args_test_OBJECTS = args_test-args_test.$(OBJEXT)
args_test_OBJECTS = $(am_args_test_OBJECTS)
args_test_DEPENDENCIES = libutils.a
args_test_LINK = $(CCLD) $(args_test_CFLAGS) $(CFLAGS) \
	$(args_test_LDFLAGS) $(LDFLAGS) -o $@
am_bitset_test_OBJECTS = bitset_test-bitset_test.$(OBJEXT)
bitset_test_OBJECTS = $(am_bitset_test_OBJECTS)
bitset_test_DEPENDENCIES = libutils.a
bitset_test_LINK = $(CCLD) $(bitset_test_CFLAGS) $(CFLAGS) \
	$(bitset_test_LDFLAGS) $(LDFLAGS) -o $@
am_rangeset_test_OBJECTS = rangeset_test-rangeset_test.$(OBJEXT)
rangeset_test_OBJECTS = $(am_rangeset_test_OBJECTS)
rangeset_test_DEPENDENCIES = libutils.a
rangeset_test_LINK = $(CCLD) $(rangeset_test_CFLAGS) $(CFLAGS) \
	$(rangeset_test_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@
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 = $(libutils_a_SOURCES) $(args_test_SOURCES) \
	$(bitset_test_SOURCES) $(rangeset_test_SOURCES)
DIST_SOURCES = $(libutils_a_SOURCES) $(args_test_SOURCES) \
	$(bitset_test_SOURCES) $(rangeset_test_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
  { test ! -d $(distdir) \
    || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
         && rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EXEEXT = @EXEEXT@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
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@
RANLIB = @RANLIB@
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@
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_alias = @host_alias@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
noinst_LIBRARIES = libutils.a
libutils_a_SOURCES = src/bitset.c \
						src/args.c \
						src/list.c \
						src/hash.c \
						src/handler.c \
						src/compat.c \
						src/rangeset.c \
						src/serdes.c \
						src/varstr.c

libutils_a_CFLAGS = -I./include $(AM_CFLAGS) -g 
bitset_test_SOURCES = src/bitset_test.c
bitset_test_CFLAGS = -I./include $(AM_CFLAGS) -g
bitset_test_LDFLAGS = -g
bitset_test_LDADD = libutils.a
args_test_SOURCES = src/args_test.c
args_test_CFLAGS = -I./include $(AM_CFLAGS) -g
args_test_LDFLAGS = -g
args_test_LDADD = libutils.a
rangeset_test_SOURCES = src/rangeset_test.c
rangeset_test_CFLAGS = -I./include $(AM_CFLAGS) -g
rangeset_test_LDFLAGS = -g
rangeset_test_LDADD = libutils.a
all: config.h
	$(MAKE) $(AM_MAKEFLAGS) all-am

.SUFFIXES:
.SUFFIXES: .c .o .obj
am--refresh:
	@:
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
	      cd $(srcdir) && $(AUTOMAKE) --gnu  \
		&& exit 0; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  Makefile'; \
	cd $(top_srcdir) && \
	  $(AUTOMAKE) --gnu  Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    echo ' $(SHELL) ./config.status'; \
	    $(SHELL) ./config.status;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	$(SHELL) ./config.status --recheck

$(top_srcdir)/configure:  $(am__configure_deps)
	cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)

config.h: stamp-h1
	@if test ! -f $@; then \
	  rm -f stamp-h1; \
	  $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
	else :; fi

stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
	@rm -f stamp-h1
	cd $(top_builddir) && $(SHELL) ./config.status config.h
$(srcdir)/config.h.in:  $(am__configure_deps) 
	cd $(top_srcdir) && $(AUTOHEADER)
	rm -f stamp-h1
	touch $@

distclean-hdr:
	-rm -f config.h stamp-h1

clean-noinstLIBRARIES:
	-test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
libutils.a: $(libutils_a_OBJECTS) $(libutils_a_DEPENDENCIES) 
	-rm -f libutils.a
	$(libutils_a_AR) libutils.a $(libutils_a_OBJECTS) $(libutils_a_LIBADD)
	$(RANLIB) libutils.a

clean-noinstPROGRAMS:
	-test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
args_test$(EXEEXT): $(args_test_OBJECTS) $(args_test_DEPENDENCIES) 
	@rm -f args_test$(EXEEXT)
	$(args_test_LINK) $(args_test_OBJECTS) $(args_test_LDADD) $(LIBS)
bitset_test$(EXEEXT): $(bitset_test_OBJECTS) $(bitset_test_DEPENDENCIES) 
	@rm -f bitset_test$(EXEEXT)
	$(bitset_test_LINK) $(bitset_test_OBJECTS) $(bitset_test_LDADD) $(LIBS)
rangeset_test$(EXEEXT): $(rangeset_test_OBJECTS) $(rangeset_test_DEPENDENCIES) 
	@rm -f rangeset_test$(EXEEXT)
	$(rangeset_test_LINK) $(rangeset_test_OBJECTS) $(rangeset_test_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/args_test-args_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bitset_test-bitset_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libutils_a-args.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libutils_a-bitset.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libutils_a-compat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libutils_a-handler.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libutils_a-hash.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libutils_a-list.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libutils_a-rangeset.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libutils_a-serdes.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libutils_a-varstr.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rangeset_test-rangeset_test.Po@am__quote@

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

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

libutils_a-bitset.o: src/bitset.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-bitset.o -MD -MP -MF $(DEPDIR)/libutils_a-bitset.Tpo -c -o libutils_a-bitset.o `test -f 'src/bitset.c' || echo '$(srcdir)/'`src/bitset.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-bitset.Tpo $(DEPDIR)/libutils_a-bitset.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/bitset.c' object='libutils_a-bitset.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-bitset.o `test -f 'src/bitset.c' || echo '$(srcdir)/'`src/bitset.c

libutils_a-bitset.obj: src/bitset.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-bitset.obj -MD -MP -MF $(DEPDIR)/libutils_a-bitset.Tpo -c -o libutils_a-bitset.obj `if test -f 'src/bitset.c'; then $(CYGPATH_W) 'src/bitset.c'; else $(CYGPATH_W) '$(srcdir)/src/bitset.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-bitset.Tpo $(DEPDIR)/libutils_a-bitset.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/bitset.c' object='libutils_a-bitset.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-bitset.obj `if test -f 'src/bitset.c'; then $(CYGPATH_W) 'src/bitset.c'; else $(CYGPATH_W) '$(srcdir)/src/bitset.c'; fi`

libutils_a-args.o: src/args.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-args.o -MD -MP -MF $(DEPDIR)/libutils_a-args.Tpo -c -o libutils_a-args.o `test -f 'src/args.c' || echo '$(srcdir)/'`src/args.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-args.Tpo $(DEPDIR)/libutils_a-args.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/args.c' object='libutils_a-args.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-args.o `test -f 'src/args.c' || echo '$(srcdir)/'`src/args.c

libutils_a-args.obj: src/args.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-args.obj -MD -MP -MF $(DEPDIR)/libutils_a-args.Tpo -c -o libutils_a-args.obj `if test -f 'src/args.c'; then $(CYGPATH_W) 'src/args.c'; else $(CYGPATH_W) '$(srcdir)/src/args.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-args.Tpo $(DEPDIR)/libutils_a-args.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/args.c' object='libutils_a-args.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-args.obj `if test -f 'src/args.c'; then $(CYGPATH_W) 'src/args.c'; else $(CYGPATH_W) '$(srcdir)/src/args.c'; fi`

libutils_a-list.o: src/list.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-list.o -MD -MP -MF $(DEPDIR)/libutils_a-list.Tpo -c -o libutils_a-list.o `test -f 'src/list.c' || echo '$(srcdir)/'`src/list.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-list.Tpo $(DEPDIR)/libutils_a-list.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/list.c' object='libutils_a-list.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-list.o `test -f 'src/list.c' || echo '$(srcdir)/'`src/list.c

libutils_a-list.obj: src/list.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-list.obj -MD -MP -MF $(DEPDIR)/libutils_a-list.Tpo -c -o libutils_a-list.obj `if test -f 'src/list.c'; then $(CYGPATH_W) 'src/list.c'; else $(CYGPATH_W) '$(srcdir)/src/list.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-list.Tpo $(DEPDIR)/libutils_a-list.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/list.c' object='libutils_a-list.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-list.obj `if test -f 'src/list.c'; then $(CYGPATH_W) 'src/list.c'; else $(CYGPATH_W) '$(srcdir)/src/list.c'; fi`

libutils_a-hash.o: src/hash.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-hash.o -MD -MP -MF $(DEPDIR)/libutils_a-hash.Tpo -c -o libutils_a-hash.o `test -f 'src/hash.c' || echo '$(srcdir)/'`src/hash.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-hash.Tpo $(DEPDIR)/libutils_a-hash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/hash.c' object='libutils_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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-hash.o `test -f 'src/hash.c' || echo '$(srcdir)/'`src/hash.c

libutils_a-hash.obj: src/hash.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-hash.obj -MD -MP -MF $(DEPDIR)/libutils_a-hash.Tpo -c -o libutils_a-hash.obj `if test -f 'src/hash.c'; then $(CYGPATH_W) 'src/hash.c'; else $(CYGPATH_W) '$(srcdir)/src/hash.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-hash.Tpo $(DEPDIR)/libutils_a-hash.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/hash.c' object='libutils_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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-hash.obj `if test -f 'src/hash.c'; then $(CYGPATH_W) 'src/hash.c'; else $(CYGPATH_W) '$(srcdir)/src/hash.c'; fi`

libutils_a-handler.o: src/handler.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-handler.o -MD -MP -MF $(DEPDIR)/libutils_a-handler.Tpo -c -o libutils_a-handler.o `test -f 'src/handler.c' || echo '$(srcdir)/'`src/handler.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-handler.Tpo $(DEPDIR)/libutils_a-handler.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/handler.c' object='libutils_a-handler.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-handler.o `test -f 'src/handler.c' || echo '$(srcdir)/'`src/handler.c

libutils_a-handler.obj: src/handler.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-handler.obj -MD -MP -MF $(DEPDIR)/libutils_a-handler.Tpo -c -o libutils_a-handler.obj `if test -f 'src/handler.c'; then $(CYGPATH_W) 'src/handler.c'; else $(CYGPATH_W) '$(srcdir)/src/handler.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-handler.Tpo $(DEPDIR)/libutils_a-handler.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/handler.c' object='libutils_a-handler.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-handler.obj `if test -f 'src/handler.c'; then $(CYGPATH_W) 'src/handler.c'; else $(CYGPATH_W) '$(srcdir)/src/handler.c'; fi`

libutils_a-compat.o: src/compat.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-compat.o -MD -MP -MF $(DEPDIR)/libutils_a-compat.Tpo -c -o libutils_a-compat.o `test -f 'src/compat.c' || echo '$(srcdir)/'`src/compat.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-compat.Tpo $(DEPDIR)/libutils_a-compat.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/compat.c' object='libutils_a-compat.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-compat.o `test -f 'src/compat.c' || echo '$(srcdir)/'`src/compat.c

libutils_a-compat.obj: src/compat.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-compat.obj -MD -MP -MF $(DEPDIR)/libutils_a-compat.Tpo -c -o libutils_a-compat.obj `if test -f 'src/compat.c'; then $(CYGPATH_W) 'src/compat.c'; else $(CYGPATH_W) '$(srcdir)/src/compat.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-compat.Tpo $(DEPDIR)/libutils_a-compat.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/compat.c' object='libutils_a-compat.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-compat.obj `if test -f 'src/compat.c'; then $(CYGPATH_W) 'src/compat.c'; else $(CYGPATH_W) '$(srcdir)/src/compat.c'; fi`

libutils_a-rangeset.o: src/rangeset.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-rangeset.o -MD -MP -MF $(DEPDIR)/libutils_a-rangeset.Tpo -c -o libutils_a-rangeset.o `test -f 'src/rangeset.c' || echo '$(srcdir)/'`src/rangeset.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-rangeset.Tpo $(DEPDIR)/libutils_a-rangeset.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/rangeset.c' object='libutils_a-rangeset.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-rangeset.o `test -f 'src/rangeset.c' || echo '$(srcdir)/'`src/rangeset.c

libutils_a-rangeset.obj: src/rangeset.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-rangeset.obj -MD -MP -MF $(DEPDIR)/libutils_a-rangeset.Tpo -c -o libutils_a-rangeset.obj `if test -f 'src/rangeset.c'; then $(CYGPATH_W) 'src/rangeset.c'; else $(CYGPATH_W) '$(srcdir)/src/rangeset.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-rangeset.Tpo $(DEPDIR)/libutils_a-rangeset.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/rangeset.c' object='libutils_a-rangeset.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-rangeset.obj `if test -f 'src/rangeset.c'; then $(CYGPATH_W) 'src/rangeset.c'; else $(CYGPATH_W) '$(srcdir)/src/rangeset.c'; fi`

libutils_a-serdes.o: src/serdes.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-serdes.o -MD -MP -MF $(DEPDIR)/libutils_a-serdes.Tpo -c -o libutils_a-serdes.o `test -f 'src/serdes.c' || echo '$(srcdir)/'`src/serdes.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-serdes.Tpo $(DEPDIR)/libutils_a-serdes.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/serdes.c' object='libutils_a-serdes.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-serdes.o `test -f 'src/serdes.c' || echo '$(srcdir)/'`src/serdes.c

libutils_a-serdes.obj: src/serdes.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-serdes.obj -MD -MP -MF $(DEPDIR)/libutils_a-serdes.Tpo -c -o libutils_a-serdes.obj `if test -f 'src/serdes.c'; then $(CYGPATH_W) 'src/serdes.c'; else $(CYGPATH_W) '$(srcdir)/src/serdes.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-serdes.Tpo $(DEPDIR)/libutils_a-serdes.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/serdes.c' object='libutils_a-serdes.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-serdes.obj `if test -f 'src/serdes.c'; then $(CYGPATH_W) 'src/serdes.c'; else $(CYGPATH_W) '$(srcdir)/src/serdes.c'; fi`

libutils_a-varstr.o: src/varstr.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-varstr.o -MD -MP -MF $(DEPDIR)/libutils_a-varstr.Tpo -c -o libutils_a-varstr.o `test -f 'src/varstr.c' || echo '$(srcdir)/'`src/varstr.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-varstr.Tpo $(DEPDIR)/libutils_a-varstr.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/varstr.c' object='libutils_a-varstr.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-varstr.o `test -f 'src/varstr.c' || echo '$(srcdir)/'`src/varstr.c

libutils_a-varstr.obj: src/varstr.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libutils_a_CFLAGS) $(CFLAGS) -MT libutils_a-varstr.obj -MD -MP -MF $(DEPDIR)/libutils_a-varstr.Tpo -c -o libutils_a-varstr.obj `if test -f 'src/varstr.c'; then $(CYGPATH_W) 'src/varstr.c'; else $(CYGPATH_W) '$(srcdir)/src/varstr.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/libutils_a-varstr.Tpo $(DEPDIR)/libutils_a-varstr.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/varstr.c' object='libutils_a-varstr.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) $(libutils_a_CFLAGS) $(CFLAGS) -c -o libutils_a-varstr.obj `if test -f 'src/varstr.c'; then $(CYGPATH_W) 'src/varstr.c'; else $(CYGPATH_W) '$(srcdir)/src/varstr.c'; fi`

args_test-args_test.o: src/args_test.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(args_test_CFLAGS) $(CFLAGS) -MT args_test-args_test.o -MD -MP -MF $(DEPDIR)/args_test-args_test.Tpo -c -o args_test-args_test.o `test -f 'src/args_test.c' || echo '$(srcdir)/'`src/args_test.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/args_test-args_test.Tpo $(DEPDIR)/args_test-args_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/args_test.c' object='args_test-args_test.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) $(args_test_CFLAGS) $(CFLAGS) -c -o args_test-args_test.o `test -f 'src/args_test.c' || echo '$(srcdir)/'`src/args_test.c

args_test-args_test.obj: src/args_test.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(args_test_CFLAGS) $(CFLAGS) -MT args_test-args_test.obj -MD -MP -MF $(DEPDIR)/args_test-args_test.Tpo -c -o args_test-args_test.obj `if test -f 'src/args_test.c'; then $(CYGPATH_W) 'src/args_test.c'; else $(CYGPATH_W) '$(srcdir)/src/args_test.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/args_test-args_test.Tpo $(DEPDIR)/args_test-args_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/args_test.c' object='args_test-args_test.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) $(args_test_CFLAGS) $(CFLAGS) -c -o args_test-args_test.obj `if test -f 'src/args_test.c'; then $(CYGPATH_W) 'src/args_test.c'; else $(CYGPATH_W) '$(srcdir)/src/args_test.c'; fi`

bitset_test-bitset_test.o: src/bitset_test.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bitset_test_CFLAGS) $(CFLAGS) -MT bitset_test-bitset_test.o -MD -MP -MF $(DEPDIR)/bitset_test-bitset_test.Tpo -c -o bitset_test-bitset_test.o `test -f 'src/bitset_test.c' || echo '$(srcdir)/'`src/bitset_test.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/bitset_test-bitset_test.Tpo $(DEPDIR)/bitset_test-bitset_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/bitset_test.c' object='bitset_test-bitset_test.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) $(bitset_test_CFLAGS) $(CFLAGS) -c -o bitset_test-bitset_test.o `test -f 'src/bitset_test.c' || echo '$(srcdir)/'`src/bitset_test.c

bitset_test-bitset_test.obj: src/bitset_test.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bitset_test_CFLAGS) $(CFLAGS) -MT bitset_test-bitset_test.obj -MD -MP -MF $(DEPDIR)/bitset_test-bitset_test.Tpo -c -o bitset_test-bitset_test.obj `if test -f 'src/bitset_test.c'; then $(CYGPATH_W) 'src/bitset_test.c'; else $(CYGPATH_W) '$(srcdir)/src/bitset_test.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/bitset_test-bitset_test.Tpo $(DEPDIR)/bitset_test-bitset_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/bitset_test.c' object='bitset_test-bitset_test.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) $(bitset_test_CFLAGS) $(CFLAGS) -c -o bitset_test-bitset_test.obj `if test -f 'src/bitset_test.c'; then $(CYGPATH_W) 'src/bitset_test.c'; else $(CYGPATH_W) '$(srcdir)/src/bitset_test.c'; fi`

rangeset_test-rangeset_test.o: src/rangeset_test.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rangeset_test_CFLAGS) $(CFLAGS) -MT rangeset_test-rangeset_test.o -MD -MP -MF $(DEPDIR)/rangeset_test-rangeset_test.Tpo -c -o rangeset_test-rangeset_test.o `test -f 'src/rangeset_test.c' || echo '$(srcdir)/'`src/rangeset_test.c
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/rangeset_test-rangeset_test.Tpo $(DEPDIR)/rangeset_test-rangeset_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/rangeset_test.c' object='rangeset_test-rangeset_test.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) $(rangeset_test_CFLAGS) $(CFLAGS) -c -o rangeset_test-rangeset_test.o `test -f 'src/rangeset_test.c' || echo '$(srcdir)/'`src/rangeset_test.c

rangeset_test-rangeset_test.obj: src/rangeset_test.c
@am__fastdepCC_TRUE@	$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(rangeset_test_CFLAGS) $(CFLAGS) -MT rangeset_test-rangeset_test.obj -MD -MP -MF $(DEPDIR)/rangeset_test-rangeset_test.Tpo -c -o rangeset_test-rangeset_test.obj `if test -f 'src/rangeset_test.c'; then $(CYGPATH_W) 'src/rangeset_test.c'; else $(CYGPATH_W) '$(srcdir)/src/rangeset_test.c'; fi`
@am__fastdepCC_TRUE@	mv -f $(DEPDIR)/rangeset_test-rangeset_test.Tpo $(DEPDIR)/rangeset_test-rangeset_test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	source='src/rangeset_test.c' object='rangeset_test-rangeset_test.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) $(rangeset_test_CFLAGS) $(CFLAGS) -c -o rangeset_test-rangeset_test.obj `if test -f 'src/rangeset_test.c'; then $(CYGPATH_W) 'src/rangeset_test.c'; else $(CYGPATH_W) '$(srcdir)/src/rangeset_test.c'; fi`

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

TAGS:  $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS) config.h.in $(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) config.h.in $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	tags=; \
	here=`pwd`; \
	list='$(SOURCES) $(HEADERS) config.h.in $(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)
	$(am__remove_distdir)
	test -d $(distdir) || mkdir $(distdir)
	@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 $(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
	-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
	  ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
	  ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
	  ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
	|| chmod -R a+r $(distdir)
dist-gzip: distdir
	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
	$(am__remove_distdir)

dist-bzip2: distdir
	tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
	$(am__remove_distdir)

dist-tarZ: distdir
	tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
	$(am__remove_distdir)

dist-shar: distdir
	shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
	$(am__remove_distdir)

dist-zip: distdir
	-rm -f $(distdir).zip
	zip -rq $(distdir).zip $(distdir)
	$(am__remove_distdir)

dist dist-all: distdir
	tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
	$(am__remove_distdir)

# This target untars the dist file and tries a VPATH configuration.  Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
	case '$(DIST_ARCHIVES)' in \
	*.tar.gz*) \
	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
	*.tar.bz2*) \
	  bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
	*.tar.Z*) \
	  uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
	*.shar.gz*) \
	  GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
	*.zip*) \
	  unzip $(distdir).zip ;;\
	esac
	chmod -R a-w $(distdir); chmod a+w $(distdir)
	mkdir $(distdir)/_build
	mkdir $(distdir)/_inst
	chmod a-w $(distdir)
	dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
	  && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
	  && cd $(distdir)/_build \
	  && ../configure --srcdir=.. --prefix="$$dc_install_base" \
	    $(DISTCHECK_CONFIGURE_FLAGS) \
	  && $(MAKE) $(AM_MAKEFLAGS) \
	  && $(MAKE) $(AM_MAKEFLAGS) dvi \
	  && $(MAKE) $(AM_MAKEFLAGS) check \
	  && $(MAKE) $(AM_MAKEFLAGS) install \
	  && $(MAKE) $(AM_MAKEFLAGS) installcheck \
	  && $(MAKE) $(AM_MAKEFLAGS) uninstall \
	  && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
	        distuninstallcheck \
	  && chmod -R a-w "$$dc_install_base" \
	  && ({ \
	       (cd ../.. && umask 077 && mkdir "$$dc_destdir") \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
	       && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
	            distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
	      } || { rm -rf "$$dc_destdir"; exit 1; }) \
	  && rm -rf "$$dc_destdir" \
	  && $(MAKE) $(AM_MAKEFLAGS) dist \
	  && rm -rf $(DIST_ARCHIVES) \
	  && $(MAKE) $(AM_MAKEFLAGS) distcleancheck
	$(am__remove_distdir)
	@(echo "$(distdir) archives ready for distribution: "; \
	  list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
	  sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
distuninstallcheck:
	@cd $(distuninstallcheck_dir) \
	&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
	   || { echo "ERROR: files left after uninstall:" ; \
	        if test -n "$(DESTDIR)"; then \
	          echo "  (check DESTDIR support)"; \
	        fi ; \
	        $(distuninstallcheck_listfiles) ; \
	        exit 1; } >&2
distcleancheck: distclean
	@if test '$(srcdir)' = . ; then \
	  echo "ERROR: distcleancheck can only run from a VPATH build" ; \
	  exit 1 ; \
	fi
	@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
	  || { echo "ERROR: files left in build directory after distclean:" ; \
	       $(distcleancheck_listfiles) ; \
	       exit 1; } >&2
check-am: all-am
check: check-am
all-am: Makefile $(LIBRARIES) $(PROGRAMS) config.h
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 clean-noinstPROGRAMS \
	mostlyclean-am

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

dvi: dvi-am

dvi-am:

html: html-am

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

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

installcheck-am:

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

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-compile mostlyclean-generic

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
	clean-generic clean-noinstLIBRARIES clean-noinstPROGRAMS ctags \
	dist dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ \
	dist-zip distcheck distclean distclean-compile \
	distclean-generic distclean-hdr distclean-tags distcleancheck \
	distdir distuninstallcheck dvi dvi-am html html-am info \
	info-am install install-am install-data install-data-am \
	install-dvi install-dvi-am install-exec install-exec-am \
	install-html install-html-am install-info install-info-am \
	install-man install-pdf install-pdf-am install-ps \
	install-ps-am install-strip installcheck installcheck-am \
	installdirs maintainer-clean maintainer-clean-generic \
	mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
	ps ps-am tags uninstall uninstall-am

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