Makefile.am 7.59 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#  This file is part of systemd.
#
#  Copyright 2010 Lennart Poettering
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU General Public License as published by
#  the Free Software Foundation; either version 2 of the License, or
#  (at your option) any later version.
#
#  systemd 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 General Public License
#  along with systemd; If not, see <http://www.gnu.org/licenses/>.

ACLOCAL_AMFLAGS = -I m4

20
dbuspolicydir=$(sysconfdir)/dbus-1/system.d
21
udevrulesdir=@udevrulesdir@
22

23
pkgsysconfdir=$(sysconfdir)/systemd
24
systemunitdir=$(pkgdatadir)/system
25
sessionunitdir=$(pkgdatadir)/session
26

27 28
AM_CPPFLAGS = \
        -include $(top_builddir)/config.h \
29
	-DSYSTEM_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/system\" \
30
	-DSYSTEM_DATA_UNIT_PATH=\"$(systemunitdir)\" \
31
	-DSYSTEM_SYSVINIT_PATH=\"$(SYSTEM_SYSVINIT_PATH)\" \
32
	-DSYSTEM_SYSVRCND_PATH=\"$(SYSTEM_SYSVRCND_PATH)\" \
33
	-DSESSION_CONFIG_UNIT_PATH=\"$(pkgsysconfdir)/session\" \
34
	-DSESSION_DATA_UNIT_PATH=\"$(sessionunitdir)\" \
35
	-DCGROUP_AGENT_PATH=\"$(pkglibexecdir)/systemd-cgroups-agent\" \
36 37
	-DSYSTEMD_BINARY_PATH=\"$(sbindir)/systemd\" \
	-I $(top_srcdir)/src
38 39 40 41 42

sbin_PROGRAMS = \
	systemd

bin_PROGRAMS = \
43 44 45 46
	systemctl

if HAVE_GTK
bin_PROGRAMS += \
47
	systemadm
48
endif
49 50 51

pkglibexec_PROGRAMS = \
	systemd-logger \
52 53
	systemd-cgroups-agent \
	systemd-initctl
54 55 56

noinst_PROGRAMS = \
	test-engine \
57
	test-job-type \
58 59
	test-ns \
	test-loopback
60

61
dist_dbuspolicy_DATA = \
62
	src/org.freedesktop.systemd1.conf
63

64
dist_udevrules_DATA = \
65
	src/99-systemd.rules
66

67
dist_systemunit_DATA = \
68
	units/emergency.service \
69 70 71 72 73 74 75 76 77
	units/local-fs.target \
	units/network.target \
	units/nss-lookup.target \
	units/remote-fs.target \
	units/rtc-set.target \
	units/shutdown.target \
	units/sigpwr.target \
	units/sockets.target \
	units/swap.target \
78 79 80
	units/systemd-initctl.socket \
	units/systemd-logger.socket

81
systemunit_DATA = \
82 83
	units/systemd-initctl.service \
	units/systemd-logger.service
84

85
EXTRA_DIST = \
86 87
	units/systemd-initctl.service.in \
	units/systemd-logger.service.in \
88 89
	LICENSE \
	README
90

91 92 93
# 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.
94
BASIC_SOURCES = \
95 96 97 98 99 100 101 102
        src/util.c \
        src/hashmap.c \
        src/set.c \
        src/strv.c \
        src/conf-parser.c \
        src/socket-util.c \
        src/log.c \
        src/ratelimit.c
103

104
COMMON_SOURCES = \
105
	$(BASIC_SOURCES) \
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
	src/unit.c \
        src/job.c \
        src/manager.c \
        src/load-fragment.c \
        src/service.c \
        src/automount.c \
        src/mount.c \
        src/swap.c \
        src/device.c \
        src/target.c \
        src/snapshot.c \
        src/socket.c \
        src/timer.c \
        src/load-dropin.c \
        src/execute.c \
        src/dbus.c \
        src/dbus-manager.c \
        src/dbus-unit.c \
        src/dbus-job.c \
	src/dbus-service.c \
	src/dbus-socket.c \
	src/dbus-target.c \
	src/dbus-mount.c \
	src/dbus-automount.c \
	src/dbus-swap.c \
	src/dbus-snapshot.c \
	src/dbus-device.c \
	src/dbus-execute.c \
	src/cgroup.c \
	src/mount-setup.c \
	src/hostname-setup.c \
	src/loopback-setup.c \
	src/utmp-wtmp.c \
	src/specifier.c \
	src/unit-name.c \
	src/fdset.c \
	src/namespace.c
143

144 145
EXTRA_DIST += \
	${COMMON_SOURCES:.c=.h} \
146 147 148 149 150 151 152 153
	src/macro.h \
	src/ioprio.h \
	src/missing.h \
	src/list.h \
	src/securebits.h \
	src/linux/auto_dev-ioctl.h \
	src/initreq.h \
	src/sd-daemon.h
154

155
dist_man_MANS = \
156 157
	man/systemd.unit.5 \
	man/systemd.service.5
158 159

HTMLMANS = \
160 161
	man/systemd.unit.html \
	man/systemd.service.html
162 163 164 165 166 167 168 169

dist_noinst_DATA = \
	$(HTMLMANS)

EXTRA_DIST += \
	man/systemd.unit.xml \
	man/systemd.service.xml

170 171
systemd_SOURCES = \
	$(COMMON_SOURCES) \
172
	src/main.c
173 174 175 176

systemd_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS) \
177 178
	$(UDEV_CFLAGS) \
	$(CGROUP_CFLAGS)
179 180 181

systemd_LDADD = \
	$(DBUS_LIBS) \
182 183
	$(UDEV_LIBS) \
	$(CGROUP_LIBS)
184 185 186

test_engine_SOURCES = \
	$(COMMON_SOURCES) \
187
	src/test-engine.c
188 189 190 191 192 193

test_engine_CPPFLAGS = $(systemd_CPPFLAGS)
test_engine_LDADD = $(systemd_LDADD)

test_job_type_SOURCES = \
	$(COMMON_SOURCES) \
194
	src/test-engine.c
195 196 197 198

test_job_type_CPPFLAGS = $(systemd_CPPFLAGS)
test_job_type_LDADD = $(systemd_LDADD)

199 200
test_ns_SOURCES = \
	$(BASIC_SOURCES) \
201 202
	src/test-ns.c \
	src/namespace.c
203 204 205 206

test_ns_CPPFLAGS = $(systemd_CPPFLAGS)
test_ns_LDADD = $(systemd_LDADD)

207 208
test_loopback_SOURCES = \
	$(BASIC_SOURCES) \
209 210
	src/test-loopback.c \
	src/loopback-setup.c
211 212 213 214

test_loopback_CPPFLAGS = $(systemd_CPPFLAGS)
test_loopback_LDADD = $(systemd_LDADD)

215 216
systemd_logger_SOURCES = \
	$(BASIC_SOURCES) \
217 218
	src/logger.c \
	src/sd-daemon.c
219

220 221
systemd_initctl_SOURCES = \
	$(BASIC_SOURCES) \
222 223
	src/initctl.c \
	src/sd-daemon.c
224 225 226 227 228 229 230 231

systemd_initctl_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS)

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

232 233
systemd_cgroups_agent_SOURCES = \
	$(BASIC_SOURCES) \
234
	src/cgroups-agent.c
235 236 237 238 239 240 241 242

systemd_cgroups_agent_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS)

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

243 244 245 246 247 248 249 250 251 252 253 254 255 256
VALAFLAGS = \
	-g \
	--save-temps \
	--pkg=dbus-glib-1 \
	--pkg=posix

if HAVE_GTK
VALAFLAGS += \
	--pkg=gtk+-2.0
endif

VALA_CFLAGS = \
	-Wno-unused-variable \
	-Wno-unused-function
257 258

systemctl_SOURCES = \
259 260
	src/systemctl.vala \
	src/systemd-interfaces.vala
261

262
systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS)
263 264 265
systemctl_LDADD = $(DBUSGLIB_LIBS)

systemadm_SOURCES = \
266 267
	src/systemadm.vala \
	src/systemd-interfaces.vala
268

269
systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS)
270
systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
271

272 273
units/systemd-initctl.service: units/systemd-initctl.service.in Makefile
	$(MKDIR_P) units
274
	$(SED) -e 's,@libexecdir\@,$(libexecdir),g' \
275 276
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
		< $< > $@
277

278 279
units/systemd-logger.service: units/systemd-logger.service.in Makefile
	$(MKDIR_P) units
280
	$(SED) -e 's,@libexecdir\@,$(libexecdir),g' \
281 282
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
		< $< > $@
283

284
CLEANFILES = \
285 286 287
	src/systemd-interfaces.c \
	src/systemctl.c \
	src/systemadm.c \
288 289
	units/systemd-initctl.service \
	units/systemd-logger.service
290

291
if HAVE_XSLTPROC
292 293
man/%.5: man/%.xml
	$(MKDIR_P) man
294 295
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

296 297
man/%.html: man/%.xml
	$(MKDIR_P) man
298 299 300 301 302 303 304
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<

CLEANFILES += \
	$(dist_man_MANS) \
	$(HTMLMANS)
endif

305
install-data-hook:
306
	$(MKDIR_P) -m 0755 \
307 308
		$(DESTDIR)$(systemunitdir) \
		$(DESTDIR)$(sessionunitdir) \
309
		$(DESTDIR)$(pkgsysconfdir)/system \
310
		$(DESTDIR)$(pkgsysconfdir)/system/sockets.target.wants \
311 312 313
		$(DESTDIR)$(pkgsysconfdir)/session \
		$(DESTDIR)$(sysconfdir)/xdg/systemd \
		$(DESTDIR)/cgroup/debug
314 315 316
	( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
		rm -f session && \
		$(LN_S) $(DESTDIR)$(pkgsysconfdir)/session session )
317 318 319 320 321 322 323 324
	( cd $(DESTDIR)$(pkgsysconfdir)/system/sockets.target.wants && \
		rm -f systemd-initctl.socket systemd-logger.socket && \
		$(LN_S) $(DESTDIR)$(systemunitdir)/systemd-logger.socket systemd-logger.socket && \
		$(LN_S) $(DESTDIR)$(systemunitdir)/systemd-initctl.socket systemd-initctl.socket )
	( cd $(DESTDIR)$(sessionunitdir) && \
		rm -f shutdown.target sockets.target && \
		$(LN_S) ../system/shutdown.target shutdown.target && \
		$(LN_S) ../system/sockets.target sockets.target )
325 326 327

DISTCHECK_CONFIGURE_FLAGS = \
	--with-udevrulesdir=$$dc_install_base/$(udevrulesdir)