ec5bdca9e5
A long time ago we de-duplicated the daemon and binary into a single executable, but left the daemon code building as an internal static library. Let's take the next step and compile the sources directly as part of the executable build. For example, we can then de-duplicate the `CFLAGS/CXXFLAGS`. And in the future this will help us turn on LTO.
116 lines
4.1 KiB
Plaintext
116 lines
4.1 KiB
Plaintext
# 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.c \
|
|
src/daemon/rpmostreed-utils.h \
|
|
src/daemon/rpmostreed-utils.c \
|
|
src/daemon/rpmostreed-sysroot.h \
|
|
src/daemon/rpmostreed-sysroot.c \
|
|
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.c \
|
|
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-livefs.c \
|
|
src/daemon/rpmostree-package-variants.h \
|
|
src/daemon/rpmostree-package-variants.c \
|
|
src/daemon/rpmostreed-os.h \
|
|
src/daemon/rpmostreed-os.cxx \
|
|
src/daemon/rpmostreed-os-experimental.h \
|
|
src/daemon/rpmostreed-os-experimental.c \
|
|
$(NULL)
|
|
|
|
dbusconf_DATA = $(srcdir)/src/daemon/org.projectatomic.rpmostree1.conf
|
|
dbusconfdir = $(datadir)/dbus-1/system.d
|
|
|
|
systemdunit_service_in_files = \
|
|
$(srcdir)/src/daemon/rpm-ostreed.service.in \
|
|
$(srcdir)/src/daemon/rpm-ostreed-automatic.service.in \
|
|
$(srcdir)/src/daemon/rpm-ostree-bootstatus.service.in \
|
|
$(NULL)
|
|
|
|
systemdunit_service_files = $(systemdunit_service_in_files:.service.in=.service)
|
|
systemdunit_timer_files = $(srcdir)/src/daemon/rpm-ostreed-automatic.timer
|
|
|
|
systemdunit_DATA = \
|
|
$(systemdunit_service_files) \
|
|
$(systemdunit_timer_files) \
|
|
$(NULL)
|
|
|
|
systemdunitdir = $(prefix)/lib/systemd/system/
|
|
if BUILDOPT_ASAN
|
|
daemon_asan_options = -e s,@SYSTEMD_ENVIRON\@,Environment=ASAN_OPTIONS=detect_leaks=false,
|
|
else
|
|
daemon_asan_options = -e /@SYSTEMD_ENVIRON\@/d
|
|
endif
|
|
$(systemdunit_service_files): Makefile
|
|
$(SED_SUBST) $(daemon_asan_options) $@.in > $@
|
|
|
|
# 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 = $(dbusservicedir)
|
|
%.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) \
|
|
$(systemdunit_service_files) \
|
|
$(NULL)
|