dbussystemservicedir=@dbussystemservicedir@
dbusinterfacedir=@dbusinterfacedir@
udevrulesdir=@udevrulesdir@
+pamlibdir=@pamlibdir@
+pkgconfigdatadir=$(datadir)/pkgconfig
# Our own, non-special dirs
pkgsysconfdir=$(sysconfdir)/systemd
AM_CPPFLAGS = \
-include $(top_builddir)/config.h \
+ -DSYSTEM_CONFIG_FILE=\"$(pkgsysconfdir)/system.conf\" \
-DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \
-DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
-DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \
-DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \
+ -DSESSION_CONFIG_FILE=\"$(pkgsysconfdir)/session.conf\" \
-DSESSION_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/session\" \
-DSESSION_DATA_UNIT_PATH=\"$(sessionunitdir)\" \
-DCGROUP_AGENT_PATH=\"$(rootlibexecdir)/systemd-cgroups-agent\" \
-DSYSTEMD_BINARY_PATH=\"$(rootbindir)/systemd\" \
+ -DSYSTEMCTL_BINARY_PATH=\"$(rootbindir)/systemctl\" \
+ -DRUNTIME_DIR=\"$(localstatedir)/run\" \
-I $(top_srcdir)/src
rootbin_PROGRAMS = \
systemd-notify
bin_PROGRAMS = \
- systemd-install
+ systemd-install \
+ systemd-cgls
if HAVE_GTK
bin_PROGRAMS += \
test-job-type \
test-ns \
test-loopback \
- test-daemon
+ test-daemon \
+ test-cgroup
+
+if HAVE_PAM
+pamlib_LTLIBRARIES = \
+ pam_systemd.la
+endif
+
+dist_pkgsysconf_DATA = \
+ src/system.conf
dist_dbuspolicy_DATA = \
src/org.freedesktop.systemd1.conf
units/mail-transfer-agent.target \
units/poweroff.target \
units/reboot.target \
- units/remote-fs.target \
units/rescue.target \
units/rpcbind.target \
units/rtc-set.target \
units/shutdown.target \
+ units/umount.target \
units/sigpwr.target \
units/sockets.target \
units/swap.target \
+ units/dbus.target \
units/systemd-initctl.socket \
units/systemd-logger.socket \
units/dev-hugepages.automount \
units/var-lock.mount \
units/var-run.mount
-systemunit_DATA = \
+nodist_systemunit_DATA = \
units/sysinit.target \
units/getty@.service \
units/graphical.target \
+ units/remote-fs.target \
units/multi-user.target \
units/systemd-initctl.service \
units/systemd-logger.service \
dist_sessionunit_DATA = \
units/session/default.target
-sessionunit_DATA = \
+nodist_sessionunit_DATA = \
units/session/remote-fs.target \
units/session/exit.service
units/systemd-logger.service.in \
units/syslog.target.in \
units/session/exit.service.in \
- LICENSE \
- README \
- DISTRO_PORTING
+ systemd.pc.in
if TARGET_FEDORA
dist_systemunit_DATA += \
dist_doc_DATA = \
README \
+ LICENSE \
+ DISTRO_PORTING \
src/sd-daemon.h \
src/sd-daemon.c
+pkgconfigdata_DATA = \
+ systemd.pc
+
noinst_LTLIBRARIES = \
libsystemd-basic.la \
libsystemd-core.la
-# This is needed because automake is buggy in how it generates the
-# rules for C programs, but not Vala programs. We therefore can't
-# list the .h files as dependencies if we want make dist to work.
-
libsystemd_basic_la_SOURCES = \
src/util.c \
src/hashmap.c \
src/hostname-setup.c \
src/loopback-setup.c \
src/kmod-setup.c \
+ src/modprobe-setup.c \
src/utmp-wtmp.c \
src/specifier.c \
src/unit-name.c \
src/fdset.c \
src/namespace.c \
- src/tcpwrap.c
+ src/tcpwrap.c \
+ src/cgroup-util.c
libsystemd_core_la_CFLAGS = \
$(AM_CFLAGS) \
$(LIBWRAP_LIBS) \
$(PAM_LIBS)
+# This is needed because automake is buggy in how it generates the
+# rules for C programs, but not Vala programs. We therefore can't
+# list the .h files as dependencies if we want make dist to work.
+
EXTRA_DIST += \
${libsystemd_basic_la_SOURCES:.c=.h} \
${libsystemd_core_la_SOURCES:.c=.h} \
src/linux/auto_dev-ioctl.h \
src/initreq.h \
src/sd-daemon.h \
- src/special.h
+ src/special.h \
+ src/dbus-common.h \
+ src/bus-errors.h \
+ src/cgroup-show.h
+
+MANPAGES = \
+ man/systemd.1 \
+ man/systemctl.1 \
+ man/systemadm.1 \
+ man/systemd-install.1 \
+ man/systemd-cgls.1 \
+ man/systemd-notify.1 \
+ man/sd_notify.3 \
+ man/sd_booted.3 \
+ man/sd_listen_fds.3 \
+ man/sd_is_fifo.3 \
+ man/systemd.unit.5 \
+ man/systemd.service.5 \
+ man/systemd.socket.5 \
+ man/systemd.mount.5 \
+ man/systemd.automount.5 \
+ man/systemd.swap.5 \
+ man/systemd.timer.5 \
+ man/systemd.path.5 \
+ man/systemd.target.5 \
+ man/systemd.device.5 \
+ man/systemd.snapshot.5 \
+ man/systemd.exec.5 \
+ man/daemon.7 \
+ man/sd-daemon.7 \
+ man/runlevel.8 \
+ man/telinit.8 \
+ man/halt.8 \
+ man/shutdown.8 \
+ man/pam_systemd.8 \
+ man/systemd.conf.5
+
+MANPAGES_ALIAS = \
+ man/reboot.8 \
+ man/poweroff.8 \
+ man/sd_is_socket.3 \
+ man/sd_is_socket_unix.3 \
+ man/sd_is_socket_inet.3 \
+ man/sd_notifyf.3 \
+ man/init.1
+
+man/reboot.8: man/halt.8
+man/poweroff.8: man/halt.8
+man/sd_is_socket.3: man/sd_is_fifo.3
+man/sd_is_socket_unix.3: man/sd_is_fifo.3
+man/sd_is_socket_inet.3: man/sd_is_fifo.3
+man/sd_notifyf.3: man/sd_notify.3
+man/init.1: man/systemd.1
dist_man_MANS = \
- man/systemd.unit.5 \
- man/systemd.service.5
+ $(MANPAGES) \
+ $(MANPAGES_ALIAS)
nodist_man_MANS = \
man/systemd.special.7
+XML_FILES = \
+ ${patsubst %.1,%.xml,${patsubst %.3,%.xml,${patsubst %.5,%.xml,${patsubst %.7,%.xml,${patsubst %.8,%.xml,$(MANPAGES)}}}}}
+
+XML_IN_FILES = \
+ ${patsubst %.1,%.xml.in,${patsubst %.3,%.xml.in,${patsubst %.5,%.xml.in,${patsubst %.7,%.xml.in,${patsubst %.8,%.xml.in,$(nodist_man_MANS)}}}}}
+
dist_noinst_DATA = \
- man/systemd.unit.html \
- man/systemd.service.html
+ ${XML_FILES:.xml=.html}
nodist_noinst_DATA = \
- man/systemd.special.html
+ ${XML_IN_FILES:.xml.in=.html}
EXTRA_DIST += \
- man/systemd.unit.xml \
- man/systemd.service.xml \
- man/systemd.special.xml.in \
- man/systemd.special.7.in \
- man/systemd.special.html.in
+ $(XML_FILES) \
+ $(XML_IN_FILES) \
+ ${nodist_man_MANS:=.in} \
+ ${XML_IN_FILES:.xml.in=.html.in}
systemd_SOURCES = \
src/main.c
test_daemon_LDADD = \
libsystemd-basic.la
+test_cgroup_SOURCES = \
+ src/test-cgroup.c \
+ src/cgroup-util.c
+
+test_cgroup_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CGROUP_CFLAGS)
+
+test_cgroup_LDADD = \
+ libsystemd-basic.la \
+ $(CGROUP_LIBS)
+
systemd_logger_SOURCES = \
src/logger.c \
src/sd-daemon.c \
systemd_initctl_SOURCES = \
src/initctl.c \
- src/sd-daemon.c
+ src/sd-daemon.c \
+ src/dbus-common.c
systemd_initctl_CFLAGS = \
$(AM_CFLAGS) \
systemctl_SOURCES = \
src/systemctl.c \
- src/utmp-wtmp.c
+ src/utmp-wtmp.c \
+ src/dbus-common.c \
+ src/cgroup-show.c \
+ src/cgroup-util.c
systemctl_CFLAGS = \
$(AM_CFLAGS) \
- $(DBUS_CFLAGS)
+ $(DBUS_CFLAGS) \
+ $(CGROUP_CLAGS)
systemctl_LDADD = \
libsystemd-basic.la \
- $(DBUS_LIBS)
+ $(DBUS_LIBS) \
+ $(CGROUP_LIBS)
systemd_notify_SOURCES = \
src/notify.c \
systemd_install_SOURCES = \
src/install.c \
- src/path-lookup.c
+ src/path-lookup.c \
+ src/dbus-common.c \
+ src/sd-daemon.c
systemd_install_LDADD = \
- libsystemd-basic.la
+ libsystemd-basic.la \
+ $(DBUS_LIBS)
-# We don't really link here against D-Bus, however we indirectly include D-Bus header files
systemd_install_CFLAGS = \
$(AM_CFLAGS) \
$(DBUS_CFLAGS)
+systemd_cgls_SOURCES = \
+ src/systemd-cgls.c \
+ src/cgroup-show.c \
+ src/cgroup-util.c
+
+systemd_cgls_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CGROUP_CLAGS)
+
+systemd_cgls_LDADD = \
+ libsystemd-basic.la \
+ $(CGROUP_LIBS)
+
systemadm_SOURCES = \
src/systemadm.vala \
src/systemd-interfaces.vala
$(DBUSGLIB_LIBS) \
$(GTK_LIBS)
+pam_systemd_la_SOURCES = \
+ src/pam-module.c \
+ src/cgroup-util.c \
+ src/sd-daemon.c
+
+pam_systemd_la_CFLAGS = \
+ $(AM_CFLAGS) \
+ $(CGROUP_CFLAGS) \
+ -fvisibility=hidden
+
+pam_systemd_la_LDFLAGS = \
+ -module \
+ -export-dynamic \
+ -avoid-version \
+ -shared \
+ -export-symbols-regex '^pam_sm_.*'
+
+pam_systemd_la_LIBADD = \
+ libsystemd-basic.la \
+ $(PAM_LIBS) \
+ $(CGROUP_LIBS)
+
SED_PROCESS = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(SED) -e 's,@rootlibexecdir\@,$(rootlibexecdir),g' \
-e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
- -e 's,@SPECIAL_DBUS_SERVICE\@,$(SPECIAL_DBUS_SERVICE),g' \
-e 's,@SYSTEMCTL\@,$(rootbindir)/systemctl,g' \
+ -e 's,@pkgsysconfdir\@,$(pkgsysconfdir),g' \
+ -e 's,@pkgdatadir\@,$(pkgdatadir),g' \
+ -e 's,@systemunitdir\@,$(systemunitdir),g' \
+ -e 's,@PACKAGE_VERSION\@,$(PACKAGE_VERSION),g' \
+ -e 's,@PACKAGE_NAME\@,$(PACKAGE_NAME),g' \
+ -e 's,@PACKAGE_URL\@,$(PACKAGE_URL),g' \
+ -e 's,@prefix\@,$(prefix),g' \
< $< > $@
units/%: units/%.in Makefile
man/%: man/%.in Makefile
$(SED_PROCESS)
+%.pc: %.pc.in Makefile
+ $(SED_PROCESS)
+
M4_PROCESS_SYSTEM = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
$(M4) -P $(M4_DISTRO_FLAG) -DFOR_SYSTEM=1 < $< > $@
$(M4_PROCESS_SESSION)
CLEANFILES = \
- units/systemd-initctl.service \
- units/systemd-logger.service \
- units/syslog.target \
- units/sysinit.target \
- units/getty@.service \
- units/graphical.target \
- units/multi-user.target \
- units/remote-fs.target \
- units/session/remote-fs.target \
- units/session/exit.service \
- man/systemd.special.7 \
- man/systemd.special.html
+ $(nodist_systemunit_DATA) \
+ $(nodist_sessionunit_DATA) \
+ $(nodist_man_MANS) \
+ ${XML_IN_FILES:.xml.in=.html} \
+ $(pkgconfigdata_DATA)
if HAVE_VALAC
CLEANFILES += \
- src/systemd-interfaces.c \
- src/systemadm.c
+ ${systemadm_SOURCES:.vala=.c}
endif
if HAVE_XSLTPROC
+XSLTPROC_FLAGS = \
+ --nonet \
+ --param funcsynopsis.style "'ansi'"
+
XSLTPROC_PROCESS_MAN = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(XSLTPROC) -o $@ --nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
XSLTPROC_PROCESS_MAN_IN = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(XSLTPROC) -o ${@:.in=} --nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \
+ $(XSLTPROC) -o ${@:.in=} $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $< && \
mv ${@:.in=} $@
XSLTPROC_PROCESS_HTML = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(XSLTPROC) -o $@ --nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<
+ $(XSLTPROC) -o $@ $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<
XSLTPROC_PROCESS_HTML_IN = \
$(AM_V_GEN)$(MKDIR_P) $(dir $@) && \
- $(XSLTPROC) -o ${@:.in=} --nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $< && \
+ $(XSLTPROC) -o ${@:.in=} $(XSLTPROC_FLAGS) http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $< && \
mv ${@:.in=} $@
+man/%.1: man/%.xml
+ $(XSLTPROC_PROCESS_MAN)
+
+man/%.1.in: man/%.xml.in
+ $(XSLTPROC_PROCESS_MAN)
+
+man/%.3: man/%.xml
+ $(XSLTPROC_PROCESS_MAN)
+
+man/%.3.in: man/%.xml.in
+ $(XSLTPROC_PROCESS_MAN)
+
man/%.5: man/%.xml
$(XSLTPROC_PROCESS_MAN)
man/%.7.in: man/%.xml.in
$(XSLTPROC_PROCESS_MAN_IN)
+man/%.8: man/%.xml
+ $(XSLTPROC_PROCESS_MAN)
+
+man/%.8.in: man/%.xml.in
+ $(XSLTPROC_PROCESS_MAN_IN)
+
man/%.html: man/%.xml
$(XSLTPROC_PROCESS_HTML)
CLEANFILES += \
$(dist_man_MANS) \
- man/systemd.special.7.in \
- man/systemd.unit.html \
- man/systemd.service.html \
- man/systemd.special.html.in
+ ${nodist_man_MANS:=.in} \
+ ${XML_FILES:.xml=.html} \
+ ${XML_IN_FILES:.xml.in=.html.in}
endif
org.freedesktop.systemd1.%.xml: systemd
- $(AM_V_GEN)./systemd --introspect=${@:.xml=} > $@
+ $(AM_V_GEN)SYSTEMD_SKIP_API_MOUNTS=1 ./systemd --introspect=${@:.xml=} > $@
-CLEANFILES += $(dbusinterface_DATA)
+CLEANFILES += \
+ $(dbusinterface_DATA)
install-data-hook:
$(MKDIR_P) -m 0755 \
$(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants \
$(DESTDIR)$(pkgsysconfdir)/session \
$(DESTDIR)$(sysconfdir)/xdg/systemd
- $(MKDIR_P) -m 0755 $(DESTDIR)/cgroup/systemd || \
- echo "Don't forget to create /cgroup/systemd! Couldn't create it for you, continuing anyway."
+ $(MKDIR_P) -m 0755 $(DESTDIR)/cgroup || \
+ echo "Don't forget to create /cgroup! Couldn't create it for you, continuing anyway."
( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
rm -f session && \
$(LN_S) $(pkgsysconfdir)/session session )
rm -f org.freedesktop.systemd1.service && \
$(LN_S) ../system-services/org.freedesktop.systemd1.service org.freedesktop.systemd1.service )
if TARGET_FEDORA
+ $(MKDIR_P) -m 0755 \
+ $(DESTDIR)$(SYSTEM_SYSVINIT_PATH)
( cd $(DESTDIR)$(pkgsysconfdir)/system && \
rm -f display-manager.service && \
$(LN_S) $(systemunitdir)/prefdm.service display-manager.service )
( cd $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants && \
- rm -f display-manager.service && \
- $(LN_S) ../display-manager.service display-manager.service )
+ rm -f prefdm.service && \
+ $(LN_S) $(systemunitdir)/prefdm.service prefdm.service )
( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
rm -f rc-local.service && \
$(LN_S) $(systemunitdir)/rc-local.service rc-local.service )
( cd $(DESTDIR)$(systemunitdir) && \
rm -f local.service && \
$(LN_S) rc-local.service local.service )
- ( cd $(DESTDIR)/etc/init.d && \
+ ( cd $(DESTDIR)$(SYSTEM_SYSVINIT_PATH) && \
$(LN_S) halt reboot > /dev/null 2>&1 || true )
endif
if TARGET_GENTOO
rm -f display-manager.service && \
$(LN_S) $(systemunitdir)/xdm.service display-manager.service )
( cd $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants && \
- rm -f display-manager.service && \
- $(LN_S) ../display-manager.service display-manager.service )
+ rm -f xdm.service && \
+ $(LN_S) $(systemunitdir)/xdm.service xdm.service )
endif
DISTCHECK_CONFIGURE_FLAGS = \
--with-dbussystemservicedir=$$dc_install_base/$(dbussystemservicedir) \
--with-dbusinterfacedir=$$dc_install_base/$(dbusinterfacedir) \
--with-udevrulesdir=$$dc_install_base/$(udevrulesdir) \
+ --with-pamlibdir=$$dc_install_base/$(pamlibdir) \
--with-rootdir=$$dc_install_base/$(rootdir)
+
+upload: all distcheck
+ cp -v systemd-$(VERSION).tar.bz2 /home/lennart/cvs.fedora/systemd/devel/
+ scp systemd-$(VERSION).tar.bz2 fdo:/srv/www.freedesktop.org/www/software/systemd/
+ scp man/*.html tango:public/systemd-man/
+
+git-tag:
+ git tag "v$(VERSION)" -m "systemd $(VERSION)"