Makefile.am 7.92 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
	units/local-fs.target \
	units/network.target \
	units/nss-lookup.target \
	units/remote-fs.target \
73
	units/rpcbind.target \
74 75 76 77 78
	units/rtc-set.target \
	units/shutdown.target \
	units/sigpwr.target \
	units/sockets.target \
	units/swap.target \
79 80 81
	units/systemd-initctl.socket \
	units/systemd-logger.socket

82
systemunit_DATA = \
83
	units/systemd-initctl.service \
84 85
	units/systemd-logger.service \
	units/syslog.target
86

87
EXTRA_DIST = \
88 89
	units/systemd-initctl.service.in \
	units/systemd-logger.service.in \
90
	units/syslog.target.in \
91 92
	LICENSE \
	README
93

94 95 96
# 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.
97
BASIC_SOURCES = \
98 99 100 101 102 103 104 105
        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
106

107
COMMON_SOURCES = \
108
	$(BASIC_SOURCES) \
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 143 144 145
	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
146

147 148
EXTRA_DIST += \
	${COMMON_SOURCES:.c=.h} \
149 150 151 152 153 154 155 156
	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
157

158
dist_man_MANS = \
159
	man/systemd.unit.5 \
160 161
	man/systemd.service.5 \
	man/systemd.special.7
162 163

HTMLMANS = \
164
	man/systemd.unit.html \
165 166
	man/systemd.service.html \
	man/systemd.special.html
167 168 169 170 171 172

dist_noinst_DATA = \
	$(HTMLMANS)

EXTRA_DIST += \
	man/systemd.unit.xml \
173 174
	man/systemd.service.xml \
	man/systemd.special.xml
175

176 177
systemd_SOURCES = \
	$(COMMON_SOURCES) \
178
	src/main.c
179 180 181 182

systemd_CPPFLAGS = \
	$(AM_CPPFLAGS) \
	$(DBUS_CFLAGS) \
183 184
	$(UDEV_CFLAGS) \
	$(CGROUP_CFLAGS)
185 186 187

systemd_LDADD = \
	$(DBUS_LIBS) \
188 189
	$(UDEV_LIBS) \
	$(CGROUP_LIBS)
190 191 192

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

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

test_job_type_SOURCES = \
	$(COMMON_SOURCES) \
200
	src/test-engine.c
201 202 203 204

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

205 206
test_ns_SOURCES = \
	$(BASIC_SOURCES) \
207 208
	src/test-ns.c \
	src/namespace.c
209 210 211 212

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

213 214
test_loopback_SOURCES = \
	$(BASIC_SOURCES) \
215 216
	src/test-loopback.c \
	src/loopback-setup.c
217 218 219 220

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

221 222
systemd_logger_SOURCES = \
	$(BASIC_SOURCES) \
223 224
	src/logger.c \
	src/sd-daemon.c
225

226 227
systemd_initctl_SOURCES = \
	$(BASIC_SOURCES) \
228 229
	src/initctl.c \
	src/sd-daemon.c
230 231 232 233 234 235 236 237

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

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

238 239
systemd_cgroups_agent_SOURCES = \
	$(BASIC_SOURCES) \
240
	src/cgroups-agent.c
241 242 243 244 245 246 247 248

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

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

249 250 251 252 253 254 255 256 257 258 259 260 261 262
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
263 264

systemctl_SOURCES = \
265 266
	src/systemctl.vala \
	src/systemd-interfaces.vala
267

268
systemctl_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(VALA_CFLAGS)
269 270 271
systemctl_LDADD = $(DBUSGLIB_LIBS)

systemadm_SOURCES = \
272 273
	src/systemadm.vala \
	src/systemd-interfaces.vala
274

275
systemadm_CPPFLAGS = $(AM_CPPFLAGS) $(DBUSGLIB_CFLAGS) $(GTK_CFLAGS) $(VALA_CFLAGS)
276
systemadm_LDADD = $(DBUSGLIB_LIBS) $(GTK_LIBS)
277

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

284 285
units/systemd-logger.service: units/systemd-logger.service.in Makefile
	$(MKDIR_P) units
286
	$(SED) -e 's,@libexecdir\@,$(libexecdir),g' \
287 288
		-e 's,@pkglibexecdir\@,$(pkglibexecdir),g' \
		< $< > $@
289

290 291 292 293 294
units/syslog.target: units/syslog.target.in Makefile
	$(MKDIR_P) units
	$(SED) -e 's,@SPECIAL_SYSLOG_SERVICE\@,$(SPECIAL_SYSLOG_SERVICE),g' \
		< $< > $@

295
CLEANFILES = \
296 297 298
	src/systemd-interfaces.c \
	src/systemctl.c \
	src/systemadm.c \
299
	units/systemd-initctl.service \
300 301
	units/systemd-logger.service \
	units/syslog.target
302

303
if HAVE_XSLTPROC
304
man/%.5 man/%.7: man/%.xml
305
	$(MKDIR_P) man
306 307
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<

308 309
man/%.html: man/%.xml
	$(MKDIR_P) man
310 311 312 313 314 315 316
	$(XSLTPROC) -o $@ -nonet http://docbook.sourceforge.net/release/xsl/current/xhtml-1_1/docbook.xsl $<

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

317
install-data-hook:
318
	$(MKDIR_P) -m 0755 \
319 320
		$(DESTDIR)$(systemunitdir) \
		$(DESTDIR)$(sessionunitdir) \
321
		$(DESTDIR)$(pkgsysconfdir)/system \
322
		$(DESTDIR)$(pkgsysconfdir)/system/sockets.target.wants \
323 324 325
		$(DESTDIR)$(pkgsysconfdir)/session \
		$(DESTDIR)$(sysconfdir)/xdg/systemd \
		$(DESTDIR)/cgroup/debug
326 327 328
	( cd $(DESTDIR)$(sysconfdir)/xdg/systemd/ && \
		rm -f session && \
		$(LN_S) $(DESTDIR)$(pkgsysconfdir)/session session )
329 330 331 332 333 334 335 336
	( 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 )
337 338 339

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