# 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@
@HAVE_DBUS_TRUE@bin_PROGRAMS = avahi-browse$(EXEEXT) \
@HAVE_DBUS_TRUE@	avahi-resolve$(EXEEXT) avahi-publish$(EXEEXT) \
@HAVE_DBUS_TRUE@	avahi-set-host-name$(EXEEXT)
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@am__append_1 = stdb.h stdb.c
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@am__append_2 = -DDATABASE_FILE=\"$(pkglibdatadir)/service-types.db\"
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@am__append_3 = -lgdbm
@HAVE_DBM_TRUE@@HAVE_DBUS_TRUE@am__append_4 = stdb.h stdb.c
@HAVE_DBM_TRUE@@HAVE_DBUS_TRUE@am__append_5 = -DDATABASE_FILE=\"$(pkglibdatadir)/service-types.db\"
subdir = avahi-utils
DIST_COMMON = $(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__installdirs = "$(DESTDIR)$(bindir)"
PROGRAMS = $(bin_PROGRAMS)
am__avahi_browse_SOURCES_DIST = avahi-browse.c sigint.c sigint.h \
	stdb.h stdb.c
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@am__objects_1 =  \
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@	avahi_browse-stdb.$(OBJEXT)
@HAVE_DBM_TRUE@@HAVE_DBUS_TRUE@am__objects_2 =  \
@HAVE_DBM_TRUE@@HAVE_DBUS_TRUE@	avahi_browse-stdb.$(OBJEXT)
@HAVE_DBUS_TRUE@am_avahi_browse_OBJECTS =  \
@HAVE_DBUS_TRUE@	avahi_browse-avahi-browse.$(OBJEXT) \
@HAVE_DBUS_TRUE@	avahi_browse-sigint.$(OBJEXT) $(am__objects_1) \
@HAVE_DBUS_TRUE@	$(am__objects_2)
avahi_browse_OBJECTS = $(am_avahi_browse_OBJECTS)
am__DEPENDENCIES_1 =
@HAVE_DBUS_TRUE@avahi_browse_DEPENDENCIES =  \
@HAVE_DBUS_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@	../avahi-common/libavahi-common.la \
@HAVE_DBUS_TRUE@	$(am__DEPENDENCIES_1)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
avahi_browse_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(avahi_browse_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am__avahi_publish_SOURCES_DIST = avahi-publish.c sigint.c sigint.h
@HAVE_DBUS_TRUE@am_avahi_publish_OBJECTS =  \
@HAVE_DBUS_TRUE@	avahi_publish-avahi-publish.$(OBJEXT) \
@HAVE_DBUS_TRUE@	avahi_publish-sigint.$(OBJEXT)
avahi_publish_OBJECTS = $(am_avahi_publish_OBJECTS)
@HAVE_DBUS_TRUE@avahi_publish_DEPENDENCIES =  \
@HAVE_DBUS_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@	../avahi-common/libavahi-common.la
avahi_publish_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(avahi_publish_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am__avahi_resolve_SOURCES_DIST = avahi-resolve.c sigint.c sigint.h
@HAVE_DBUS_TRUE@am_avahi_resolve_OBJECTS =  \
@HAVE_DBUS_TRUE@	avahi_resolve-avahi-resolve.$(OBJEXT) \
@HAVE_DBUS_TRUE@	avahi_resolve-sigint.$(OBJEXT)
avahi_resolve_OBJECTS = $(am_avahi_resolve_OBJECTS)
@HAVE_DBUS_TRUE@avahi_resolve_DEPENDENCIES =  \
@HAVE_DBUS_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@	../avahi-common/libavahi-common.la
avahi_resolve_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(avahi_resolve_CFLAGS) \
	$(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
am__avahi_set_host_name_SOURCES_DIST = avahi-set-host-name.c sigint.c \
	sigint.h
@HAVE_DBUS_TRUE@am_avahi_set_host_name_OBJECTS = avahi_set_host_name-avahi-set-host-name.$(OBJEXT) \
@HAVE_DBUS_TRUE@	avahi_set_host_name-sigint.$(OBJEXT)
avahi_set_host_name_OBJECTS = $(am_avahi_set_host_name_OBJECTS)
@HAVE_DBUS_TRUE@avahi_set_host_name_DEPENDENCIES =  \
@HAVE_DBUS_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@	../avahi-common/libavahi-common.la
avahi_set_host_name_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(avahi_set_host_name_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 = $(avahi_browse_SOURCES) $(avahi_publish_SOURCES) \
	$(avahi_resolve_SOURCES) $(avahi_set_host_name_SOURCES)
DIST_SOURCES = $(am__avahi_browse_SOURCES_DIST) \
	$(am__avahi_publish_SOURCES_DIST) \
	$(am__avahi_resolve_SOURCES_DIST) \
	$(am__avahi_set_host_name_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
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")'
pkglibdatadir = $(libdir)/avahi
@HAVE_DBUS_TRUE@avahi_browse_SOURCES = avahi-browse.c sigint.c \
@HAVE_DBUS_TRUE@	sigint.h $(am__append_1) $(am__append_4)
@HAVE_DBUS_TRUE@avahi_browse_CFLAGS = $(AM_CFLAGS) $(am__append_2) \
@HAVE_DBUS_TRUE@	$(am__append_5)
@HAVE_DBUS_TRUE@avahi_browse_LDADD = $(AM_LDADD) \
@HAVE_DBUS_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@	../avahi-common/libavahi-common.la \
@HAVE_DBUS_TRUE@	$(am__append_3)
@HAVE_DBUS_TRUE@avahi_resolve_SOURCES = avahi-resolve.c sigint.c sigint.h
@HAVE_DBUS_TRUE@avahi_resolve_CFLAGS = $(AM_CFLAGS)
@HAVE_DBUS_TRUE@avahi_resolve_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la
@HAVE_DBUS_TRUE@avahi_publish_SOURCES = avahi-publish.c sigint.c sigint.h
@HAVE_DBUS_TRUE@avahi_publish_CFLAGS = $(AM_CFLAGS)
@HAVE_DBUS_TRUE@avahi_publish_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la
@HAVE_DBUS_TRUE@avahi_set_host_name_SOURCES = avahi-set-host-name.c sigint.c sigint.h
@HAVE_DBUS_TRUE@avahi_set_host_name_CFLAGS = $(AM_CFLAGS)
@HAVE_DBUS_TRUE@avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la
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 avahi-utils/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign avahi-utils/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-binPROGRAMS: $(bin_PROGRAMS)
	@$(NORMAL_INSTALL)
	test -z "$(bindir)" || $(MKDIR_P) "$(DESTDIR)$(bindir)"
	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
	for p in $$list; do echo "$$p $$p"; done | \
	sed 's/$(EXEEXT)$$//' | \
	while read p p1; do if test -f $$p || test -f $$p1; \
	  then echo "$$p"; echo "$$p"; else :; fi; \
	done | \
	sed -e 'p;s,.*/,,;n;h' -e 's|.*|.|' \
	    -e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
	sed 'N;N;N;s,\n, ,g' | \
	$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
	  { d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
	    if ($$2 == $$4) files[d] = files[d] " " $$1; \
	    else { print "f", $$3 "/" $$4, $$1; } } \
	  END { for (d in files) print "f", d, files[d] }' | \
	while read type dir files; do \
	    if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
	    test -z "$$files" || { \
	    echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
	    $(INSTALL_PROGRAM_ENV) $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
	    } \
	; done

uninstall-binPROGRAMS:
	@$(NORMAL_UNINSTALL)
	@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
	files=`for p in $$list; do echo "$$p"; done | \
	  sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
	      -e 's/$$/$(EXEEXT)/' `; \
	test -n "$$list" || exit 0; \
	echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
	cd "$(DESTDIR)$(bindir)" && rm -f $$files

clean-binPROGRAMS:
	@list='$(bin_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
avahi-browse$(EXEEXT): $(avahi_browse_OBJECTS) $(avahi_browse_DEPENDENCIES) $(EXTRA_avahi_browse_DEPENDENCIES) 
	@rm -f avahi-browse$(EXEEXT)
	$(AM_V_CCLD)$(avahi_browse_LINK) $(avahi_browse_OBJECTS) $(avahi_browse_LDADD) $(LIBS)
avahi-publish$(EXEEXT): $(avahi_publish_OBJECTS) $(avahi_publish_DEPENDENCIES) $(EXTRA_avahi_publish_DEPENDENCIES) 
	@rm -f avahi-publish$(EXEEXT)
	$(AM_V_CCLD)$(avahi_publish_LINK) $(avahi_publish_OBJECTS) $(avahi_publish_LDADD) $(LIBS)
avahi-resolve$(EXEEXT): $(avahi_resolve_OBJECTS) $(avahi_resolve_DEPENDENCIES) $(EXTRA_avahi_resolve_DEPENDENCIES) 
	@rm -f avahi-resolve$(EXEEXT)
	$(AM_V_CCLD)$(avahi_resolve_LINK) $(avahi_resolve_OBJECTS) $(avahi_resolve_LDADD) $(LIBS)
avahi-set-host-name$(EXEEXT): $(avahi_set_host_name_OBJECTS) $(avahi_set_host_name_DEPENDENCIES) $(EXTRA_avahi_set_host_name_DEPENDENCIES) 
	@rm -f avahi-set-host-name$(EXEEXT)
	$(AM_V_CCLD)$(avahi_set_host_name_LINK) $(avahi_set_host_name_OBJECTS) $(avahi_set_host_name_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avahi_browse-avahi-browse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avahi_browse-sigint.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avahi_browse-stdb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avahi_publish-avahi-publish.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avahi_publish-sigint.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avahi_resolve-avahi-resolve.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avahi_resolve-sigint.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avahi_set_host_name-avahi-set-host-name.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/avahi_set_host_name-sigint.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 $@ $<

avahi_browse-avahi-browse.o: avahi-browse.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(avahi_browse_CFLAGS) $(CFLAGS) -MT avahi_browse-avahi-browse.o -MD -MP -MF $(DEPDIR)/avahi_browse-avahi-browse.Tpo -c -o avahi_browse-avahi-browse.o `test -f 'avahi-browse.c' || echo '$(srcdir)/'`avahi-browse.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/avahi_browse-avahi-browse.Tpo $(DEPDIR)/avahi_browse-avahi-browse.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='avahi-browse.c' object='avahi_browse-avahi-browse.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) $(avahi_browse_CFLAGS) $(CFLAGS) -c -o avahi_browse-avahi-browse.o `test -f 'avahi-browse.c' || echo '$(srcdir)/'`avahi-browse.c

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

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

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

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

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

avahi_publish-avahi-publish.o: avahi-publish.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(avahi_publish_CFLAGS) $(CFLAGS) -MT avahi_publish-avahi-publish.o -MD -MP -MF $(DEPDIR)/avahi_publish-avahi-publish.Tpo -c -o avahi_publish-avahi-publish.o `test -f 'avahi-publish.c' || echo '$(srcdir)/'`avahi-publish.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/avahi_publish-avahi-publish.Tpo $(DEPDIR)/avahi_publish-avahi-publish.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='avahi-publish.c' object='avahi_publish-avahi-publish.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) $(avahi_publish_CFLAGS) $(CFLAGS) -c -o avahi_publish-avahi-publish.o `test -f 'avahi-publish.c' || echo '$(srcdir)/'`avahi-publish.c

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

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

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

avahi_resolve-avahi-resolve.o: avahi-resolve.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(avahi_resolve_CFLAGS) $(CFLAGS) -MT avahi_resolve-avahi-resolve.o -MD -MP -MF $(DEPDIR)/avahi_resolve-avahi-resolve.Tpo -c -o avahi_resolve-avahi-resolve.o `test -f 'avahi-resolve.c' || echo '$(srcdir)/'`avahi-resolve.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/avahi_resolve-avahi-resolve.Tpo $(DEPDIR)/avahi_resolve-avahi-resolve.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='avahi-resolve.c' object='avahi_resolve-avahi-resolve.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) $(avahi_resolve_CFLAGS) $(CFLAGS) -c -o avahi_resolve-avahi-resolve.o `test -f 'avahi-resolve.c' || echo '$(srcdir)/'`avahi-resolve.c

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

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

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

avahi_set_host_name-avahi-set-host-name.o: avahi-set-host-name.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(avahi_set_host_name_CFLAGS) $(CFLAGS) -MT avahi_set_host_name-avahi-set-host-name.o -MD -MP -MF $(DEPDIR)/avahi_set_host_name-avahi-set-host-name.Tpo -c -o avahi_set_host_name-avahi-set-host-name.o `test -f 'avahi-set-host-name.c' || echo '$(srcdir)/'`avahi-set-host-name.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/avahi_set_host_name-avahi-set-host-name.Tpo $(DEPDIR)/avahi_set_host_name-avahi-set-host-name.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='avahi-set-host-name.c' object='avahi_set_host_name-avahi-set-host-name.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) $(avahi_set_host_name_CFLAGS) $(CFLAGS) -c -o avahi_set_host_name-avahi-set-host-name.o `test -f 'avahi-set-host-name.c' || echo '$(srcdir)/'`avahi-set-host-name.c

avahi_set_host_name-avahi-set-host-name.obj: avahi-set-host-name.c
@am__fastdepCC_TRUE@	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(avahi_set_host_name_CFLAGS) $(CFLAGS) -MT avahi_set_host_name-avahi-set-host-name.obj -MD -MP -MF $(DEPDIR)/avahi_set_host_name-avahi-set-host-name.Tpo -c -o avahi_set_host_name-avahi-set-host-name.obj `if test -f 'avahi-set-host-name.c'; then $(CYGPATH_W) 'avahi-set-host-name.c'; else $(CYGPATH_W) '$(srcdir)/avahi-set-host-name.c'; fi`
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/avahi_set_host_name-avahi-set-host-name.Tpo $(DEPDIR)/avahi_set_host_name-avahi-set-host-name.Po
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='avahi-set-host-name.c' object='avahi_set_host_name-avahi-set-host-name.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) $(avahi_set_host_name_CFLAGS) $(CFLAGS) -c -o avahi_set_host_name-avahi-set-host-name.obj `if test -f 'avahi-set-host-name.c'; then $(CYGPATH_W) 'avahi-set-host-name.c'; else $(CYGPATH_W) '$(srcdir)/avahi-set-host-name.c'; fi`

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

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

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:
	for dir in "$(DESTDIR)$(bindir)"; do \
	  test -z "$$dir" || $(MKDIR_P) "$$dir"; \
	done
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:
	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."
@HAVE_DBUS_FALSE@install-exec-local:
clean: clean-am

clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am

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

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-binPROGRAMS install-exec-local

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

mostlyclean: mostlyclean-am

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

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am: uninstall-binPROGRAMS

.MAKE: install-am install-strip

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


@HAVE_DBUS_TRUE@install-exec-local:
@HAVE_DBUS_TRUE@	cd $(DESTDIR)/$(bindir) && \
@HAVE_DBUS_TRUE@		rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \
@HAVE_DBUS_TRUE@		$(LN_S) avahi-resolve avahi-resolve-host-name && \
@HAVE_DBUS_TRUE@		$(LN_S) avahi-resolve avahi-resolve-address && \
@HAVE_DBUS_TRUE@		$(LN_S) avahi-browse avahi-browse-domains && \
@HAVE_DBUS_TRUE@		$(LN_S) avahi-publish avahi-publish-address && \
@HAVE_DBUS_TRUE@		$(LN_S) avahi-publish avahi-publish-service

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