-# $Id$
-#
# 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
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.
+AM_CFLAGS=-I$(top_srcdir)
+
+# This cool debug trap works on i386/gcc only
+AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")'
+
+if HAVE_LIBDAEMON
+if HAVE_XML
+
pkgsysconfdir=$(sysconfdir)/avahi
servicedir=$(pkgsysconfdir)/services
+introspectiondir=$(datadir)/dbus-1/interfaces
+dbussystemservicesdir=$(datadir)/dbus-1/system-services
+
+AM_CFLAGS+= \
+ -DAVAHI_DAEMON_RUNTIME_DIR=\"$(avahi_runtime_dir)/avahi-daemon/\" \
+ -DAVAHI_SOCKET=\"$(avahi_socket)\" \
+ -DAVAHI_SERVICE_DIR=\"$(servicedir)\" \
+ -DAVAHI_CONFIG_FILE=\"$(pkgsysconfdir)/avahi-daemon.conf\" \
+ -DAVAHI_HOSTS_FILE=\"$(pkgsysconfdir)/hosts\" \
+ -DAVAHI_DBUS_INTROSPECTION_DIR=\"$(introspectiondir)\" \
+ -DAVAHI_CONFIG_DIR=\"$(pkgsysconfdir)\"
+
+sbin_PROGRAMS = \
+ avahi-daemon
+
+if ENABLE_TESTS
+noinst_PROGRAMS = \
+ ini-file-parser-test
+endif
-AM_CFLAGS= \
- -I$(top_srcdir) \
- -D_GNU_SOURCE \
- -DAVAHI_SERVICE_DIRECTORY=\"$(servicedir)\" \
- -DAVAHI_CONFIG_FILE=\"$(pkgsysconfdir)/avahi.conf\"
+avahi_daemon_SOURCES = \
+ main.c main.h \
+ simple-protocol.c simple-protocol.h \
+ static-services.c static-services.h \
+ static-hosts.c static-hosts.h \
+ ini-file-parser.c ini-file-parser.h \
+ setproctitle.c setproctitle.h \
+ sd-daemon.h sd-daemon.c \
+ ../avahi-client/check-nss.c
+avahi_daemon_CFLAGS = $(AM_CFLAGS) $(LIBDAEMON_CFLAGS) $(XML_CFLAGS)
+avahi_daemon_LDADD = $(AM_LDADD) ../avahi-common/libavahi-common.la ../avahi-core/libavahi-core.la $(LIBDAEMON_LIBS) $(XML_LIBS)
-AM_LDADD=-lexpat
+ini_file_parser_test_SOURCES = \
+ ini-file-parser.c ini-file-parser.h \
+ ini-file-parser-test.c
-# GLIB 2.0
-AM_CFLAGS+=$(GLIB20_CFLAGS)
-AM_LDADD+=$(GLIB20_LIBS)
+ini_file_parser_test_CFLAGS = $(AM_CFLAGS)
+ini_file_parser_test_LDADD = $(AM_LDADD) ../avahi-common/libavahi-common.la ../avahi-core/libavahi-core.la
-# libdaemon
-AM_CFLAGS+=$(LIBDAEMON_CFLAGS)
-AM_LDADD+=$(LIBDAEMON_LIBS)
+pkgsysconf_DATA = \
+ avahi-daemon.conf \
+ hosts
-if ENABLE_DBUS
-# DBUS
-AM_CFLAGS+=$(DBUS_CFLAGS)
-AM_LDADD+=$(DBUS_LIBS)
-endif
+dist_service_DATA = \
+ ssh.service \
+ sftp-ssh.service
-# This cool debug trap works on i386/gcc only
-AM_CFLAGS+='-DDEBUG_TRAP=__asm__("int $$3")'
+dist_pkgdata_DATA = \
+ avahi-service.dtd
-bin_PROGRAMS = \
- avahi
+%.service: %.service.in
+ $(AM_V_GEN)sed -e 's,@sbindir\@,$(sbindir),g' $< > $@
-avahi_SOURCES = \
- main.c main.h \
- simple-protocol.c simple-protocol.h \
- static-services.c static-services.h
+%.socket: %.socket.in
+ $(AM_V_GEN)sed -e 's,@sbindir\@,$(sbindir),g' \
+ -e 's,@avahi_runtime_dir\@,$(avahi_runtime_dir),g' $< > $@
-pkgsysconf_DATA = \
- avahi.conf
+if HAVE_SYSTEMD
+systemdsystemunit_DATA = \
+ avahi-daemon.service \
+ avahi-daemon.socket
+
+dist_dbussystemservices_DATA = \
+ org.freedesktop.Avahi.service
+endif
-service_DATA = \
- example.service
+CLEANFILES = $(systemdsystemunit_DATA)
-pkgdata_DATA = \
- avahi-service.dtd
+if ENABLE_CHROOT
-if ENABLE_DBUS
-avahi_SOURCES += dbus-protocol.c dbus-protocol.h
+avahi_daemon_SOURCES += \
+ chroot.c chroot.h \
+ caps.c caps.h
-dbusservicedir = $(DBUS_SYS_DIR)
-dbusservice_DATA = avahi-dbus.conf
+avahi_daemon_LDADD += -lcap
+
+endif
-EXTRA_DIST = $(dbusservice_DATA)
+if HAVE_DLOPEN
+avahi_daemon_LDADD += -ldl
endif
-avahi_CFLAGS = $(AM_CFLAGS)
-avahi_LDADD = $(AM_LDADD) ../avahi-core/libavahi-core.la ../avahi-common/libavahi-common.la
+if HAVE_DBUS
+
+dbusservicedir=$(DBUS_SYS_DIR)
+
+avahi_daemon_SOURCES += \
+ dbus-protocol.c dbus-protocol.h \
+ dbus-util.c dbus-util.h \
+ dbus-internal.h \
+ dbus-async-address-resolver.c \
+ dbus-async-host-name-resolver.c \
+ dbus-async-service-resolver.c \
+ dbus-domain-browser.c \
+ dbus-entry-group.c \
+ dbus-service-browser.c \
+ dbus-service-type-browser.c \
+ dbus-sync-address-resolver.c \
+ dbus-sync-host-name-resolver.c \
+ dbus-sync-service-resolver.c \
+ dbus-record-browser.c \
+ ../avahi-common/dbus.c ../avahi-common/dbus.h \
+ ../avahi-common/dbus-watch-glue.c ../avahi-common/dbus-watch-glue.h
+
+avahi_daemon_LDADD += \
+ $(DBUS_LIBS)
+
+avahi_daemon_CFLAGS += $(DBUS_CFLAGS) -DDBUS_SYSTEM_BUS_DEFAULT_ADDRESS=\"$(DBUS_SYSTEM_BUS_DEFAULT_ADDRESS)\"
+
+dist_dbusservice_DATA = avahi-dbus.conf
+
+dist_introspection_DATA = \
+ org.freedesktop.Avahi.Server.xml \
+ org.freedesktop.Avahi.EntryGroup.xml \
+ org.freedesktop.Avahi.DomainBrowser.xml \
+ org.freedesktop.Avahi.ServiceTypeBrowser.xml \
+ org.freedesktop.Avahi.ServiceBrowser.xml \
+ org.freedesktop.Avahi.ServiceResolver.xml \
+ org.freedesktop.Avahi.AddressResolver.xml \
+ org.freedesktop.Avahi.HostNameResolver.xml \
+ org.freedesktop.Avahi.RecordBrowser.xml
+
+endif
+endif
+endif
+
+EXTRA_DIST = \
+ avahi-daemon.conf \
+ example.service \
+ hosts \
+ example.service \
+ introspect.dtd \
+ introspect.xsl \
+ avahi-daemon.service.in \
+ avahi-daemon.socket.in
xmllint:
xmllint --noout --valid example.service
+ for F in $(introspection_DATA) ; do \
+ xmllint --noout --valid $$F ; \
+ done
+
+install-data-local:
+ test -z "$(localstatedir)/run" || $(mkdir_p) "$(DESTDIR)$(localstatedir)/run"
+
+update-systemd:
+ curl http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.c > sd-daemon.c
+ curl http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.h > sd-daemon.h