Makefile.am 11.1 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
	units/getty.target \
	units/halt.target \
71
72
73
	units/local-fs.target \
	units/network.target \
	units/nss-lookup.target \
74
75
	units/poweroff.target \
	units/reboot.target \
76
	units/remote-fs.target \
77
	units/rescue.target \
78
	units/rpcbind.target \
79
80
81
82
83
	units/rtc-set.target \
	units/shutdown.target \
	units/sigpwr.target \
	units/sockets.target \
	units/swap.target \
84
85
86
	units/systemd-initctl.socket \
	units/systemd-logger.socket

87
systemunit_DATA = \
88
89
90
91
	units/basic.target \
	units/getty@.service \
	units/graphical.target \
	units/multi-user.target \
92
	units/systemd-initctl.service \
93
94
	units/systemd-logger.service \
	units/syslog.target
95

96
EXTRA_DIST = \
97
98
99
100
	units/basic.target.m4 \
	units/getty@.service.m4 \
	units/graphical.target.m4 \
	units/multi-user.target.m4 \
101
102
	units/systemd-initctl.service.in \
	units/systemd-logger.service.in \
103
	units/syslog.target.in \
104
	LICENSE \
105
106
	README \
	DISTRO_PORTING
107

108
109
110
111
112
113
114
115
116
117
118
if TARGET_FEDORA
dist_systemunit_DATA += \
	units/fedora/halt.service \
	units/fedora/killall.service \
	units/fedora/poweroff.service \
	units/fedora/prefdm.service \
	units/fedora/rc-local.service \
	units/fedora/reboot.service \
	units/fedora/sysinit.service
endif

119
120
121
# 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.
122
BASIC_SOURCES = \
123
124
125
126
127
128
129
130
        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
131

132
COMMON_SOURCES = \
133
	$(BASIC_SOURCES) \
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
	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
171

172
173
EXTRA_DIST += \
	${COMMON_SOURCES:.c=.h} \
174
175
176
177
178
179
180
181
	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
182

183
dist_man_MANS = \
184
	man/systemd.unit.5 \
185
186
	man/systemd.service.5 \
	man/systemd.special.7
187
188

HTMLMANS = \
189
	man/systemd.unit.html \
190
191
	man/systemd.service.html \
	man/systemd.special.html
192
193
194
195
196
197

dist_noinst_DATA = \
	$(HTMLMANS)

EXTRA_DIST += \
	man/systemd.unit.xml \
198
199
	man/systemd.service.xml \
	man/systemd.special.xml
200

201
202
systemd_SOURCES = \
	$(COMMON_SOURCES) \
203
	src/main.c
204
205
206
207

systemd_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS) \
208
209
	$(UDEV_CFLAGS) \
	$(CGROUP_CFLAGS)
210
211
212

systemd_LDADD = \
	$(DBUS_LIBS) \
213
214
	$(UDEV_LIBS) \
	$(CGROUP_LIBS)
215
216
217

test_engine_SOURCES = \
	$(COMMON_SOURCES) \
218
	src/test-engine.c
219
220
221
222
223
224

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

test_job_type_SOURCES = \
	$(COMMON_SOURCES) \
225
	src/test-engine.c
226
227
228
229

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

230
231
test_ns_SOURCES = \
	$(BASIC_SOURCES) \
232
233
	src/test-ns.c \
	src/namespace.c
234
235
236
237

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

238
239
test_loopback_SOURCES = \
	$(BASIC_SOURCES) \
240
241
	src/test-loopback.c \
	src/loopback-setup.c
242
243
244
245

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

246
247
systemd_logger_SOURCES = \
	$(BASIC_SOURCES) \
248
249
	src/logger.c \
	src/sd-daemon.c
250

251
252
systemd_initctl_SOURCES = \
	$(BASIC_SOURCES) \
253
254
	src/initctl.c \
	src/sd-daemon.c
255
256
257
258
259
260
261
262

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

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

263
264
systemd_cgroups_agent_SOURCES = \
	$(BASIC_SOURCES) \
265
	src/cgroups-agent.c
266
267
268
269
270
271
272
273

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

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

274
275
276
277
278
279
280
281
282
283
284
285
286
287
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
288
289

systemctl_SOURCES = \
290
291
	src/systemctl.vala \
	src/systemd-interfaces.vala
292

293
systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS)
294
295
296
systemctl_LDADD = $(DBUSGLIB_LIBS)

systemadm_SOURCES = \
297
298
	src/systemadm.vala \
	src/systemd-interfaces.vala
299

300
systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS)
301
systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
302

303
304
305
SED_PROCESS = \
	$(MKDIR_P) units && \
	$(SED)  -e 's,@libexecdir\@,$(libexecdir),g' \
306
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
307
		-e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
308
		< $< > $@
309

310
311
312
units/systemd-initctl.service: units/systemd-initctl.service.in Makefile
	$(SED_PROCESS)

313
units/systemd-logger.service: units/systemd-logger.service.in Makefile
314
	$(SED_PROCESS)
315

316
units/syslog.target: units/syslog.target.in Makefile
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
	$(SED_PROCESS)

M4_FLAGS =

if TARGET_FEDORA
M4_FLAGS += -DTARGET_FEDORA=1
endif

M4_PROCESS = \
	$(MKDIR_P) units && \
	$(M4) -P $(M4_FLAGS) < $< > $@

units/basic.target: units/basic.target.m4 Makefile
	$(M4_PROCESS)

units/graphical.target: units/graphical.target.m4 Makefile
	$(M4_PROCESS)

units/multi-user.target: units/multi-user.target.m4 Makefile
	$(M4_PROCESS)

units/getty@.service: units/getty@.service.m4 Makefile
	$(M4_PROCESS)
340

341
CLEANFILES = \
342
343
344
	src/systemd-interfaces.c \
	src/systemctl.c \
	src/systemadm.c \
345
	units/systemd-initctl.service \
346
	units/systemd-logger.service \
347
348
349
350
351
	units/syslog.target \
	units/basic.target \
	units/getty@.service \
	units/graphical.target \
	units/multi-user.target
352

353
if HAVE_XSLTPROC
354
man/%.5 man/%.7: man/%.xml
355
	$(MKDIR_P) man
356
357
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

358
359
man/%.html: man/%.xml
	$(MKDIR_P) man
360
361
362
363
364
365
366
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<

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

367
install-data-hook:
368
	$(MKDIR_P) -m 0755 \
369
370
		$(DESTDIR)$(systemunitdir) \
		$(DESTDIR)$(sessionunitdir) \
371
		$(DESTDIR)$(systemunitdir)/sockets.target.wants \
372
		$(DESTDIR)$(pkgsysconfdir)/system \
373
374
375
		$(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants \
		$(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants \
376
377
378
		$(DESTDIR)$(pkgsysconfdir)/session \
		$(DESTDIR)$(sysconfdir)/xdg/systemd \
		$(DESTDIR)/cgroup/debug
379
380
	( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
		rm -f session && \
381
382
		$(LN_S) $(pkgsysconfdir)/session session )
	( cd $(DESTDIR)$(systemunitdir)/sockets.target.wants && \
383
		rm -f systemd-initctl.socket systemd-logger.socket && \
384
385
		$(LN_S) ../systemd-logger.socket systemd-logger.socket && \
		$(LN_S) ../systemd-initctl.socket systemd-initctl.socket )
386
387
388
389
	( cd $(DESTDIR)$(sessionunitdir) && \
		rm -f shutdown.target sockets.target && \
		$(LN_S) ../system/shutdown.target shutdown.target && \
		$(LN_S) ../system/sockets.target sockets.target )
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
	( cd $(DESTDIR)$(systemunitdir) && \
		rm -f runlevel0.target runlevel1.target runlevel6.target && \
		$(LN_S) poweroff.target runlevel0.target && \
		$(LN_S) rescue.target runlevel1.target && \
		$(LN_S) reboot.target runlevel6.target )
	( cd $(DESTDIR)$(pkgsysconfdir)/system && \
		rm -f default.target ctrl-alt-del.target kbrequest.target && \
		$(LN_S) $(systemunitdir)/graphical.target default.target && \
		$(LN_S) $(systemunitdir)/reboot.target ctrl-alt-del.target && \
		$(LN_S) $(systemunitdir)/rescue.target kbrequest.target && \
		rm -f runlevel2.target runlevel3.target runlevel4.target runlevel5.target && \
		$(LN_S) $(systemunitdir)/multi-user.target runlevel2.target && \
		$(LN_S) $(systemunitdir)/multi-user.target runlevel3.target && \
		$(LN_S) $(systemunitdir)/multi-user.target runlevel4.target && \
		$(LN_S) $(systemunitdir)/graphical.target runlevel5.target )
	( cd $(DESTDIR)$(pkgsysconfdir)/system/getty.target.wants && \
		rm -f getty@tty1.service getty@tty2.service getty@tty3.service getty@tty4.service getty@tty5.service getty@tty6.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty1.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty2.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty3.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty4.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty5.service && \
		$(LN_S) $(systemunitdir)/getty@.service getty@tty6.service )
	( cd $(DESTDIR)$(pkgsysconfdir)/system/multi-user.target.wants && \
		rm -f getty.target && \
		$(LN_S) $(systemunitdir)/getty.target getty.target )
if TARGET_FEDORA
	( cd $(DESTDIR)$(pkgsysconfdir)/system/graphical.target.wants && \
		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 )
endif

428
429
430

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