1 pkginclude_HEADERS = attach_options.h \
5 noinst_HEADERS = api_extensions.h \
9 cgroups/cgroup_utils.h \
17 ../include/netns_ifaddrs.h \
40 storage/storage_utils.h \
47 storage/storage_utils.h \
52 noinst_HEADERS += ../include/fexecve.h \
53 ../include/lxcmntent.h \
59 noinst_HEADERS += ../include/prlimit.h
65 noinst_HEADERS += ../include/getline.h
70 noinst_HEADERS += tools/include/getsubopt.h
74 noinst_HEADERS += ../include/getgrgid_r.h
79 LSM_SOURCES = lsm/lsm.c \
84 LSM_SOURCES += lsm/apparmor.c
88 LSM_SOURCES += lsm/selinux.c
91 lib_LTLIBRARIES = liblxc.la
92 liblxc_la_SOURCES = af_unix.c af_unix.h \
97 cgroups/cgroup.c cgroups/cgroup.h \
98 cgroups/cgroup_utils.c cgroups/cgroup_utils.h \
100 commands.c commands.h \
101 commands_utils.c commands_utils.h \
103 confile.c confile.h \
104 confile_utils.c confile_utils.h \
109 file_utils.c file_utils.h \
110 ../include/netns_ifaddrs.c ../include/netns_ifaddrs.h \
111 initutils.c initutils.h \
115 lxccontainer.c lxccontainer.h \
116 lxclock.c lxclock.h \
120 mainloop.c mainloop.h \
121 namespace.c namespace.h \
123 network.c network.h \
124 monitor.c monitor.h \
126 raw_syscalls.c raw_syscalls.h \
127 ringbuf.c ringbuf.h \
131 storage/btrfs.c storage/btrfs.h \
132 storage/dir.c storage/dir.h \
133 storage/loop.c storage/loop.h \
134 storage/lvm.c storage/lvm.h \
135 storage/nbd.c storage/nbd.h \
136 storage/overlay.c storage/overlay.h \
137 storage/rbd.c storage/rbd.h \
138 storage/rsync.c storage/rsync.h \
139 storage/storage.c storage/storage.h \
140 storage/storage_utils.c storage/storage_utils.h \
141 storage/zfs.c storage/zfs.h \
142 string_utils.c string_utils.h \
152 liblxc_la_SOURCES += ../include/fexecve.c ../include/fexecve.h \
153 ../include/lxcmntent.c ../include/lxcmntent.h \
154 ../include/openpty.c ../include/openpty.h
158 liblxc_la_SOURCES += ../include/getgrgid_r.c ../include/getgrgid_r.h
163 liblxc_la_SOURCES += ../include/getline.c ../include/getline.h
169 liblxc_la_SOURCES += ../include/prlimit.c ../include/prlimit.h
174 liblxc_la_SOURCES += seccomp.c
178 liblxc_la_SOURCES += ../include/strlcpy.c ../include/strlcpy.h
182 liblxc_la_SOURCES += ../include/strlcat.c ../include/strlcat.h
185 if ENFORCE_MEMFD_REXEC
186 liblxc_la_SOURCES += rexec.c rexec.h
189 AM_CFLAGS = -DLXCROOTFSMOUNT=\"$(LXCROOTFSMOUNT)\" \
190 -DLXCPATH=\"$(LXCPATH)\" \
191 -DLXC_GLOBAL_CONF=\"$(LXC_GLOBAL_CONF)\" \
192 -DLXCINITDIR=\"$(LXCINITDIR)\" \
193 -DLIBEXECDIR=\"$(LIBEXECDIR)\" \
194 -DLXCTEMPLATEDIR=\"$(LXCTEMPLATEDIR)\" \
195 -DLXCTEMPLATECONFIG=\"$(LXCTEMPLATECONFIG)\" \
196 -DLOGPATH=\"$(LOGPATH)\" \
197 -DLXC_DEFAULT_CONFIG=\"$(LXC_DEFAULT_CONFIG)\" \
198 -DLXC_USERNIC_DB=\"$(LXC_USERNIC_DB)\" \
199 -DLXC_USERNIC_CONF=\"$(LXC_USERNIC_CONF)\" \
200 -DDEFAULT_CGROUP_PATTERN=\"$(DEFAULT_CGROUP_PATTERN)\" \
201 -DRUNTIME_PATH=\"$(RUNTIME_PATH)\" \
202 -DSBINDIR=\"$(SBINDIR)\" \
203 -DAPPARMOR_CACHE_DIR=\"$(APPARMOR_CACHE_DIR)\" \
204 -I $(top_srcdir)/src \
205 -I $(top_srcdir)/src/lxc \
206 -I $(top_srcdir)/src/lxc/storage \
207 -I $(top_srcdir)/src/lxc/cgroups
210 AM_CFLAGS += -DHAVE_APPARMOR
214 AM_CFLAGS += -DHAVE_LIBGNUTLS
218 AM_CFLAGS += -DHAVE_SECCOMP \
223 AM_CFLAGS += -DHAVE_SELINUX
227 AM_CFLAGS += -DHAVE_DLOG \
231 if USE_CONFIGPATH_LOGS
232 AM_CFLAGS += -DUSE_CONFIGPATH_LOGS
235 # build the shared library
236 liblxc_la_CFLAGS = -fPIC \
241 liblxc_la_CFLAGS += -fsanitize=address \
242 -fno-omit-frame-pointer
245 liblxc_la_LDFLAGS = -pthread \
247 -Wl,-soname,liblxc.so.$(firstword $(subst ., ,@LXC_ABI@)) \
248 -version-info @LXC_ABI_MAJOR@
250 liblxc_la_LIBADD = $(CAP_LIBS) \
259 bin_SCRIPTS += cmd/lxc-checkconfig \
260 cmd/lxc-update-config
264 bin_PROGRAMS = lxc-attach \
291 bin_PROGRAMS += lxc-usernsexec
293 bin_PROGRAMS = lxc-usernsexec
296 sbin_PROGRAMS = init.lxc
298 pkglibexec_PROGRAMS = lxc-monitord \
305 AM_LDFLAGS += -Wl,-rpath -Wl,$(libdir)
316 lxc_attach_SOURCES = tools/lxc_attach.c \
318 tools/arguments.c tools/arguments.h
319 lxc_autostart_SOURCES = tools/lxc_autostart.c \
320 tools/arguments.c tools/arguments.h
321 lxc_cgroup_SOURCES = tools/lxc_cgroup.c \
322 tools/arguments.c tools/arguments.h
323 lxc_config_SOURCES = tools/lxc_config.c \
324 tools/arguments.c tools/arguments.h
325 lxc_console_SOURCES = tools/lxc_console.c \
326 tools/arguments.c tools/arguments.h
327 lxc_destroy_SOURCES = tools/lxc_destroy.c \
328 tools/arguments.c tools/arguments.h
329 lxc_device_SOURCES = tools/lxc_device.c \
330 tools/arguments.c tools/arguments.h
331 lxc_execute_SOURCES = tools/lxc_execute.c \
332 tools/arguments.c tools/arguments.h
333 lxc_freeze_SOURCES = tools/lxc_freeze.c \
334 tools/arguments.c tools/arguments.h
335 lxc_info_SOURCES = tools/lxc_info.c \
336 tools/arguments.c tools/arguments.h
337 lxc_monitor_SOURCES = tools/lxc_monitor.c \
339 tools/arguments.c tools/arguments.h
340 lxc_ls_SOURCES = tools/lxc_ls.c \
341 tools/arguments.c tools/arguments.h
342 lxc_copy_SOURCES = tools/lxc_copy.c \
343 tools/arguments.c tools/arguments.h \
344 storage/storage_utils.c storage/storage_utils.h
345 lxc_start_SOURCES = tools/lxc_start.c \
346 tools/arguments.c tools/arguments.h
347 lxc_stop_SOURCES = tools/lxc_stop.c \
348 tools/arguments.c tools/arguments.h
349 lxc_top_SOURCES = tools/lxc_top.c \
350 tools/arguments.c tools/arguments.h
351 lxc_unfreeze_SOURCES = tools/lxc_unfreeze.c \
352 tools/arguments.c tools/arguments.h
353 lxc_unshare_SOURCES = tools/lxc_unshare.c \
354 tools/arguments.c tools/arguments.h
355 lxc_wait_SOURCES = tools/lxc_wait.c \
356 tools/arguments.c tools/arguments.h
357 lxc_create_SOURCES = tools/lxc_create.c \
358 tools/arguments.c tools/arguments.h \
359 storage/storage_utils.c storage/storage_utils.h
360 lxc_snapshot_SOURCES = tools/lxc_snapshot.c \
361 tools/arguments.c tools/arguments.h
362 lxc_checkpoint_SOURCES = tools/lxc_checkpoint.c \
363 tools/arguments.c tools/arguments.h
367 # Binaries shipping with liblxc
368 init_lxc_SOURCES = cmd/lxc_init.c \
371 initutils.c initutils.h \
374 raw_syscalls.c raw_syscalls.h \
375 string_utils.c string_utils.h
376 lxc_monitord_SOURCES = cmd/lxc_monitord.c \
377 af_unix.c af_unix.h \
379 mainloop.c mainloop.h \
380 monitor.c monitor.h \
381 raw_syscalls.c raw_syscalls.h \
383 lxc_user_nic_SOURCES = cmd/lxc_user_nic.c \
384 ../include/netns_ifaddrs.c ../include/netns_ifaddrs.h \
387 network.c network.h \
389 raw_syscalls.c raw_syscalls.h \
390 string_utils.c string_utils.h \
392 lxc_usernsexec_SOURCES = cmd/lxc_usernsexec.c \
394 file_utils.c file_utils.h \
399 string_utils.c string_utils.h \
407 lxc_copy_SOURCES += tools/include/getsubopt.c tools/include/getsubopt.h
412 if HAVE_STATIC_LIBCAP
413 sbin_PROGRAMS += init.lxc.static
415 init_lxc_static_SOURCES = cmd/lxc_init.c \
418 initutils.c initutils.h \
419 file_utils.c file_utils.h \
423 namespace.c namespace.h \
424 string_utils.c string_utils.h
428 init_lxc_static_SOURCES += ../include/getline.c ../include/getline.h
433 init_lxc_static_SOURCES += ../include/strlcpy.c ../include/strlcpy.h
437 init_lxc_static_SOURCES += ../include/strlcat.c ../include/strlcat.h
440 init_lxc_static_LDFLAGS = -all-static
441 init_lxc_static_LDADD = @CAP_LIBS@
442 init_lxc_static_CFLAGS = $(AM_CFLAGS) -DNO_LXC_CONF
448 pam_LTLIBRARIES = pam_cgfs.la
450 pam_cgfs_la_SOURCES = pam/pam_cgfs.c \
451 file_utils.c file_utils.h \
454 string_utils.c string_utils.h
457 pam_cgfs_la_SOURCES += ../include/strlcat.c ../include/strlcat.h
461 pam_cgfs_la_SOURCES += ../include/strlcpy.c ../include/strlcpy.h
464 pam_cgfs_la_CFLAGS = $(AM_CFLAGS) -DNO_LXC_CONF
466 pam_cgfs_la_LIBADD = $(AM_LIBS) \
471 pam_cgfs_la_LDFLAGS = $(AM_LDFLAGS) \
479 install-exec-local: install-libLTLIBRARIES
480 mkdir -p $(DESTDIR)$(datadir)/lxc
481 install -c -m 644 lxc.functions $(DESTDIR)$(datadir)/lxc
482 mv $(shell readlink -f $(DESTDIR)$(libdir)/liblxc.so) $(DESTDIR)$(libdir)/liblxc.so.@LXC_ABI@
483 rm -f $(DESTDIR)$(libdir)/liblxc.so $(DESTDIR)$(libdir)/liblxc.so.1
484 cd $(DESTDIR)$(libdir); \
485 ln -sf liblxc.so.@LXC_ABI@ liblxc.so.$(firstword $(subst ., ,@LXC_ABI@)); \
486 ln -sf liblxc.so.$(firstword $(subst ., ,@LXC_ABI@)) liblxc.so
490 chmod u+s $(DESTDIR)$(libexecdir)/lxc/lxc-user-nic
494 $(RM) $(DESTDIR)$(libdir)/liblxc.so*
495 $(RM) $(DESTDIR)$(libdir)/liblxc.a
498 $(RM) $(DESTDIR)$(pamdir)/pam_cgfs.so*
500 install-data-hook: install-pamLTLIBRARIES
501 $(RM) "$(DESTDIR)$(pamdir)/pam_cgfs.la"
502 $(RM) "$(DESTDIR)$(pamdir)/pam_cgfs.a"