# 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_GTK2OR3_TRUE@am__append_1 = -DGNOMELOCALEDIR=\"$(datadir)/locale\"
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK_TRUE@am__append_2 = \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK_TRUE@	libavahi-ui.la

@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@am__append_3 = \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@	libavahi-ui-gtk3.la

@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__append_4 = ../avahi-utils/stdb.h ../avahi-utils/stdb.c
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__append_5 = -DDATABASE_FILE=\"$(pkglibdatadir)/service-types.db\"
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__append_6 = -lgdbm
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__append_7 = -DDATABASE_FILE=\"$(pkglibdatadir)/service-types.db\"
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__append_8 = -lgdbm
@HAVE_DBM_TRUE@@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__append_9 = ../avahi-utils/stdb.h ../avahi-utils/stdb.c
@HAVE_DBM_TRUE@@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__append_10 = -DDATABASE_FILE=\"$(pkglibdatadir)/service-types.db\"
@HAVE_DBM_TRUE@@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__append_11 = -DDATABASE_FILE=\"$(pkglibdatadir)/service-types.db\"
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@bin_PROGRAMS = bssh$(EXEEXT)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__append_12 = bssh.desktop bvnc.desktop
subdir = avahi-ui
DIST_COMMON = $(am__avahiinclude_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)$(bindir)" \
	"$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(avahiincludedir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_gtk3_la_DEPENDENCIES = ../avahi-common/libavahi-common.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-glib/libavahi-glib.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__DEPENDENCIES_1) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__DEPENDENCIES_1)
am__libavahi_ui_gtk3_la_SOURCES_DIST = avahi-ui.h avahi-ui.c \
	../avahi-utils/stdb.h ../avahi-utils/stdb.c
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__objects_1 = libavahi_ui_gtk3_la-stdb.lo
@HAVE_DBM_TRUE@@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__objects_2 = libavahi_ui_gtk3_la-stdb.lo
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__objects_3 = libavahi_ui_gtk3_la-avahi-ui.lo \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__objects_1) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__objects_2)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am_libavahi_ui_gtk3_la_OBJECTS = $(am__objects_3)
libavahi_ui_gtk3_la_OBJECTS = $(am_libavahi_ui_gtk3_la_OBJECTS)
AM_V_lt = $(am__v_lt_@AM_V@)
am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
am__v_lt_0 = --silent
libavahi_ui_gtk3_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(libavahi_ui_gtk3_la_CFLAGS) $(CFLAGS) \
	$(libavahi_ui_gtk3_la_LDFLAGS) $(LDFLAGS) -o $@
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@am_libavahi_ui_gtk3_la_rpath = -rpath \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@	$(libdir)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_la_DEPENDENCIES = ../avahi-common/libavahi-common.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-glib/libavahi-glib.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__DEPENDENCIES_1) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__DEPENDENCIES_1)
am__libavahi_ui_la_SOURCES_DIST = avahi-ui.h avahi-ui.c \
	../avahi-utils/stdb.h ../avahi-utils/stdb.c
@HAVE_DBUS_TRUE@@HAVE_GDBM_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__objects_4 = libavahi_ui_la-stdb.lo
@HAVE_DBM_TRUE@@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am__objects_5 = libavahi_ui_la-stdb.lo
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am_libavahi_ui_la_OBJECTS = libavahi_ui_la-avahi-ui.lo \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__objects_4) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__objects_5)
libavahi_ui_la_OBJECTS = $(am_libavahi_ui_la_OBJECTS)
libavahi_ui_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
	$(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
	$(libavahi_ui_la_CFLAGS) $(CFLAGS) $(libavahi_ui_la_LDFLAGS) \
	$(LDFLAGS) -o $@
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK_TRUE@am_libavahi_ui_la_rpath = -rpath \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK_TRUE@	$(libdir)
PROGRAMS = $(bin_PROGRAMS)
am__bssh_SOURCES_DIST = bssh.c
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@am_bssh_OBJECTS = bssh-bssh.$(OBJEXT)
bssh_OBJECTS = $(am_bssh_OBJECTS)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_FALSE@bssh_DEPENDENCIES = $(am__DEPENDENCIES_1) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_FALSE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_FALSE@	../avahi-common/libavahi-common.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_FALSE@	libavahi-ui.la
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@bssh_DEPENDENCIES = $(am__DEPENDENCIES_1) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@	../avahi-common/libavahi-common.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@	libavahi-ui-gtk3.la
bssh_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
	$(LIBTOOLFLAGS) --mode=link $(CCLD) $(bssh_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 = $(libavahi_ui_gtk3_la_SOURCES) $(libavahi_ui_la_SOURCES) \
	$(bssh_SOURCES)
DIST_SOURCES = $(am__libavahi_ui_gtk3_la_SOURCES_DIST) \
	$(am__libavahi_ui_la_SOURCES_DIST) $(am__bssh_SOURCES_DIST)
DATA = $(desktop_DATA)
am__avahiinclude_HEADERS_DIST = avahi-ui.h
HEADERS = $(avahiinclude_HEADERS)
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) -DG_DISABLE_DEPRECATED=1 \
	-DGDK_DISABLE_DEPRECATED=1 -DGTK_DISABLE_DEPRECATED=1 \
	'-DDEBUG_TRAP=__asm__("int $$3")' $(am__append_1)
pkglibdatadir = $(libdir)/avahi
desktopdir = $(datadir)/applications
desktop_DATA = $(am__append_12)
desktop_DATA_in = $(desktop_DATA_in_in:.in.in=.in)
desktop_DATA_in_in = bssh.desktop.in.in bvnc.desktop.in.in
EXTRA_DIST = $(desktop_DATA_in_in)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@avahiincludedir = $(includedir)/avahi-ui
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@avahiinclude_HEADERS = \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	avahi-ui.h

@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@lib_LTLIBRARIES = $(am__append_2) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__append_3)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_la_SOURCES =  \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	avahi-ui.h \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	avahi-ui.c \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__append_4) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__append_9)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_la_CFLAGS = $(AM_CFLAGS) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(GTK20_CFLAGS) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__append_5) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__append_10)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_la_LIBADD = $(AM_LDADD) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-common/libavahi-common.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-glib/libavahi-glib.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(GTK20_LIBS) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__append_6)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_la_LDFLAGS = $(AM_LDFLAGS)  -version-info $(LIBAVAHI_UI_VERSION_INFO)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_gtk3_la_SOURCES = $(libavahi_ui_la_SOURCES)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_gtk3_la_CFLAGS = $(AM_CFLAGS) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(GTK30_CFLAGS) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__append_7) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__append_11)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_gtk3_la_LIBADD = $(AM_LDADD) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-common/libavahi-common.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-client/libavahi-client.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	../avahi-glib/libavahi-glib.la \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(GTK30_LIBS) \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(am__append_8)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@libavahi_ui_gtk3_la_LDFLAGS = $(AM_LDFLAGS)  -version-info $(LIBAVAHI_UI_VERSION_INFO)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@bssh_SOURCES = bssh.c
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_FALSE@bssh_CFLAGS = $(AM_CFLAGS) $(GTK20_CFLAGS)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@bssh_CFLAGS = $(AM_CFLAGS) $(GTK30_CFLAGS)
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_FALSE@bssh_LDADD = $(AM_LDADD) $(GTK20_LIBS) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la libavahi-ui.la
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@HAVE_GTK3_TRUE@bssh_LDADD = $(AM_LDADD) $(GTK30_LIBS) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la libavahi-ui-gtk3.la
CLEANFILES = $(desktop_DATA) $(desktop_DATA_in)
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-ui/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign avahi-ui/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
libavahi-ui-gtk3.la: $(libavahi_ui_gtk3_la_OBJECTS) $(libavahi_ui_gtk3_la_DEPENDENCIES) $(EXTRA_libavahi_ui_gtk3_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libavahi_ui_gtk3_la_LINK) $(am_libavahi_ui_gtk3_la_rpath) $(libavahi_ui_gtk3_la_OBJECTS) $(libavahi_ui_gtk3_la_LIBADD) $(LIBS)
libavahi-ui.la: $(libavahi_ui_la_OBJECTS) $(libavahi_ui_la_DEPENDENCIES) $(EXTRA_libavahi_ui_la_DEPENDENCIES) 
	$(AM_V_CCLD)$(libavahi_ui_la_LINK) $(am_libavahi_ui_la_rpath) $(libavahi_ui_la_OBJECTS) $(libavahi_ui_la_LIBADD) $(LIBS)
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
bssh$(EXEEXT): $(bssh_OBJECTS) $(bssh_DEPENDENCIES) $(EXTRA_bssh_DEPENDENCIES) 
	@rm -f bssh$(EXEEXT)
	$(AM_V_CCLD)$(bssh_LINK) $(bssh_OBJECTS) $(bssh_LDADD) $(LIBS)

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

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

@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bssh-bssh.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libavahi_ui_gtk3_la-avahi-ui.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libavahi_ui_gtk3_la-stdb.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libavahi_ui_la-avahi-ui.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libavahi_ui_la-stdb.Plo@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 $@ $<

libavahi_ui_gtk3_la-avahi-ui.lo: avahi-ui.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) $(libavahi_ui_gtk3_la_CFLAGS) $(CFLAGS) -MT libavahi_ui_gtk3_la-avahi-ui.lo -MD -MP -MF $(DEPDIR)/libavahi_ui_gtk3_la-avahi-ui.Tpo -c -o libavahi_ui_gtk3_la-avahi-ui.lo `test -f 'avahi-ui.c' || echo '$(srcdir)/'`avahi-ui.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libavahi_ui_gtk3_la-avahi-ui.Tpo $(DEPDIR)/libavahi_ui_gtk3_la-avahi-ui.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='avahi-ui.c' object='libavahi_ui_gtk3_la-avahi-ui.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) $(libavahi_ui_gtk3_la_CFLAGS) $(CFLAGS) -c -o libavahi_ui_gtk3_la-avahi-ui.lo `test -f 'avahi-ui.c' || echo '$(srcdir)/'`avahi-ui.c

libavahi_ui_gtk3_la-stdb.lo: ../avahi-utils/stdb.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) $(libavahi_ui_gtk3_la_CFLAGS) $(CFLAGS) -MT libavahi_ui_gtk3_la-stdb.lo -MD -MP -MF $(DEPDIR)/libavahi_ui_gtk3_la-stdb.Tpo -c -o libavahi_ui_gtk3_la-stdb.lo `test -f '../avahi-utils/stdb.c' || echo '$(srcdir)/'`../avahi-utils/stdb.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libavahi_ui_gtk3_la-stdb.Tpo $(DEPDIR)/libavahi_ui_gtk3_la-stdb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../avahi-utils/stdb.c' object='libavahi_ui_gtk3_la-stdb.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) $(libavahi_ui_gtk3_la_CFLAGS) $(CFLAGS) -c -o libavahi_ui_gtk3_la-stdb.lo `test -f '../avahi-utils/stdb.c' || echo '$(srcdir)/'`../avahi-utils/stdb.c

libavahi_ui_la-avahi-ui.lo: avahi-ui.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) $(libavahi_ui_la_CFLAGS) $(CFLAGS) -MT libavahi_ui_la-avahi-ui.lo -MD -MP -MF $(DEPDIR)/libavahi_ui_la-avahi-ui.Tpo -c -o libavahi_ui_la-avahi-ui.lo `test -f 'avahi-ui.c' || echo '$(srcdir)/'`avahi-ui.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libavahi_ui_la-avahi-ui.Tpo $(DEPDIR)/libavahi_ui_la-avahi-ui.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='avahi-ui.c' object='libavahi_ui_la-avahi-ui.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) $(libavahi_ui_la_CFLAGS) $(CFLAGS) -c -o libavahi_ui_la-avahi-ui.lo `test -f 'avahi-ui.c' || echo '$(srcdir)/'`avahi-ui.c

libavahi_ui_la-stdb.lo: ../avahi-utils/stdb.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) $(libavahi_ui_la_CFLAGS) $(CFLAGS) -MT libavahi_ui_la-stdb.lo -MD -MP -MF $(DEPDIR)/libavahi_ui_la-stdb.Tpo -c -o libavahi_ui_la-stdb.lo `test -f '../avahi-utils/stdb.c' || echo '$(srcdir)/'`../avahi-utils/stdb.c
@am__fastdepCC_TRUE@	$(AM_V_at)$(am__mv) $(DEPDIR)/libavahi_ui_la-stdb.Tpo $(DEPDIR)/libavahi_ui_la-stdb.Plo
@AMDEP_TRUE@@am__fastdepCC_FALSE@	$(AM_V_CC)source='../avahi-utils/stdb.c' object='libavahi_ui_la-stdb.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) $(libavahi_ui_la_CFLAGS) $(CFLAGS) -c -o libavahi_ui_la-stdb.lo `test -f '../avahi-utils/stdb.c' || echo '$(srcdir)/'`../avahi-utils/stdb.c

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

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

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
install-desktopDATA: $(desktop_DATA)
	@$(NORMAL_INSTALL)
	test -z "$(desktopdir)" || $(MKDIR_P) "$(DESTDIR)$(desktopdir)"
	@list='$(desktop_DATA)'; test -n "$(desktopdir)" || 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_DATA) $$files '$(DESTDIR)$(desktopdir)'"; \
	  $(INSTALL_DATA) $$files "$(DESTDIR)$(desktopdir)" || exit $$?; \
	done

uninstall-desktopDATA:
	@$(NORMAL_UNINSTALL)
	@list='$(desktop_DATA)'; test -n "$(desktopdir)" || list=; \
	files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
	dir='$(DESTDIR)$(desktopdir)'; $(am__uninstall_files_from_dir)
install-avahiincludeHEADERS: $(avahiinclude_HEADERS)
	@$(NORMAL_INSTALL)
	test -z "$(avahiincludedir)" || $(MKDIR_P) "$(DESTDIR)$(avahiincludedir)"
	@list='$(avahiinclude_HEADERS)'; test -n "$(avahiincludedir)" || 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)$(avahiincludedir)'"; \
	  $(INSTALL_HEADER) $$files "$(DESTDIR)$(avahiincludedir)" || exit $$?; \
	done

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

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 $(LTLIBRARIES) $(PROGRAMS) $(DATA) $(HEADERS)
install-binPROGRAMS: install-libLTLIBRARIES

installdirs:
	for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(desktopdir)" "$(DESTDIR)$(avahiincludedir)"; 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:
	-test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)

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:
@HAVE_GLIB_FALSE@install-exec-local:
@HAVE_GTK2OR3_FALSE@install-exec-local:
clean: clean-am

clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \
	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-avahiincludeHEADERS install-desktopDATA

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am: install-binPROGRAMS install-exec-local \
	install-libLTLIBRARIES

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-avahiincludeHEADERS uninstall-binPROGRAMS \
	uninstall-desktopDATA uninstall-libLTLIBRARIES

.MAKE: install-am install-strip

.PHONY: CTAGS GTAGS all all-am check check-am clean clean-binPROGRAMS \
	clean-generic clean-libLTLIBRARIES 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-avahiincludeHEADERS install-binPROGRAMS install-data \
	install-data-am install-desktopDATA install-dvi install-dvi-am \
	install-exec install-exec-am install-exec-local 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 maintainer-clean \
	maintainer-clean-generic mostlyclean mostlyclean-compile \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags uninstall uninstall-am uninstall-avahiincludeHEADERS \
	uninstall-binPROGRAMS uninstall-desktopDATA \
	uninstall-libLTLIBRARIES

@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@@INTLTOOL_DESKTOP_RULE@

@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@install-exec-local:
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	cd $(DESTDIR)/$(bindir) && \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@		rm -f bvnc bshell && \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@		$(LN_S) bssh bvnc && \
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@		$(LN_S) bssh bshell

@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@bssh.desktop.in: bssh.desktop.in.in
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(AM_V_GEN)sed -e 's,@bindir\@,$(bindir),g' $< > $@

@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@bvnc.desktop.in: bvnc.desktop.in.in
@HAVE_DBUS_TRUE@@HAVE_GLIB_TRUE@@HAVE_GTK2OR3_TRUE@	$(AM_V_GEN)sed -e 's,@bindir\@,$(bindir),g' $< > $@

@INTLTOOL_DESKTOP_RULE@

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