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

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

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

@SET_MAKE@

VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
noinst_PROGRAMS = StrTest$(EXEEXT) SystemTest$(EXEEXT) \
	ListTest$(EXEEXT) DirTest$(EXEEXT) StringBufferTest$(EXEEXT) \
	InputStreamTest$(EXEEXT) OutputStreamTest$(EXEEXT) \
	FileTest$(EXEEXT) ExceptionTest$(EXEEXT) NetTest$(EXEEXT) \
	TimeTest$(EXEEXT) CommandTest$(EXEEXT)
subdir = test
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/src/xconfig.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
PROGRAMS = $(noinst_PROGRAMS)
am_CommandTest_OBJECTS = CommandTest.$(OBJEXT)
CommandTest_OBJECTS = $(am_CommandTest_OBJECTS)
CommandTest_LDADD = $(LDADD)
CommandTest_DEPENDENCIES = ../libmonit.la
am_DirTest_OBJECTS = DirTest.$(OBJEXT)
DirTest_OBJECTS = $(am_DirTest_OBJECTS)
DirTest_LDADD = $(LDADD)
DirTest_DEPENDENCIES = ../libmonit.la
am_ExceptionTest_OBJECTS = ExceptionTest.$(OBJEXT)
ExceptionTest_OBJECTS = $(am_ExceptionTest_OBJECTS)
ExceptionTest_LDADD = $(LDADD)
ExceptionTest_DEPENDENCIES = ../libmonit.la
am_FileTest_OBJECTS = FileTest.$(OBJEXT)
FileTest_OBJECTS = $(am_FileTest_OBJECTS)
FileTest_LDADD = $(LDADD)
FileTest_DEPENDENCIES = ../libmonit.la
am_InputStreamTest_OBJECTS = InputStreamTest.$(OBJEXT)
InputStreamTest_OBJECTS = $(am_InputStreamTest_OBJECTS)
InputStreamTest_LDADD = $(LDADD)
InputStreamTest_DEPENDENCIES = ../libmonit.la
am_ListTest_OBJECTS = ListTest.$(OBJEXT)
ListTest_OBJECTS = $(am_ListTest_OBJECTS)
ListTest_LDADD = $(LDADD)
ListTest_DEPENDENCIES = ../libmonit.la
am_NetTest_OBJECTS = NetTest.$(OBJEXT)
NetTest_OBJECTS = $(am_NetTest_OBJECTS)
NetTest_LDADD = $(LDADD)
NetTest_DEPENDENCIES = ../libmonit.la
am_OutputStreamTest_OBJECTS = OutputStreamTest.$(OBJEXT)
OutputStreamTest_OBJECTS = $(am_OutputStreamTest_OBJECTS)
OutputStreamTest_LDADD = $(LDADD)
OutputStreamTest_DEPENDENCIES = ../libmonit.la
am_StrTest_OBJECTS = StrTest.$(OBJEXT)
StrTest_OBJECTS = $(am_StrTest_OBJECTS)
StrTest_LDADD = $(LDADD)
StrTest_DEPENDENCIES = ../libmonit.la
am_StringBufferTest_OBJECTS = StringBufferTest.$(OBJEXT)
StringBufferTest_OBJECTS = $(am_StringBufferTest_OBJECTS)
StringBufferTest_LDADD = $(LDADD)
StringBufferTest_DEPENDENCIES = ../libmonit.la
am_SystemTest_OBJECTS = SystemTest.$(OBJEXT)
SystemTest_OBJECTS = $(am_SystemTest_OBJECTS)
SystemTest_LDADD = $(LDADD)
SystemTest_DEPENDENCIES = ../libmonit.la
am_TimeTest_OBJECTS = TimeTest.$(OBJEXT)
TimeTest_OBJECTS = $(am_TimeTest_OBJECTS)
TimeTest_LDADD = $(LDADD)
TimeTest_DEPENDENCIES = ../libmonit.la
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)/src
depcomp =
am__depfiles_maybe =
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
	--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
SOURCES = $(CommandTest_SOURCES) $(DirTest_SOURCES) \
	$(ExceptionTest_SOURCES) $(FileTest_SOURCES) \
	$(InputStreamTest_SOURCES) $(ListTest_SOURCES) \
	$(NetTest_SOURCES) $(OutputStreamTest_SOURCES) \
	$(StrTest_SOURCES) $(StringBufferTest_SOURCES) \
	$(SystemTest_SOURCES) $(TimeTest_SOURCES)
DIST_SOURCES = $(CommandTest_SOURCES) $(DirTest_SOURCES) \
	$(ExceptionTest_SOURCES) $(FileTest_SOURCES) \
	$(InputStreamTest_SOURCES) $(ListTest_SOURCES) \
	$(NetTest_SOURCES) $(OutputStreamTest_SOURCES) \
	$(StrTest_SOURCES) $(StringBufferTest_SOURCES) \
	$(SystemTest_SOURCES) $(TimeTest_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MKDIR_P = @MKDIR_P@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_CC = @ac_ct_CC@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
lt_ECHO = @lt_ECHO@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
AUTOMAKE_OPTIONS = foreign no-dependencies
LDADD = ../libmonit.la
INCLUDES = -I../src/ -I../src/util -I../src/net -I../src/io -I../src/exceptions -I../src/thread 
StrTest_SOURCES = StrTest.c
CommandTest_SOURCES = CommandTest.c
SystemTest_SOURCES = SystemTest.c
ListTest_SOURCES = ListTest.c
DirTest_SOURCES = DirTest.c
StringBufferTest_SOURCES = StringBufferTest.c
InputStreamTest_SOURCES = InputStreamTest.c
OutputStreamTest_SOURCES = OutputStreamTest.c
FileTest_SOURCES = FileTest.c
ExceptionTest_SOURCES = ExceptionTest.c
NetTest_SOURCES = NetTest.c
TimeTest_SOURCES = TimeTest.c
DISTCLEANFILES = *~ 
all: all-am

.SUFFIXES:
.SUFFIXES: .c .lo .o .obj
$(srcdir)/Makefile.in:  $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign test/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

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

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

clean-noinstPROGRAMS:
	@list='$(noinst_PROGRAMS)'; test -n "$$list" || exit 0; \
	echo " rm -f" $$list; \
	rm -f $$list || exit $$?; \
	test -n "$(EXEEXT)" || exit 0; \
	list=`for p in $$list; do echo "$$p"; done | sed 's/$(EXEEXT)$$//'`; \
	echo " rm -f" $$list; \
	rm -f $$list
CommandTest$(EXEEXT): $(CommandTest_OBJECTS) $(CommandTest_DEPENDENCIES) 
	@rm -f CommandTest$(EXEEXT)
	$(LINK) $(CommandTest_OBJECTS) $(CommandTest_LDADD) $(LIBS)
DirTest$(EXEEXT): $(DirTest_OBJECTS) $(DirTest_DEPENDENCIES) 
	@rm -f DirTest$(EXEEXT)
	$(LINK) $(DirTest_OBJECTS) $(DirTest_LDADD) $(LIBS)
ExceptionTest$(EXEEXT): $(ExceptionTest_OBJECTS) $(ExceptionTest_DEPENDENCIES) 
	@rm -f ExceptionTest$(EXEEXT)
	$(LINK) $(ExceptionTest_OBJECTS) $(ExceptionTest_LDADD) $(LIBS)
FileTest$(EXEEXT): $(FileTest_OBJECTS) $(FileTest_DEPENDENCIES) 
	@rm -f FileTest$(EXEEXT)
	$(LINK) $(FileTest_OBJECTS) $(FileTest_LDADD) $(LIBS)
InputStreamTest$(EXEEXT): $(InputStreamTest_OBJECTS) $(InputStreamTest_DEPENDENCIES) 
	@rm -f InputStreamTest$(EXEEXT)
	$(LINK) $(InputStreamTest_OBJECTS) $(InputStreamTest_LDADD) $(LIBS)
ListTest$(EXEEXT): $(ListTest_OBJECTS) $(ListTest_DEPENDENCIES) 
	@rm -f ListTest$(EXEEXT)
	$(LINK) $(ListTest_OBJECTS) $(ListTest_LDADD) $(LIBS)
NetTest$(EXEEXT): $(NetTest_OBJECTS) $(NetTest_DEPENDENCIES) 
	@rm -f NetTest$(EXEEXT)
	$(LINK) $(NetTest_OBJECTS) $(NetTest_LDADD) $(LIBS)
OutputStreamTest$(EXEEXT): $(OutputStreamTest_OBJECTS) $(OutputStreamTest_DEPENDENCIES) 
	@rm -f OutputStreamTest$(EXEEXT)
	$(LINK) $(OutputStreamTest_OBJECTS) $(OutputStreamTest_LDADD) $(LIBS)
StrTest$(EXEEXT): $(StrTest_OBJECTS) $(StrTest_DEPENDENCIES) 
	@rm -f StrTest$(EXEEXT)
	$(LINK) $(StrTest_OBJECTS) $(StrTest_LDADD) $(LIBS)
StringBufferTest$(EXEEXT): $(StringBufferTest_OBJECTS) $(StringBufferTest_DEPENDENCIES) 
	@rm -f StringBufferTest$(EXEEXT)
	$(LINK) $(StringBufferTest_OBJECTS) $(StringBufferTest_LDADD) $(LIBS)
SystemTest$(EXEEXT): $(SystemTest_OBJECTS) $(SystemTest_DEPENDENCIES) 
	@rm -f SystemTest$(EXEEXT)
	$(LINK) $(SystemTest_OBJECTS) $(SystemTest_LDADD) $(LIBS)
TimeTest$(EXEEXT): $(TimeTest_OBJECTS) $(TimeTest_DEPENDENCIES) 
	@rm -f TimeTest$(EXEEXT)
	$(LINK) $(TimeTest_OBJECTS) $(TimeTest_LDADD) $(LIBS)

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

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

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

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

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

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs

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

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

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

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

distdir: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

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

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

clean-generic:

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

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-libtool clean-noinstPROGRAMS \
	mostlyclean-am

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

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-am
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

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

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \
	clean-libtool clean-noinstPROGRAMS ctags distclean \
	distclean-compile distclean-generic distclean-libtool \
	distclean-local distclean-tags distdir 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 \
	mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \
	uninstall-am


distclean-local: 
	-rm -f Makefile.in

verify:
	@/bin/bash ./test.sh

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