Makefile.am 7.9 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
	units/systemd-initctl.service \
83 84
	units/systemd-logger.service \
	units/syslog.target
85

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

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

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

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

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

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

dist_noinst_DATA = \
	$(HTMLMANS)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

systemd_initctl_LDADD = \
	$(DBUS_LIBS)

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

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

systemd_cgroups_agent_LDADD = \
	$(DBUS_LIBS)

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

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

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

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

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

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

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

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

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

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

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

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

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

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