# This file used to declare a separate libtool static library.
# Now that the daemon and binary are the same thing, we have
# Makefile-rpm-ostree.am reuse these variables.

dbus_built_sources = rpm-ostreed-generated.h rpm-ostreed-generated.c

# TODO: Add --c-generate-autocleanup=all once we depend on GLib 2.50+
# https://github.com/projectatomic/rpm-ostree/pull/705
rpm-ostreed-generated.h: rpm-ostreed-generated.c
rpm-ostreed-generated.c: Makefile $(top_srcdir)/src/daemon/org.projectatomic.rpmostree1.xml
	$(AM_V_GEN) gdbus-codegen \
		--interface-prefix org.projectatomic.rpmostree1 \
		--c-namespace RPMOSTree \
		--c-generate-object-manager \
		--generate-c-code rpm-ostreed-generated \
		--generate-docbook rpm-ostreed-generated \
		$(top_srcdir)/src/daemon/org.projectatomic.rpmostree1.xml \
		$(NULL)
BUILT_SOURCES += $(dbus_built_sources)
CLEANFILES += rpm-ostreed-generated-org.projectatomic.rpmostree1.OS.xml \
	rpm-ostreed-generated-org.projectatomic.rpmostree1.OSExperimental.xml \
	rpm-ostreed-generated-org.projectatomic.rpmostree1.Sysroot.xml \
	rpm-ostreed-generated-org.projectatomic.rpmostree1.Transaction.xml \
	$(NULL)

librpmostreed_sources = \
	src/daemon/rpmostreed-types.h \
	src/daemon/rpmostreed-daemon.h \
	src/daemon/rpmostreed-daemon.cxx \
	src/daemon/rpmostreed-utils.h \
	src/daemon/rpmostreed-utils.cxx \
	src/daemon/rpmostreed-sysroot.h \
	src/daemon/rpmostreed-sysroot.cxx \
	src/daemon/rpmostree-sysroot-core.h \
	src/daemon/rpmostree-sysroot-core.cxx \
	src/daemon/rpmostree-sysroot-upgrader.h \
	src/daemon/rpmostree-sysroot-upgrader.cxx \
	src/daemon/rpmostreed-errors.h \
	src/daemon/rpmostreed-errors.cxx \
	src/daemon/rpmostreed-deployment-utils.h \
	src/daemon/rpmostreed-deployment-utils.cxx \
	src/daemon/rpmostreed-transaction.h \
	src/daemon/rpmostreed-transaction.cxx \
	src/daemon/rpmostreed-transaction-types.h \
	src/daemon/rpmostreed-transaction-types.cxx \
	src/daemon/rpmostreed-transaction-applylive.cxx \
	src/daemon/rpmostree-package-variants.h \
	src/daemon/rpmostree-package-variants.cxx \
	src/daemon/rpmostreed-os.h \
	src/daemon/rpmostreed-os.cxx \
	src/daemon/rpmostreed-os-experimental.h \
	src/daemon/rpmostreed-os-experimental.cxx \
	$(NULL)

dbusconf_DATA = $(srcdir)/src/daemon/org.projectatomic.rpmostree1.conf
dbusconfdir = $(datadir)/dbus-1/system.d

systemdunit_service_file_names = \
	rpm-ostreed.service \
	rpm-ostreed-automatic.service \
	rpm-ostree-bootstatus.service \
	rpm-ostree-countme.service \
	rpm-ostree-fix-shadow-mode.service \
	$(NULL)

systemdunit_service_files = $(addprefix $(srcdir)/src/daemon/,$(systemdunit_service_file_names))
systemdunit_timer_files = \
	$(srcdir)/src/daemon/rpm-ostreed-automatic.timer \
	$(srcdir)/src/daemon/rpm-ostree-countme.timer \
	$(NULL)

systemdunit_DATA = \
	$(systemdunit_service_files) \
	$(systemdunit_timer_files) \
	$(NULL)

systemdunitdir       = $(prefix)/lib/systemd/system/

# We keep this stub script around to have SELinux labeling work,
# plus some backwards compatibility.
libexec_SCRIPTS = rpm-ostreed
rpm-ostreed: $(srcdir)/src/daemon/rpm-ostreed-stub.sh.in Makefile
	$(SED_SUBST) $< > $@.tmp && mv $@.tmp $@

# We don't yet rename the DBus related items
service_in_files = $(srcdir)/src/daemon/org.projectatomic.rpmostree1.service.in
service_DATA     = $(service_in_files:.service.in=.service)
servicedir       = $(datadir)/dbus-1/system-services
%.service: %.service.in Makefile
	$(SED_SUBST) $@.in > $@.tmp && mv $@.tmp $@

polkit_policy_DATA = $(srcdir)/src/daemon/org.projectatomic.rpmostree1.policy
polkit_policydir = $(datadir)/polkit-1/actions

dbus_introspection_DATA = src/daemon/org.projectatomic.rpmostree1.xml
dbus_introspectiondir = $(datadir)/dbus-1/interfaces

sysconf_DATA += $(srcdir)/src/daemon/rpm-ostreed.conf

EXTRA_DIST += \
	$(dbus_introspection_DATA) \
	$(dbusservice_DATA) \
	$(polkit_policy_DATA) \
	$(sysconf_DATA) \
	$(service_in_files) \
	$(systemdunit_service_in_files) \
	$(systemdunit_timer_files) \
	$(NULL)

CLEANFILES += \
	$(service_DATA) \
	$(NULL)
