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)