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

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

# This file is part of avahi.
#
# avahi is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2 of the
# License, or (at your option) any later version.
#
# avahi is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
# or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
# License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with avahi; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.



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@
@ENABLE_COMPAT_HOWL_TRUE@@ENABLE_TESTS_TRUE@@HAVE_DBUS_TRUE@noinst_PROGRAMS = address-test$(EXEEXT) \
@ENABLE_COMPAT_HOWL_TRUE@@ENABLE_TESTS_TRUE@@HAVE_DBUS_TRUE@	text-test$(EXEEXT) \
@ENABLE_COMPAT_HOWL_TRUE@@ENABLE_TESTS_TRUE@@HAVE_DBUS_TRUE@	browse-domain-test$(EXEEXT)
subdir = avahi-compat-howl
DIST_COMMON = $(am__avahi_compat_howl_HEADERS_DIST) \
	$(am__avahi_compat_howl_corby_HEADERS_DIST) \
	$(am__avahi_compat_howl_discovery_HEADERS_DIST) \
	$(am__avahi_compat_howl_rendezvous_HEADERS_DIST) \
	$(am__avahi_compat_howl_salt_HEADERS_DIST) \
	$(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/common/acx_pthread.m4 \
	$(top_srcdir)/common/gcc_stack_protect.m4 \
	$(top_srcdir)/common/gcc_visibility.m4 \
	$(top_srcdir)/common/intltool.m4 \
	$(top_srcdir)/common/introspection.m4 \
	$(top_srcdir)/common/libtool.m4 \
	$(top_srcdir)/common/ltoptions.m4 \
	$(top_srcdir)/common/ltsugar.m4 \
	$(top_srcdir)/common/ltversion.m4 \
	$(top_srcdir)/common/lt~obsolete.m4 \
	$(top_srcdir)/common/nls.m4 $(top_srcdir)/common/python.m4 \
	$(top_srcdir)/acinclude.m4 $(top_srcdir)/common/doxygen.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
    *) f=$$p;; \
  esac;
am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
am__install_max = 40
am__nobase_strip_setup = \
  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
am__nobase_strip = \
  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
am__nobase_list = $(am__nobase_strip_setup); \
  for p in $$list; do echo "$$p $$p"; done | \
  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
    if (++n[$$2] == $(am__install_max)) \
      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
    END { for (dir in files) print dir, files[dir] }'
am__base_list = \
  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
  test -z "$$files" \
    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
         $(am__cd) "$$dir" && rm -f $$files; }; \
  }
am__installdirs = "$(DESTDIR)$(libdir)" \
	"$(DESTDIR)$(avahi_compat_howldir)" \
	"$(DESTDIR)$(avahi_compat_howl_corbydir)" \
	"$(DESTDIR)$(avahi_compat_howl_discoverydir)" \
	"$(DESTDIR)$(avahi_compat_howl_rendezvousdir)" \
	"$(DESTDIR)$(avahi_compat_howl_saltdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
libhowl_la_LIBADD =
am__libhowl_la_SOURCES_DIST = include/howl.h \
	include/rendezvous/rendezvous.h \
	include/rendezvous/text_record.h include/corby/message.h \
	include/corby/object.h include/corby/orb.h \
	include/corby/corby.h include/corby/channel.h \
	include/corby/buffer.h include/discovery/discovery.h \
	include/discovery/text_record.h include/salt/socket.h \
	include/salt/address.h include/salt/platform.h \
	include/salt/signal.h include/salt/interface.h \
	include/salt/salt.h include/salt/time.h include/salt/debug.h \
	warn.c warn.h unsupported.c address.c text.c compat.c
am__objects_1 =
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@am__objects_2 =  \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__objects_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__objects_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__objects_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__objects_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__objects_1)
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@am_libhowl_la_OBJECTS =  \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__objects_2) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	libhowl_la-warn.lo \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	libhowl_la-unsupported.lo \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	libhowl_la-address.lo \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	libhowl_la-text.lo \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	libhowl_la-compat.lo
libhowl_la_OBJECTS = $(am_libhowl_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
libhowl_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(libhowl_la_CFLAGS) \
	$(CFLAGS) $(libhowl_la_LDFLAGS) $(LDFLAGS) -o $@
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@am_libhowl_la_rpath = -rpath \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(libdir)
PROGRAMS = $(noinst_PROGRAMS)
am__address_test_SOURCES_DIST = include/howl.h \
	include/rendezvous/rendezvous.h \
	include/rendezvous/text_record.h include/corby/message.h \
	include/corby/object.h include/corby/orb.h \
	include/corby/corby.h include/corby/channel.h \
	include/corby/buffer.h include/discovery/discovery.h \
	include/discovery/text_record.h include/salt/socket.h \
	include/salt/address.h include/salt/platform.h \
	include/salt/signal.h include/salt/interface.h \
	include/salt/salt.h include/salt/time.h include/salt/debug.h \
	address.c address-test.c warn.c warn.h
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@am_address_test_OBJECTS =  \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__objects_2) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	address_test-address.$(OBJEXT) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	address_test-address-test.$(OBJEXT) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	address_test-warn.$(OBJEXT)
address_test_OBJECTS = $(am_address_test_OBJECTS)
am__DEPENDENCIES_1 =
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@address_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__DEPENDENCIES_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	../avahi-common/libavahi-common.la
address_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(address_test_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am__browse_domain_test_SOURCES_DIST = include/howl.h \
	include/rendezvous/rendezvous.h \
	include/rendezvous/text_record.h include/corby/message.h \
	include/corby/object.h include/corby/orb.h \
	include/corby/corby.h include/corby/channel.h \
	include/corby/buffer.h include/discovery/discovery.h \
	include/discovery/text_record.h include/salt/socket.h \
	include/salt/address.h include/salt/platform.h \
	include/salt/signal.h include/salt/interface.h \
	include/salt/salt.h include/salt/time.h include/salt/debug.h \
	browse-domain-test.c
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@am_browse_domain_test_OBJECTS =  \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__objects_2) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	browse_domain_test-browse-domain-test.$(OBJEXT)
browse_domain_test_OBJECTS = $(am_browse_domain_test_OBJECTS)
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@browse_domain_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__DEPENDENCIES_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	libhowl.la
browse_domain_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(browse_domain_test_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
	$(LDFLAGS) -o $@
am__text_test_SOURCES_DIST = include/howl.h \
	include/rendezvous/rendezvous.h \
	include/rendezvous/text_record.h include/corby/message.h \
	include/corby/object.h include/corby/orb.h \
	include/corby/corby.h include/corby/channel.h \
	include/corby/buffer.h include/discovery/discovery.h \
	include/discovery/text_record.h include/salt/socket.h \
	include/salt/address.h include/salt/platform.h \
	include/salt/signal.h include/salt/interface.h \
	include/salt/salt.h include/salt/time.h include/salt/debug.h \
	text.c text-test.c warn.c warn.h
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@am_text_test_OBJECTS =  \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__objects_2) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	text_test-text.$(OBJEXT) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	text_test-text-test.$(OBJEXT) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	text_test-warn.$(OBJEXT)
text_test_OBJECTS = $(am_text_test_OBJECTS)
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@text_test_DEPENDENCIES = $(am__DEPENDENCIES_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(am__DEPENDENCIES_1) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	../avahi-common/libavahi-common.la
text_test_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(text_test_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
am__mv = mv -f
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
	$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) \
	$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
	$(AM_CFLAGS) $(CFLAGS)
AM_V_CC = $(am__v_CC_@AM_V@)
am__v_CC_ = $(am__v_CC_@AM_DEFAULT_V@)
am__v_CC_0 = @echo "  CC    " $@;
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
CCLD = $(CC)
LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
	$(AM_LDFLAGS) $(LDFLAGS) -o $@
AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo "  CCLD  " $@;
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN   " $@;
SOURCES = $(libhowl_la_SOURCES) $(address_test_SOURCES) \
	$(browse_domain_test_SOURCES) $(text_test_SOURCES)
DIST_SOURCES = $(am__libhowl_la_SOURCES_DIST) \
	$(am__address_test_SOURCES_DIST) \
	$(am__browse_domain_test_SOURCES_DIST) \
	$(am__text_test_SOURCES_DIST)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
	html-recursive info-recursive install-data-recursive \
	install-dvi-recursive install-exec-recursive \
	install-html-recursive install-info-recursive \
	install-pdf-recursive install-ps-recursive install-recursive \
	installcheck-recursive installdirs-recursive pdf-recursive \
	ps-recursive uninstall-recursive
am__avahi_compat_howl_HEADERS_DIST = include/howl.h
am__avahi_compat_howl_corby_HEADERS_DIST = include/corby/message.h \
	include/corby/object.h include/corby/orb.h \
	include/corby/corby.h include/corby/channel.h \
	include/corby/buffer.h
am__avahi_compat_howl_discovery_HEADERS_DIST =  \
	include/discovery/discovery.h include/discovery/text_record.h
am__avahi_compat_howl_rendezvous_HEADERS_DIST =  \
	include/rendezvous/rendezvous.h \
	include/rendezvous/text_record.h
am__avahi_compat_howl_salt_HEADERS_DIST = include/salt/socket.h \
	include/salt/address.h include/salt/platform.h \
	include/salt/signal.h include/salt/interface.h \
	include/salt/salt.h include/salt/time.h include/salt/debug.h
HEADERS = $(avahi_compat_howl_HEADERS) \
	$(avahi_compat_howl_corby_HEADERS) \
	$(avahi_compat_howl_discovery_HEADERS) \
	$(avahi_compat_howl_rendezvous_HEADERS) \
	$(avahi_compat_howl_salt_HEADERS)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive	\
  distclean-recursive maintainer-clean-recursive
AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
	$(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
	distdir
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
am__relativize = \
  dir0=`pwd`; \
  sed_first='s,^\([^/]*\)/.*$$,\1,'; \
  sed_rest='s,^[^/]*/*,,'; \
  sed_last='s,^.*/\([^/]*\)$$,\1,'; \
  sed_butlast='s,/*[^/]*$$,,'; \
  while test -n "$$dir1"; do \
    first=`echo "$$dir1" | sed -e "$$sed_first"`; \
    if test "$$first" != "."; then \
      if test "$$first" = ".."; then \
        dir2=`echo "$$dir0" | sed -e "$$sed_last"`/"$$dir2"; \
        dir0=`echo "$$dir0" | sed -e "$$sed_butlast"`; \
      else \
        first2=`echo "$$dir2" | sed -e "$$sed_first"`; \
        if test "$$first2" = "$$first"; then \
          dir2=`echo "$$dir2" | sed -e "$$sed_rest"`; \
        else \
          dir2="../$$dir2"; \
        fi; \
        dir0="$$dir0"/"$$first"; \
      fi; \
    fi; \
    dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
  done; \
  reldir="$$dir2"
ACLOCAL = @ACLOCAL@
ALL_LINGUAS = @ALL_LINGUAS@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AVAHI_AUTOIPD_GROUP = @AVAHI_AUTOIPD_GROUP@
AVAHI_AUTOIPD_USER = @AVAHI_AUTOIPD_USER@
AVAHI_GROUP = @AVAHI_GROUP@
AVAHI_PRIV_ACCESS_GROUP = @AVAHI_PRIV_ACCESS_GROUP@
AVAHI_USER = @AVAHI_USER@
AWK = @AWK@
CATALOGS = @CATALOGS@
CATOBJEXT = @CATOBJEXT@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DATADIRNAME = @DATADIRNAME@
DBUS_CFLAGS = @DBUS_CFLAGS@
DBUS_LIBS = @DBUS_LIBS@
DBUS_SYSTEM_BUS_DEFAULT_ADDRESS = @DBUS_SYSTEM_BUS_DEFAULT_ADDRESS@
DBUS_SYS_DIR = @DBUS_SYS_DIR@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOXYGEN_PAPER_SIZE = @DOXYGEN_PAPER_SIZE@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
DX_CONFIG = @DX_CONFIG@
DX_DOCDIR = @DX_DOCDIR@
DX_DOT = @DX_DOT@
DX_DOXYGEN = @DX_DOXYGEN@
DX_DVIPS = @DX_DVIPS@
DX_EGREP = @DX_EGREP@
DX_ENV = @DX_ENV@
DX_FLAG_chi = @DX_FLAG_chi@
DX_FLAG_chm = @DX_FLAG_chm@
DX_FLAG_doc = @DX_FLAG_doc@
DX_FLAG_dot = @DX_FLAG_dot@
DX_FLAG_html = @DX_FLAG_html@
DX_FLAG_man = @DX_FLAG_man@
DX_FLAG_pdf = @DX_FLAG_pdf@
DX_FLAG_ps = @DX_FLAG_ps@
DX_FLAG_rtf = @DX_FLAG_rtf@
DX_FLAG_xml = @DX_FLAG_xml@
DX_HHC = @DX_HHC@
DX_LATEX = @DX_LATEX@
DX_MAKEINDEX = @DX_MAKEINDEX@
DX_PDFLATEX = @DX_PDFLATEX@
DX_PERL = @DX_PERL@
DX_PROJECT = @DX_PROJECT@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GACUTIL = @GACUTIL@
GETTEXT_PACKAGE = @GETTEXT_PACKAGE@
GLIB20_CFLAGS = @GLIB20_CFLAGS@
GLIB20_LIBS = @GLIB20_LIBS@
GMOFILES = @GMOFILES@
GMSGFMT = @GMSGFMT@
GOBJECT_CFLAGS = @GOBJECT_CFLAGS@
GOBJECT_LIBS = @GOBJECT_LIBS@
GREP = @GREP@
GTK20_CFLAGS = @GTK20_CFLAGS@
GTK20_LIBS = @GTK20_LIBS@
GTK30_CFLAGS = @GTK30_CFLAGS@
GTK30_LIBS = @GTK30_LIBS@
HOWL_COMPAT_VERSION = @HOWL_COMPAT_VERSION@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
INSTOBJEXT = @INSTOBJEXT@
INTLLIBS = @INTLLIBS@
INTLTOOL_EXTRACT = @INTLTOOL_EXTRACT@
INTLTOOL_MERGE = @INTLTOOL_MERGE@
INTLTOOL_PERL = @INTLTOOL_PERL@
INTLTOOL_UPDATE = @INTLTOOL_UPDATE@
INTROSPECTION_CFLAGS = @INTROSPECTION_CFLAGS@
INTROSPECTION_COMPILER = @INTROSPECTION_COMPILER@
INTROSPECTION_GENERATE = @INTROSPECTION_GENERATE@
INTROSPECTION_GIRDIR = @INTROSPECTION_GIRDIR@
INTROSPECTION_LIBS = @INTROSPECTION_LIBS@
INTROSPECTION_MAKEFILE = @INTROSPECTION_MAKEFILE@
INTROSPECTION_SCANNER = @INTROSPECTION_SCANNER@
INTROSPECTION_TYPELIBDIR = @INTROSPECTION_TYPELIBDIR@
LD = @LD@
LDFLAGS = @LDFLAGS@
LIBAVAHI_CLIENT_VERSION_INFO = @LIBAVAHI_CLIENT_VERSION_INFO@
LIBAVAHI_COMMON_VERSION_INFO = @LIBAVAHI_COMMON_VERSION_INFO@
LIBAVAHI_COMPAT_HOWL_VERSION_INFO = @LIBAVAHI_COMPAT_HOWL_VERSION_INFO@
LIBAVAHI_COMPAT_LIBDNS_SD_VERSION_INFO = @LIBAVAHI_COMPAT_LIBDNS_SD_VERSION_INFO@
LIBAVAHI_CORE_VERSION_INFO = @LIBAVAHI_CORE_VERSION_INFO@
LIBAVAHI_GLIB_VERSION_INFO = @LIBAVAHI_GLIB_VERSION_INFO@
LIBAVAHI_GOBJECT_VERSION_INFO = @LIBAVAHI_GOBJECT_VERSION_INFO@
LIBAVAHI_QT3_VERSION_INFO = @LIBAVAHI_QT3_VERSION_INFO@
LIBAVAHI_QT4_VERSION_INFO = @LIBAVAHI_QT4_VERSION_INFO@
LIBAVAHI_UI_VERSION_INFO = @LIBAVAHI_UI_VERSION_INFO@
LIBDAEMON_CFLAGS = @LIBDAEMON_CFLAGS@
LIBDAEMON_LIBS = @LIBDAEMON_LIBS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MCS = @MCS@
MDASSEMBLER = @MDASSEMBLER@
MKDIR_P = @MKDIR_P@
MKINSTALLDIRS = @MKINSTALLDIRS@
MOC_QT3 = @MOC_QT3@
MOC_QT4 = @MOC_QT4@
MONODOCER = @MONODOCER@
MONODOC_CFLAGS = @MONODOC_CFLAGS@
MONODOC_DIR = @MONODOC_DIR@
MONODOC_LIBS = @MONODOC_LIBS@
MSGFMT = @MSGFMT@
MSGFMT_OPTS = @MSGFMT_OPTS@
MSGMERGE = @MSGMERGE@
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@
PKG_CONFIG = @PKG_CONFIG@
PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@
PKG_CONFIG_PATH = @PKG_CONFIG_PATH@
POFILES = @POFILES@
POSUB = @POSUB@
PO_IN_DATADIR_FALSE = @PO_IN_DATADIR_FALSE@
PO_IN_DATADIR_TRUE = @PO_IN_DATADIR_TRUE@
PTHREAD_CC = @PTHREAD_CC@
PTHREAD_CFLAGS = @PTHREAD_CFLAGS@
PTHREAD_LIBS = @PTHREAD_LIBS@
PYTHON = @PYTHON@
PYTHON_EXEC_PREFIX = @PYTHON_EXEC_PREFIX@
PYTHON_PLATFORM = @PYTHON_PLATFORM@
PYTHON_PREFIX = @PYTHON_PREFIX@
PYTHON_VERSION = @PYTHON_VERSION@
QT3_CFLAGS = @QT3_CFLAGS@
QT3_LIBS = @QT3_LIBS@
QT4_CFLAGS = @QT4_CFLAGS@
QT4_LIBS = @QT4_LIBS@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STOW = @STOW@
STRIP = @STRIP@
USE_NLS = @USE_NLS@
VERSION = @VERSION@
VISIBILITY_HIDDEN_CFLAGS = @VISIBILITY_HIDDEN_CFLAGS@
XGETTEXT = @XGETTEXT@
XML_CFLAGS = @XML_CFLAGS@
XML_LIBS = @XML_LIBS@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
acx_pthread_config = @acx_pthread_config@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
avahi_runtime_dir = @avahi_runtime_dir@
avahi_socket = @avahi_socket@
avahilocaledir = @avahilocaledir@
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@
have_pkg_config = @have_pkg_config@
have_xmltoman = @have_xmltoman@
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@
interfacesdir = @interfacesdir@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
pkgpyexecdir = @pkgpyexecdir@
pkgpythondir = @pkgpythondir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
pyexecdir = @pyexecdir@
pythondir = @pythondir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
systemdsystemunitdir = @systemdsystemunitdir@
target_alias = @target_alias@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@

# This cool debug trap works on i386/gcc only
AM_CFLAGS = -I$(top_srcdir) '-DDEBUG_TRAP=__asm__("int $$3")'
SUBDIRS = . samples
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howldir = $(includedir)/avahi-compat-howl
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howl_rendezvousdir = $(avahi_compat_howldir)/rendezvous
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howl_corbydir = $(avahi_compat_howldir)/corby
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howl_discoverydir = $(avahi_compat_howldir)/discovery
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howl_saltdir = $(avahi_compat_howldir)/salt
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howl_HEADERS = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/howl.h

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howl_rendezvous_HEADERS = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/rendezvous/rendezvous.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/rendezvous/text_record.h

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howl_corby_HEADERS = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/corby/message.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/corby/object.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/corby/orb.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/corby/corby.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/corby/channel.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/corby/buffer.h

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howl_discovery_HEADERS = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/discovery/discovery.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/discovery/text_record.h

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@avahi_compat_howl_salt_HEADERS = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/salt/socket.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/salt/address.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/salt/platform.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/salt/signal.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/salt/interface.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/salt/salt.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/salt/time.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	include/salt/debug.h

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@HOWLHEADERS = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(avahi_compat_howl_HEADERS) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(avahi_compat_howl_rendezvous_HEADERS) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(avahi_compat_howl_corby_HEADERS) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(avahi_compat_howl_discovery_HEADERS) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(avahi_compat_howl_salt_HEADERS)

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@lib_LTLIBRARIES = libhowl.la
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@libhowl_la_SOURCES = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(HOWLHEADERS) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	warn.c warn.h \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	unsupported.c \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	address.c \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	text.c \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	compat.c

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@libhowl_la_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -I $(srcdir)/include
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@libhowl_la_LDFLAGS = $(AM_LDFLAGS)  -version-info $(LIBAVAHI_COMPAT_HOWL_VERSION_INFO) $(PTHREAD_LIBS) $(PTHREAD_CFLAGS) ../avahi-common/libavahi-common.la ../avahi-client/libavahi-client.la
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@address_test_SOURCES = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(HOWLHEADERS) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	address.c \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	address-test.c \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	warn.c warn.h

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@address_test_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -I $(srcdir)/include
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@address_test_LDADD = $(AM_LDADD) $(PTHREAD_LIBS) $(PTHREAD_CFLAGS) ../avahi-common/libavahi-common.la
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@text_test_SOURCES = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(HOWLHEADERS) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	text.c \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	text-test.c \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	warn.c warn.h

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@text_test_CFLAGS = $(AM_CFLAGS)  $(PTHREAD_CFLAGS) -I $(srcdir)/include
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@text_test_LDADD = $(AM_LDADD) $(PTHREAD_LIBS) $(PTHREAD_CFLAGS) ../avahi-common/libavahi-common.la
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@browse_domain_test_SOURCES = \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	$(HOWLHEADERS) \
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@	browse-domain-test.c

@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@browse_domain_test_CFLAGS = $(AM_CFLAGS) $(PTHREAD_CFLAGS) -I $(srcdir)/include
@ENABLE_COMPAT_HOWL_TRUE@@HAVE_DBUS_TRUE@browse_domain_test_LDADD = $(AM_LDADD) $(PTHREAD_LIBS) $(PTHREAD_CFLAGS) libhowl.la
all: all-recursive

.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 avahi-compat-howl/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign avahi-compat-howl/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

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

$(top_srcdir)/configure:  $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4):  $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
	@$(NORMAL_INSTALL)
	test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
	list2=; for p in $$list; do \
	  if test -f $$p; then \
	    list2="$$list2 $$p"; \
	  else :; fi; \
	done; \
	test -z "$$list2" || { \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(libdir)'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(libdir)"; \
	}

uninstall-libLTLIBRARIES:
	@$(NORMAL_UNINSTALL)
	@list='$(lib_LTLIBRARIES)'; test -n "$(libdir)" || list=; \
	for p in $$list; do \
	  $(am__strip_dir) \
	  echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$f'"; \
	  $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$f"; \
	done

clean-libLTLIBRARIES:
	-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
	@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
	  dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
	  test "$$dir" != "$$p" || dir=.; \
	  echo "rm -f \"$${dir}/so_locations\""; \
	  rm -f "$${dir}/so_locations"; \
	done
libhowl.la: $(libhowl_la_OBJECTS) $(libhowl_la_DEPENDENCIES) $(EXTRA_libhowl_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libhowl_la_LINK) $(am_libhowl_la_rpath) $(libhowl_la_OBJECTS) $(libhowl_la_LIBADD) $(LIBS)

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
address-test$(EXEEXT): $(address_test_OBJECTS) $(address_test_DEPENDENCIES) $(EXTRA_address_test_DEPENDENCIES) 
	@rm -f address-test$(EXEEXT)
	$(AM_V_CCLD)$(address_test_LINK) $(address_test_OBJECTS) $(address_test_LDADD) $(LIBS)
browse-domain-test$(EXEEXT): $(browse_domain_test_OBJECTS) $(browse_domain_test_DEPENDENCIES) $(EXTRA_browse_domain_test_DEPENDENCIES) 
	@rm -f browse-domain-test$(EXEEXT)
	$(AM_V_CCLD)$(browse_domain_test_LINK) $(browse_domain_test_OBJECTS) $(browse_domain_test_LDADD) $(LIBS)
text-test$(EXEEXT): $(text_test_OBJECTS) $(text_test_DEPENDENCIES) $(EXTRA_text_test_DEPENDENCIES) 
	@rm -f text-test$(EXEEXT)
	$(AM_V_CCLD)$(text_test_LINK) $(text_test_OBJECTS) $(text_test_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/address_test-address-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/address_test-address.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/address_test-warn.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/browse_domain_test-browse-domain-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhowl_la-address.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhowl_la-compat.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhowl_la-text.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhowl_la-unsupported.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libhowl_la-warn.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text_test-text-test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text_test-text.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text_test-warn.Po@am__quote@

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

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

.c.lo:
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LTCOMPILE) -c -o $@ $<

libhowl_la-warn.lo: warn.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -MT libhowl_la-warn.lo -MD -MP -MF $(DEPDIR)/libhowl_la-warn.Tpo -c -o libhowl_la-warn.lo `test -f 'warn.c' || echo '$(srcdir)/'`warn.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libhowl_la-warn.Tpo $(DEPDIR)/libhowl_la-warn.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='warn.c' object='libhowl_la-warn.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -c -o libhowl_la-warn.lo `test -f 'warn.c' || echo '$(srcdir)/'`warn.c

libhowl_la-unsupported.lo: unsupported.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -MT libhowl_la-unsupported.lo -MD -MP -MF $(DEPDIR)/libhowl_la-unsupported.Tpo -c -o libhowl_la-unsupported.lo `test -f 'unsupported.c' || echo '$(srcdir)/'`unsupported.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libhowl_la-unsupported.Tpo $(DEPDIR)/libhowl_la-unsupported.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='unsupported.c' object='libhowl_la-unsupported.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -c -o libhowl_la-unsupported.lo `test -f 'unsupported.c' || echo '$(srcdir)/'`unsupported.c

libhowl_la-address.lo: address.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -MT libhowl_la-address.lo -MD -MP -MF $(DEPDIR)/libhowl_la-address.Tpo -c -o libhowl_la-address.lo `test -f 'address.c' || echo '$(srcdir)/'`address.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libhowl_la-address.Tpo $(DEPDIR)/libhowl_la-address.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='address.c' object='libhowl_la-address.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -c -o libhowl_la-address.lo `test -f 'address.c' || echo '$(srcdir)/'`address.c

libhowl_la-text.lo: text.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -MT libhowl_la-text.lo -MD -MP -MF $(DEPDIR)/libhowl_la-text.Tpo -c -o libhowl_la-text.lo `test -f 'text.c' || echo '$(srcdir)/'`text.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libhowl_la-text.Tpo $(DEPDIR)/libhowl_la-text.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='text.c' object='libhowl_la-text.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -c -o libhowl_la-text.lo `test -f 'text.c' || echo '$(srcdir)/'`text.c

libhowl_la-compat.lo: compat.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -MT libhowl_la-compat.lo -MD -MP -MF $(DEPDIR)/libhowl_la-compat.Tpo -c -o libhowl_la-compat.lo `test -f 'compat.c' || echo '$(srcdir)/'`compat.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libhowl_la-compat.Tpo $(DEPDIR)/libhowl_la-compat.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='compat.c' object='libhowl_la-compat.lo' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libhowl_la_CFLAGS) $(CFLAGS) -c -o libhowl_la-compat.lo `test -f 'compat.c' || echo '$(srcdir)/'`compat.c

address_test-address.o: address.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -MT address_test-address.o -MD -MP -MF $(DEPDIR)/address_test-address.Tpo -c -o address_test-address.o `test -f 'address.c' || echo '$(srcdir)/'`address.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/address_test-address.Tpo $(DEPDIR)/address_test-address.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='address.c' object='address_test-address.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -c -o address_test-address.o `test -f 'address.c' || echo '$(srcdir)/'`address.c

address_test-address.obj: address.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -MT address_test-address.obj -MD -MP -MF $(DEPDIR)/address_test-address.Tpo -c -o address_test-address.obj `if test -f 'address.c'; then $(CYGPATH_W) 'address.c'; else $(CYGPATH_W) '$(srcdir)/address.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/address_test-address.Tpo $(DEPDIR)/address_test-address.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='address.c' object='address_test-address.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -c -o address_test-address.obj `if test -f 'address.c'; then $(CYGPATH_W) 'address.c'; else $(CYGPATH_W) '$(srcdir)/address.c'; fi`

address_test-address-test.o: address-test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -MT address_test-address-test.o -MD -MP -MF $(DEPDIR)/address_test-address-test.Tpo -c -o address_test-address-test.o `test -f 'address-test.c' || echo '$(srcdir)/'`address-test.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/address_test-address-test.Tpo $(DEPDIR)/address_test-address-test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='address-test.c' object='address_test-address-test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -c -o address_test-address-test.o `test -f 'address-test.c' || echo '$(srcdir)/'`address-test.c

address_test-address-test.obj: address-test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -MT address_test-address-test.obj -MD -MP -MF $(DEPDIR)/address_test-address-test.Tpo -c -o address_test-address-test.obj `if test -f 'address-test.c'; then $(CYGPATH_W) 'address-test.c'; else $(CYGPATH_W) '$(srcdir)/address-test.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/address_test-address-test.Tpo $(DEPDIR)/address_test-address-test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='address-test.c' object='address_test-address-test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -c -o address_test-address-test.obj `if test -f 'address-test.c'; then $(CYGPATH_W) 'address-test.c'; else $(CYGPATH_W) '$(srcdir)/address-test.c'; fi`

address_test-warn.o: warn.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -MT address_test-warn.o -MD -MP -MF $(DEPDIR)/address_test-warn.Tpo -c -o address_test-warn.o `test -f 'warn.c' || echo '$(srcdir)/'`warn.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/address_test-warn.Tpo $(DEPDIR)/address_test-warn.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='warn.c' object='address_test-warn.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -c -o address_test-warn.o `test -f 'warn.c' || echo '$(srcdir)/'`warn.c

address_test-warn.obj: warn.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -MT address_test-warn.obj -MD -MP -MF $(DEPDIR)/address_test-warn.Tpo -c -o address_test-warn.obj `if test -f 'warn.c'; then $(CYGPATH_W) 'warn.c'; else $(CYGPATH_W) '$(srcdir)/warn.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/address_test-warn.Tpo $(DEPDIR)/address_test-warn.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='warn.c' object='address_test-warn.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(address_test_CFLAGS) $(CFLAGS) -c -o address_test-warn.obj `if test -f 'warn.c'; then $(CYGPATH_W) 'warn.c'; else $(CYGPATH_W) '$(srcdir)/warn.c'; fi`

browse_domain_test-browse-domain-test.o: browse-domain-test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(browse_domain_test_CFLAGS) $(CFLAGS) -MT browse_domain_test-browse-domain-test.o -MD -MP -MF $(DEPDIR)/browse_domain_test-browse-domain-test.Tpo -c -o browse_domain_test-browse-domain-test.o `test -f 'browse-domain-test.c' || echo '$(srcdir)/'`browse-domain-test.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/browse_domain_test-browse-domain-test.Tpo $(DEPDIR)/browse_domain_test-browse-domain-test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='browse-domain-test.c' object='browse_domain_test-browse-domain-test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(browse_domain_test_CFLAGS) $(CFLAGS) -c -o browse_domain_test-browse-domain-test.o `test -f 'browse-domain-test.c' || echo '$(srcdir)/'`browse-domain-test.c

browse_domain_test-browse-domain-test.obj: browse-domain-test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(browse_domain_test_CFLAGS) $(CFLAGS) -MT browse_domain_test-browse-domain-test.obj -MD -MP -MF $(DEPDIR)/browse_domain_test-browse-domain-test.Tpo -c -o browse_domain_test-browse-domain-test.obj `if test -f 'browse-domain-test.c'; then $(CYGPATH_W) 'browse-domain-test.c'; else $(CYGPATH_W) '$(srcdir)/browse-domain-test.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/browse_domain_test-browse-domain-test.Tpo $(DEPDIR)/browse_domain_test-browse-domain-test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='browse-domain-test.c' object='browse_domain_test-browse-domain-test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(browse_domain_test_CFLAGS) $(CFLAGS) -c -o browse_domain_test-browse-domain-test.obj `if test -f 'browse-domain-test.c'; then $(CYGPATH_W) 'browse-domain-test.c'; else $(CYGPATH_W) '$(srcdir)/browse-domain-test.c'; fi`

text_test-text.o: text.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -MT text_test-text.o -MD -MP -MF $(DEPDIR)/text_test-text.Tpo -c -o text_test-text.o `test -f 'text.c' || echo '$(srcdir)/'`text.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/text_test-text.Tpo $(DEPDIR)/text_test-text.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='text.c' object='text_test-text.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -c -o text_test-text.o `test -f 'text.c' || echo '$(srcdir)/'`text.c

text_test-text.obj: text.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -MT text_test-text.obj -MD -MP -MF $(DEPDIR)/text_test-text.Tpo -c -o text_test-text.obj `if test -f 'text.c'; then $(CYGPATH_W) 'text.c'; else $(CYGPATH_W) '$(srcdir)/text.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/text_test-text.Tpo $(DEPDIR)/text_test-text.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='text.c' object='text_test-text.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -c -o text_test-text.obj `if test -f 'text.c'; then $(CYGPATH_W) 'text.c'; else $(CYGPATH_W) '$(srcdir)/text.c'; fi`

text_test-text-test.o: text-test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -MT text_test-text-test.o -MD -MP -MF $(DEPDIR)/text_test-text-test.Tpo -c -o text_test-text-test.o `test -f 'text-test.c' || echo '$(srcdir)/'`text-test.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/text_test-text-test.Tpo $(DEPDIR)/text_test-text-test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='text-test.c' object='text_test-text-test.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -c -o text_test-text-test.o `test -f 'text-test.c' || echo '$(srcdir)/'`text-test.c

text_test-text-test.obj: text-test.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -MT text_test-text-test.obj -MD -MP -MF $(DEPDIR)/text_test-text-test.Tpo -c -o text_test-text-test.obj `if test -f 'text-test.c'; then $(CYGPATH_W) 'text-test.c'; else $(CYGPATH_W) '$(srcdir)/text-test.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/text_test-text-test.Tpo $(DEPDIR)/text_test-text-test.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='text-test.c' object='text_test-text-test.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -c -o text_test-text-test.obj `if test -f 'text-test.c'; then $(CYGPATH_W) 'text-test.c'; else $(CYGPATH_W) '$(srcdir)/text-test.c'; fi`

text_test-warn.o: warn.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -MT text_test-warn.o -MD -MP -MF $(DEPDIR)/text_test-warn.Tpo -c -o text_test-warn.o `test -f 'warn.c' || echo '$(srcdir)/'`warn.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/text_test-warn.Tpo $(DEPDIR)/text_test-warn.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='warn.c' object='text_test-warn.o' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -c -o text_test-warn.o `test -f 'warn.c' || echo '$(srcdir)/'`warn.c

text_test-warn.obj: warn.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -MT text_test-warn.obj -MD -MP -MF $(DEPDIR)/text_test-warn.Tpo -c -o text_test-warn.obj `if test -f 'warn.c'; then $(CYGPATH_W) 'warn.c'; else $(CYGPATH_W) '$(srcdir)/warn.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/text_test-warn.Tpo $(DEPDIR)/text_test-warn.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='warn.c' object='text_test-warn.obj' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCC_FALSE@	DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCC_FALSE@	$(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(text_test_CFLAGS) $(CFLAGS) -c -o text_test-warn.obj `if test -f 'warn.c'; then $(CYGPATH_W) 'warn.c'; else $(CYGPATH_W) '$(srcdir)/warn.c'; fi`

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
install-avahi_compat_howlHEADERS: $(avahi_compat_howl_HEADERS)
	@$(NORMAL_INSTALL)
	test -z "$(avahi_compat_howldir)" || $(MKDIR_P) "$(DESTDIR)$(avahi_compat_howldir)"
	@list='$(avahi_compat_howl_HEADERS)'; test -n "$(avahi_compat_howldir)" || list=; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(avahi_compat_howldir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(avahi_compat_howldir)" || exit $$?; \
	done

uninstall-avahi_compat_howlHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(avahi_compat_howl_HEADERS)'; test -n "$(avahi_compat_howldir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(avahi_compat_howldir)'; $(am__uninstall_files_from_dir)
install-avahi_compat_howl_corbyHEADERS: $(avahi_compat_howl_corby_HEADERS)
	@$(NORMAL_INSTALL)
	test -z "$(avahi_compat_howl_corbydir)" || $(MKDIR_P) "$(DESTDIR)$(avahi_compat_howl_corbydir)"
	@list='$(avahi_compat_howl_corby_HEADERS)'; test -n "$(avahi_compat_howl_corbydir)" || list=; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(avahi_compat_howl_corbydir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(avahi_compat_howl_corbydir)" || exit $$?; \
	done

uninstall-avahi_compat_howl_corbyHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(avahi_compat_howl_corby_HEADERS)'; test -n "$(avahi_compat_howl_corbydir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(avahi_compat_howl_corbydir)'; $(am__uninstall_files_from_dir)
install-avahi_compat_howl_discoveryHEADERS: $(avahi_compat_howl_discovery_HEADERS)
	@$(NORMAL_INSTALL)
	test -z "$(avahi_compat_howl_discoverydir)" || $(MKDIR_P) "$(DESTDIR)$(avahi_compat_howl_discoverydir)"
	@list='$(avahi_compat_howl_discovery_HEADERS)'; test -n "$(avahi_compat_howl_discoverydir)" || list=; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(avahi_compat_howl_discoverydir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(avahi_compat_howl_discoverydir)" || exit $$?; \
	done

uninstall-avahi_compat_howl_discoveryHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(avahi_compat_howl_discovery_HEADERS)'; test -n "$(avahi_compat_howl_discoverydir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(avahi_compat_howl_discoverydir)'; $(am__uninstall_files_from_dir)
install-avahi_compat_howl_rendezvousHEADERS: $(avahi_compat_howl_rendezvous_HEADERS)
	@$(NORMAL_INSTALL)
	test -z "$(avahi_compat_howl_rendezvousdir)" || $(MKDIR_P) "$(DESTDIR)$(avahi_compat_howl_rendezvousdir)"
	@list='$(avahi_compat_howl_rendezvous_HEADERS)'; test -n "$(avahi_compat_howl_rendezvousdir)" || list=; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(avahi_compat_howl_rendezvousdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(avahi_compat_howl_rendezvousdir)" || exit $$?; \
	done

uninstall-avahi_compat_howl_rendezvousHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(avahi_compat_howl_rendezvous_HEADERS)'; test -n "$(avahi_compat_howl_rendezvousdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(avahi_compat_howl_rendezvousdir)'; $(am__uninstall_files_from_dir)
install-avahi_compat_howl_saltHEADERS: $(avahi_compat_howl_salt_HEADERS)
	@$(NORMAL_INSTALL)
	test -z "$(avahi_compat_howl_saltdir)" || $(MKDIR_P) "$(DESTDIR)$(avahi_compat_howl_saltdir)"
	@list='$(avahi_compat_howl_salt_HEADERS)'; test -n "$(avahi_compat_howl_saltdir)" || list=; \
	for p in $$list; do \
	  if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
	  echo "$$d$$p"; \
	done | $(am__base_list) | \
	while read files; do \
	  echo " $(INSTALL_HEADER) $$files '$(DESTDIR)$(avahi_compat_howl_saltdir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(avahi_compat_howl_saltdir)" || exit $$?; \
	done

uninstall-avahi_compat_howl_saltHEADERS:
	@$(NORMAL_UNINSTALL)
	@list='$(avahi_compat_howl_salt_HEADERS)'; test -n "$(avahi_compat_howl_saltdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(avahi_compat_howl_saltdir)'; $(am__uninstall_files_from_dir)

# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
#     (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
	@fail= failcom='exit 1'; \
	for f in x $$MAKEFLAGS; do \
	  case $$f in \
	    *=* | --[!k]*);; \
	    *k*) failcom='fail=yes';; \
	  esac; \
	done; \
	dot_seen=no; \
	target=`echo $@ | sed s/-recursive//`; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    dot_seen=yes; \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done; \
	if test "$$dot_seen" = "no"; then \
	  $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
	fi; test -z "$$fail"

$(RECURSIVE_CLEAN_TARGETS):
	@fail= failcom='exit 1'; \
	for f in x $$MAKEFLAGS; do \
	  case $$f in \
	    *=* | --[!k]*);; \
	    *k*) failcom='fail=yes';; \
	  esac; \
	done; \
	dot_seen=no; \
	case "$@" in \
	  distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
	  *) list='$(SUBDIRS)' ;; \
	esac; \
	rev=''; for subdir in $$list; do \
	  if test "$$subdir" = "."; then :; else \
	    rev="$$subdir $$rev"; \
	  fi; \
	done; \
	rev="$$rev ."; \
	target=`echo $@ | sed s/-recursive//`; \
	for subdir in $$rev; do \
	  echo "Making $$target in $$subdir"; \
	  if test "$$subdir" = "."; then \
	    local_target="$$target-am"; \
	  else \
	    local_target="$$target"; \
	  fi; \
	  ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
	  || eval $$failcom; \
	done && test -z "$$fail"
tags-recursive:
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
	done
ctags-recursive:
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
	done

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: tags-recursive $(HEADERS) $(SOURCES)  $(TAGS_DEPENDENCIES) \
		$(TAGS_FILES) $(LISP)
	set x; \
	here=`pwd`; \
	if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
	  include_option=--etags-include; \
	  empty_fix=.; \
	else \
	  include_option=--include; \
	  empty_fix=; \
	fi; \
	list='$(SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test ! -f $$subdir/TAGS || \
	      set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
	  fi; \
	done; \
	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: ctags-recursive $(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
	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    test -d "$(distdir)/$$subdir" \
	    || $(MKDIR_P) "$(distdir)/$$subdir" \
	    || exit 1; \
	  fi; \
	done
	@list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
	  if test "$$subdir" = .; then :; else \
	    dir1=$$subdir; dir2="$(distdir)/$$subdir"; \
	    $(am__relativize); \
	    new_distdir=$$reldir; \
	    dir1=$$subdir; dir2="$(top_distdir)"; \
	    $(am__relativize); \
	    new_top_distdir=$$reldir; \
	    echo " (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir="$$new_top_distdir" distdir="$$new_distdir" \\"; \
	    echo "     am__remove_distdir=: am__skip_length_check=: am__skip_mode_fix=: distdir)"; \
	    ($(am__cd) $$subdir && \
	      $(MAKE) $(AM_MAKEFLAGS) \
	        top_distdir="$$new_top_distdir" \
	        distdir="$$new_distdir" \
		am__remove_distdir=: \
		am__skip_length_check=: \
		am__skip_mode_fix=: \
	        distdir) \
	      || exit 1; \
	  fi; \
	done
check-am: all-am
check: check-recursive
all-am: Makefile $(LTLIBRARIES) $(PROGRAMS) $(HEADERS)
installdirs: installdirs-recursive
installdirs-am:
	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(avahi_compat_howldir)" "$(DESTDIR)$(avahi_compat_howl_corbydir)" "$(DESTDIR)$(avahi_compat_howl_discoverydir)" "$(DESTDIR)$(avahi_compat_howl_rendezvousdir)" "$(DESTDIR)$(avahi_compat_howl_saltdir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive

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

installcheck: installcheck-recursive
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:

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

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive

clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
	clean-noinstPROGRAMS mostlyclean-am

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

dvi: dvi-recursive

dvi-am:

html: html-recursive

html-am:

info: info-recursive

info-am:

install-data-am: install-avahi_compat_howlHEADERS \
	install-avahi_compat_howl_corbyHEADERS \
	install-avahi_compat_howl_discoveryHEADERS \
	install-avahi_compat_howl_rendezvousHEADERS \
	install-avahi_compat_howl_saltHEADERS

install-dvi: install-dvi-recursive

install-dvi-am:

install-exec-am: install-libLTLIBRARIES

install-html: install-html-recursive

install-html-am:

install-info: install-info-recursive

install-info-am:

install-man:

install-pdf: install-pdf-recursive

install-pdf-am:

install-ps: install-ps-recursive

install-ps-am:

installcheck-am:

maintainer-clean: maintainer-clean-recursive
	-rm -rf ./$(DEPDIR)
	-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-recursive

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

pdf: pdf-recursive

pdf-am:

ps: ps-recursive

ps-am:

uninstall-am: uninstall-avahi_compat_howlHEADERS \
	uninstall-avahi_compat_howl_corbyHEADERS \
	uninstall-avahi_compat_howl_discoveryHEADERS \
	uninstall-avahi_compat_howl_rendezvousHEADERS \
	uninstall-avahi_compat_howl_saltHEADERS \
	uninstall-libLTLIBRARIES

.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) ctags-recursive \
	install-am install-strip tags-recursive

.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
	all all-am check check-am clean clean-generic \
	clean-libLTLIBRARIES clean-libtool clean-noinstPROGRAMS ctags \
	ctags-recursive distclean distclean-compile distclean-generic \
	distclean-libtool distclean-tags distdir dvi dvi-am html \
	html-am info info-am install install-am \
	install-avahi_compat_howlHEADERS \
	install-avahi_compat_howl_corbyHEADERS \
	install-avahi_compat_howl_discoveryHEADERS \
	install-avahi_compat_howl_rendezvousHEADERS \
	install-avahi_compat_howl_saltHEADERS 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-libLTLIBRARIES install-man install-pdf \
	install-pdf-am install-ps install-ps-am install-strip \
	installcheck installcheck-am installdirs installdirs-am \
	maintainer-clean maintainer-clean-generic mostlyclean \
	mostlyclean-compile mostlyclean-generic mostlyclean-libtool \
	pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
	uninstall-avahi_compat_howlHEADERS \
	uninstall-avahi_compat_howl_corbyHEADERS \
	uninstall-avahi_compat_howl_discoveryHEADERS \
	uninstall-avahi_compat_howl_rendezvousHEADERS \
	uninstall-avahi_compat_howl_saltHEADERS \
	uninstall-libLTLIBRARIES


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