]> git.proxmox.com Git - mirror_lxc.git/blob - src/lxc/Makefile.am
Split bdev into modules: lxclvm
[mirror_lxc.git] / src / lxc / Makefile.am
1 pkginclude_HEADERS = \
2 attach_options.h \
3 lxccontainer.h \
4 version.h
5
6 noinst_HEADERS = \
7 arguments.h \
8 attach.h \
9 bdev/bdev.h \
10 bdev/lxcbtrfs.h \
11 bdev/lxclvm.h \
12 bdev/lxcoverlay.h \
13 bdev/lxcrsync.h \
14 bdev/lxczfs.h \
15 caps.h \
16 cgroup.h \
17 conf.h \
18 console.h \
19 error.h \
20 initutils.h \
21 list.h \
22 log.h \
23 lxc.h \
24 lxclock.h \
25 monitor.h \
26 namespace.h \
27 start.h \
28 state.h \
29 utils.h \
30 criu.h
31
32 if IS_BIONIC
33 noinst_HEADERS += \
34 ../include/ifaddrs.h \
35 ../include/openpty.h \
36 ../include/lxcmntent.h
37 endif
38
39 if !HAVE_GETLINE
40 if HAVE_FGETLN
41 noinst_HEADERS += ../include/getline.h
42 endif
43 endif
44
45 if !HAVE_GETSUBOPT
46 noinst_HEADERS += ../include/getsubopt.h
47 endif
48
49 sodir=$(libdir)
50 # use PROGRAMS to avoid complains from automake
51 so_PROGRAMS = liblxc.so
52
53 LSM_SOURCES = \
54 lsm/nop.c \
55 lsm/lsm.h lsm/lsm.c
56
57 if ENABLE_APPARMOR
58 LSM_SOURCES += lsm/apparmor.c
59 endif
60
61 if ENABLE_SELINUX
62 LSM_SOURCES += lsm/selinux.c
63 endif
64
65 liblxc_so_SOURCES = \
66 arguments.c arguments.h \
67 bdev/bdev.c bdev/bdev.h \
68 bdev/lxcbtrfs.c bdev/lxcbtrfs.h \
69 bdev/lxclvm.c bdev/lxclvm.h \
70 bdev/lxcoverlay.c bdev/lxcoverlay.h \
71 bdev/lxcrsync.c bdev/lxcrsync.h \
72 bdev/lxczfs.c bdev/lxczfs.h \
73 commands.c commands.h \
74 start.c start.h \
75 execute.c \
76 monitor.c monitor.h \
77 console.c \
78 freezer.c \
79 error.h error.c \
80 parse.c parse.h \
81 cgfs.c \
82 cgroup.c cgroup.h \
83 lxc.h \
84 initutils.c initutils.h \
85 utils.c utils.h \
86 sync.c sync.h \
87 namespace.h namespace.c \
88 conf.c conf.h \
89 confile.c confile.h \
90 list.h \
91 state.c state.h \
92 log.c log.h \
93 attach.c attach.h \
94 criu.c criu.h \
95 \
96 network.c network.h \
97 nl.c nl.h \
98 rtnl.c rtnl.h \
99 genl.c genl.h \
100 \
101 caps.c caps.h \
102 lxcseccomp.h \
103 mainloop.c mainloop.h \
104 af_unix.c af_unix.h \
105 \
106 lxcutmp.c lxcutmp.h \
107 lxclock.h lxclock.c \
108 lxccontainer.c lxccontainer.h \
109 version.h \
110 \
111 $(LSM_SOURCES)
112
113 if ENABLE_CGMANAGER
114 liblxc_so_SOURCES += cgmanager.c
115 endif
116
117 if IS_BIONIC
118 liblxc_so_SOURCES += \
119 ../include/ifaddrs.c ../include/ifaddrs.h \
120 ../include/openpty.c ../include/openpty.h \
121 ../include/lxcmntent.c ../include/lxcmntent.h
122 endif
123
124 if !HAVE_GETLINE
125 if HAVE_FGETLN
126 liblxc_so_SOURCES += ../include/getline.c ../include/getline.h
127 endif
128 endif
129
130 AM_CFLAGS=-I$(top_srcdir)/src \
131 -DLXCROOTFSMOUNT=\"$(LXCROOTFSMOUNT)\" \
132 -DLXCPATH=\"$(LXCPATH)\" \
133 -DLXC_GLOBAL_CONF=\"$(LXC_GLOBAL_CONF)\" \
134 -DLXCINITDIR=\"$(LXCINITDIR)\" \
135 -DLIBEXECDIR=\"$(LIBEXECDIR)\" \
136 -DLXCTEMPLATEDIR=\"$(LXCTEMPLATEDIR)\" \
137 -DLOGPATH=\"$(LOGPATH)\" \
138 -DLXC_DEFAULT_CONFIG=\"$(LXC_DEFAULT_CONFIG)\" \
139 -DLXC_USERNIC_DB=\"$(LXC_USERNIC_DB)\" \
140 -DLXC_USERNIC_CONF=\"$(LXC_USERNIC_CONF)\" \
141 -DDEFAULT_CGROUP_PATTERN=\"$(DEFAULT_CGROUP_PATTERN)\" \
142 -DRUNTIME_PATH=\"$(RUNTIME_PATH)\" \
143 -DSBINDIR=\"$(SBINDIR)\"
144
145 if ENABLE_APPARMOR
146 AM_CFLAGS += -DHAVE_APPARMOR
147 endif
148
149 if ENABLE_CGMANAGER
150 AM_CFLAGS += -DHAVE_CGMANAGER
151 endif
152
153 if ENABLE_SELINUX
154 AM_CFLAGS += -DHAVE_SELINUX
155 endif
156
157 if USE_CONFIGPATH_LOGS
158 AM_CFLAGS += -DUSE_CONFIGPATH_LOGS
159 endif
160
161 if ENABLE_SECCOMP
162 AM_CFLAGS += -DHAVE_SECCOMP $(SECCOMP_CFLAGS)
163 liblxc_so_SOURCES += seccomp.c
164 endif
165
166 liblxc_so_CFLAGS = -fPIC -DPIC $(AM_CFLAGS) -pthread
167
168 liblxc_so_LDFLAGS = \
169 -pthread \
170 -shared \
171 -Wl,-soname,liblxc.so.$(firstword $(subst ., ,@LXC_VERSION_ABI@))
172
173 liblxc_so_LDADD = $(CAP_LIBS) $(APPARMOR_LIBS) $(SELINUX_LIBS) $(SECCOMP_LIBS)
174
175 if ENABLE_CGMANAGER
176 liblxc_so_LDADD += $(CGMANAGER_LIBS) $(DBUS_LIBS) $(NIH_LIBS) $(NIH_DBUS_LIBS)
177 liblxc_so_CFLAGS += $(CGMANAGER_CFLAGS) $(DBUS_CFLAGS) $(NIH_CFLAGS) $(NIH_DBUS_CFLAGS)
178 endif
179
180 bin_SCRIPTS = lxc-checkconfig
181
182 EXTRA_DIST = \
183 lxc-ls \
184 lxc-top.lua
185
186 if ENABLE_PYTHON
187 bin_SCRIPTS += lxc-ls
188 bin_SCRIPTS += lxc-start-ephemeral
189 else
190 bin_SCRIPTS += legacy/lxc-ls
191 endif
192
193 bin_PROGRAMS = \
194 lxc-attach \
195 lxc-autostart \
196 lxc-cgroup \
197 lxc-checkpoint \
198 lxc-clone \
199 lxc-copy \
200 lxc-config \
201 lxc-console \
202 lxc-create \
203 lxc-destroy \
204 lxc-device \
205 lxc-execute \
206 lxc-freeze \
207 lxc-info \
208 lxc-monitor \
209 lxc-snapshot \
210 lxc-start \
211 lxc-stop \
212 lxc-top \
213 lxc-unfreeze \
214 lxc-unshare \
215 lxc-usernsexec \
216 lxc-wait
217
218 sbin_PROGRAMS = init.lxc
219 pkglibexec_PROGRAMS = \
220 lxc-monitord \
221 lxc-user-nic
222
223 AM_LDFLAGS = -Wl,-E
224 if ENABLE_RPATH
225 AM_LDFLAGS += -Wl,-rpath -Wl,$(libdir)
226 endif
227 LDADD=liblxc.so @CAP_LIBS@ @APPARMOR_LIBS@ @SELINUX_LIBS@ @SECCOMP_LIBS@
228
229 lxc_attach_SOURCES = lxc_attach.c
230 lxc_autostart_SOURCES = lxc_autostart.c
231 lxc_cgroup_SOURCES = lxc_cgroup.c
232 lxc_config_SOURCES = lxc_config.c
233 lxc_console_SOURCES = lxc_console.c
234 lxc_destroy_SOURCES = lxc_destroy.c
235 lxc_device_SOURCES = lxc_device.c
236 lxc_execute_SOURCES = lxc_execute.c
237 lxc_freeze_SOURCES = lxc_freeze.c
238 lxc_info_SOURCES = lxc_info.c
239 init_lxc_SOURCES = lxc_init.c
240 lxc_monitor_SOURCES = lxc_monitor.c
241 lxc_monitord_SOURCES = lxc_monitord.c
242 lxc_clone_SOURCES = lxc_clone.c
243 lxc_copy_SOURCES = lxc_copy.c
244 lxc_start_SOURCES = lxc_start.c
245 lxc_stop_SOURCES = lxc_stop.c
246 lxc_top_SOURCES = lxc_top.c
247 lxc_unfreeze_SOURCES = lxc_unfreeze.c
248 lxc_unshare_SOURCES = lxc_unshare.c
249 lxc_wait_SOURCES = lxc_wait.c
250 lxc_create_SOURCES = lxc_create.c
251 lxc_snapshot_SOURCES = lxc_snapshot.c
252 lxc_usernsexec_SOURCES = lxc_usernsexec.c
253 lxc_user_nic_SOURCES = lxc_user_nic.c network.c network.h
254 lxc_checkpoint_SOURCES = lxc_checkpoint.c
255
256 if !HAVE_GETSUBOPT
257 lxc_copy_SOURCES += ../include/getsubopt.c ../include/getsubopt.h
258 endif
259
260 if HAVE_STATIC_LIBCAP
261 sbin_PROGRAMS += init.lxc.static
262
263 init_lxc_static_SOURCES = lxc_init.c error.c log.c initutils.c caps.c
264
265 if !HAVE_GETLINE
266 if HAVE_FGETLN
267 init_lxc_static_SOURCES += ../include/getline.c
268 endif
269 endif
270
271 init_lxc_static_LDFLAGS = -static
272 init_lxc_static_LDADD = @CAP_LIBS@
273 init_lxc_static_CFLAGS = $(AM_CFLAGS) -DNO_LXC_CONF
274 endif
275
276 install-exec-local: install-soPROGRAMS
277 mkdir -p $(DESTDIR)$(datadir)/lxc
278 install -c -m 644 lxc.functions $(DESTDIR)$(datadir)/lxc
279 mv $(DESTDIR)$(libdir)/liblxc.so $(DESTDIR)$(libdir)/liblxc.so.@LXC_VERSION_ABI@
280 cd $(DESTDIR)$(libdir); \
281 ln -sf liblxc.so.@LXC_VERSION_ABI@ liblxc.so.$(firstword $(subst ., ,@LXC_VERSION_ABI@)); \
282 ln -sf liblxc.so.$(firstword $(subst ., ,@LXC_VERSION_ABI@)) liblxc.so
283
284 install-exec-hook:
285 chmod u+s $(DESTDIR)$(libexecdir)/lxc/lxc-user-nic
286
287 uninstall-local:
288 $(RM) $(DESTDIR)$(libdir)/liblxc.so*