modernized the Makefiles; use '+=' where possible to remove complexity
[util-vserver.git] / util-vserver / src / Makefile-files
1 ## $Id$  -*- makefile -*-
2
3 ## Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
4 ##  
5 ## This program is free software; you can redistribute it and/or modify
6 ## it under the terms of the GNU General Public License as published by
7 ## the Free Software Foundation; either version 2, or (at your option)
8 ## any later version.
9 ##  
10 ## This program is distributed in the hope that it will be useful,
11 ## but WITHOUT ANY WARRANTY; without even the implied warranty of
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 ## GNU General Public License for more details.
14 ##  
15 ## You should have received a copy of the GNU General Public License
16 ## along with this program; if not, write to the Free Software
17 ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 ##  
19
20 src_sbin_CXX_PROGS =    src/vfiles
21 src_pkglib_CXX_PROGS =  src/vbuild src/vcheck
22
23 src_pkglib_C99_PROGS =  src/vunify src/vcopy
24
25
26 AM_INSTALLCHECK_STD_OPTIONS_EXEMPT += \
27                         src/parserpmdump \
28                         src/readlink \
29                         src/showperm \
30                         src/vbuild \
31                         src/vcheck \
32                         src/vreboot \
33                         src/save_ctxinfo \
34                         src/mask2prefix \
35                         src/pipe-sync \
36                         src/capchroot \
37                         src/chroot-cat \
38                         src/filetime \
39                         src/ifspec \
40                         src/rebootmgr \
41                         src/vdu \
42                         src/vfiles
43
44
45
46 DIETPROGS +=            src/chcontext-compat \
47                         src/secure-mount \
48                         src/save_ctxinfo \
49                         src/mask2prefix \
50                         src/chbind \
51                         src/chroot-cat \
52                         src/chroot-rm \
53                         src/clearenv \
54                         src/exec-cd \
55                         src/fakerunlevel \
56                         src/keep-ctx-alive \
57                         src/pipe-sync \
58                         src/exec-ulimit \
59                         src/vps \
60                         src/lsxid \
61                         src/chxid \
62                         src/reducecap \
63                         src/showattr \
64                         src/setattr \
65                         src/vattribute \
66                         src/vlimit \
67                         src/vnamespace \
68                         src/vunify \
69                         src/vuname \
70                         src/rpm-fake-resolver \
71                         src/vcontext \
72                         src/vcopy \
73                         src/vkill \
74                         src/vsched \
75                         src/vrsetup \
76                         src/vserver-stat \
77                         src/vserver-info
78
79 noinst_HEADERS +=       src/vutil.h src/vutil.p \
80                         src/util.h \
81                         src/fstool.h \
82                         src/compat-pivot_root.h \
83                         src/stack-start.h \
84                         src/sys_clone.h \
85                         src/vcopy-init.hc \
86                         src/vunify.h \
87                         src/vunify-init.hc \
88                         src/vserver-visitdir.hc \
89                         src/vserver.hh
90
91 pkglib_PROGRAMS +=      src/capchroot \
92                         src/chcontext-compat \
93                         src/chroot-cat \
94                         src/chroot-rm \
95                         src/clearenv \
96                         src/fakerunlevel \
97                         src/filetime \
98                         src/ifspec \
99                         src/keep-ctx-alive \
100                         src/listdevip \
101                         src/parserpmdump \
102                         src/readlink \
103                         src/showperm \
104                         src/vreboot \
105                         src/save_ctxinfo \
106                         src/secure-mount \
107                         src/mask2prefix \
108                         src/pipe-sync \
109                         src/exec-ulimit \
110                         src/rpm-fake-resolver \
111                         $(src_pkglib_C99_X_PROGS) \
112                         $(src_pkglib_CXX_X_PROGS)
113
114 pkglib_LTLIBRARIES +=   src/rpm-fake.la
115
116 sbin_PROGRAMS +=        src/chbind \
117                         src/exec-cd \
118                         src/lsxid \
119                         src/chxid \
120                         src/vps \
121                         src/showattr \
122                         src/setattr \
123                         src/rebootmgr \
124                         src/reducecap \
125                         src/vdu \
126                         src/vattribute \
127                         src/vcontext \
128                         src/vlimit \
129                         src/vkill \
130                         src/vnamespace \
131                         src/vrsetup \
132                         src/vsched \
133                         src/vserver-stat \
134                         src/vserver-info \
135                         src/vuname \
136                         $(src_sbin_CXX_X_PROGS)
137
138 src_capchroot_SOURCES           =  src/capchroot.c
139 src_capchroot_LDADD             =  lib/libvserver.la
140
141 src_chbind_SOURCES              =  src/chbind.c
142 src_chbind_LDADD                =  $(VSERVER_LDADDS)
143 src_chbind_LDFLAGS              =  $(VSERVER_LDFLAGS)
144
145 src_chcontext_compat_SOURCES =  src/chcontext.c
146 src_chcontext_compat_LDADD =    $(VSERVER_LDADDS) lib_internal/libinternal.a
147 src_chcontext_compat_LDFLAGS =  $(VSERVER_LDFLAGS)
148
149 src_vcontext_SOURCES            =  src/vcontext.c
150 src_vcontext_LDADD              =  $(VSERVER_LDADDS) lib_internal/libinternal.a
151 src_vcontext_LDFLAGS            =  $(VSERVER_LDFLAGS)
152
153 src_vsched_SOURCES              =  src/vsched.c
154 src_vsched_LDADD                =  $(VSERVER_LDADDS)
155 src_vsched_LDFLAGS              =  $(VSERVER_LDFLAGS)
156
157 src_chroot_cat_SOURCES          =  src/chroot-cat.c
158 src_chroot_rm_SOURCES           =  src/chroot-rm.c
159 src_clearenv_SOURCES            =  src/clearenv.c
160 src_exec_cd_SOURCES             =  src/exec-cd.c
161 src_fakerunlevel_SOURCES        =  src/fakerunlevel.c
162 src_filetime_SOURCES            =  src/filetime.c
163 src_ifspec_SOURCES              =  src/ifspec.c
164 src_listdevip_SOURCES           =  src/listdevip.c
165 src_parserpmdump_SOURCES        =  src/parserpmdump.c
166 src_readlink_SOURCES            =  src/readlink.c
167 src_rebootmgr_SOURCES           =  src/rebootmgr.c
168 src_pipe_sync_SOURCES           =  src/pipe-sync.c
169 src_exec_ulimit_SOURCES         =  src/exec-ulimit.c
170
171 src_reducecap_SOURCES           =  src/reducecap.c
172 src_reducecap_LDADD             =  $(VSERVER_LDADDS)
173 src_reducecap_LDFLAGS           =  $(VSERVER_LDFLAGS)
174
175 src_vkill_SOURCES               =  src/vkill.c
176 src_vkill_LDADD                 =  $(VSERVER_LDADDS)
177 src_vkill_LDFLAGS               =  $(VSERVER_LDFLAGS)
178 src_vkill_CPPFLAGS              =  $(AM_CPPFLAGS) -DLEGACYDIR=\"$(legacydir)\"
179
180 src_vlimit_SOURCES              =  src/vlimit.c
181 src_vlimit_LDADD                =  $(VSERVER_LDADDS)
182 src_vlimit_LDFLAGS              =  $(VSERVER_LDFLAGS)
183
184 src_save_ctxinfo_SOURCES        =  src/save_ctxinfo.c
185 src_save_ctxinfo_LDADD          =  $(VSERVER_LDADDS)
186 src_save_ctxinfo_LDFLAGS        =  $(VSERVER_LDFLAGS)
187
188 src_vdu_SOURCES =               src/vdu.c
189 src_vreboot_SOURCES =           src/vreboot.c
190 src_secure_mount_SOURCES =      src/secure-mount.c
191
192 src_vattribute_SOURCES =        src/vattribute.c
193 src_vattribute_LDADD =          $(VSERVER_LDADDS)
194 src_vattribute_LDFLAGS =        $(VSERVER_LDFLAGS)
195
196 src_vnamespace_SOURCES =        src/vnamespace.c
197 src_vnamespace_LDADD =          $(VSERVER_LDADDS) lib_internal/libinternal.a
198 src_vnamespace_LDFLAGS =        $(VSERVER_LDFLAGS)
199
200 src_rpm_fake_resolver_SOURCES   =  src/rpm-fake-resolver.c
201 src_rpm_fake_resolver_LDADD     =  $(VSERVER_LDADDS)
202 src_rpm_fake_resolver_LDFLAGS   =  $(VSERVER_LDFLAGS)
203
204 src_mask2prefix_SOURCES         =  src/mask2prefix.c
205
206 src_vps_SOURCES                 =  src/vps.c
207 src_vps_LDADD                   =  $(VSERVER_LDADDS) lib_internal/libinternal.a
208 src_vps_LDFLAGS                 =  $(VSERVER_LDFLAGS)
209
210 src_vserver_info_SOURCES        =  src/vserver-info.c
211 src_vserver_info_LDADD          =  $(VSERVER_LDADDS)
212 src_vserver_info_LDFLAGS        =  $(VSERVER_LDFLAGS)
213
214 src_vserver_stat_SOURCES        =  src/vserver-stat.c
215 src_vserver_stat_LDADD          =  $(VSERVER_LDADDS) libensc_vector.a
216 src_vserver_stat_LDFLAGS        =  $(VSERVER_LDFLAGS)
217
218 src_vfiles_SOURCES              =  src/vfiles.cc src/vutil.cc src/vserver.cc
219 src_vbuild_SOURCES              =  src/vbuild.cc src/vutil.cc src/vserver.cc
220 src_vcheck_SOURCES              =  src/vcheck.cc src/vutil.cc src/vserver.cc
221
222 src_lsxid_SOURCES               =  src/fstool.c src/lsxid.c
223 src_lsxid_LDADD                 =  lib_internal/libinternal.a $(VSERVER_LDADDS) libensc_vector.a
224 src_lsxid_LDFLAGS               =  $(VSERVER_LDFLAGS) 
225
226 src_chxid_SOURCES               =  src/fstool.c \
227                                    src/fstool-resolvectx.c src/chxid.c
228 src_chxid_LDADD                 =  lib_internal/libinternal.a $(VSERVER_LDADDS)
229 src_chxid_LDFLAGS               =  $(VSERVER_LDFLAGS)
230
231 src_showattr_SOURCES            =  src/fstool.c src/showattr.c
232 src_showattr_LDADD              =  lib_internal/libinternal.a $(VSERVER_LDADDS)
233 src_showattr_LDFLAGS            =  $(VSERVER_LDFLAGS)
234
235 src_setattr_SOURCES             =  src/fstool.c src/setattr.c
236 src_setattr_LDADD               =  lib_internal/libinternal.a $(VSERVER_LDADDS)
237 src_setattr_LDFLAGS             =  $(VSERVER_LDFLAGS)
238
239 src_keep_ctx_alive_SOURCES =    src/keep-ctx-alive.c
240 src_keep_ctx_alive_LDADD =      $(VSERVER_LDADDS)
241 src_keep_ctx_alive_LDFLAGS =    $(VSERVER_LDFLAGS)
242
243
244 src_vcopy_SOURCES =             src/vcopy.c
245 src_vcopy_LDADD =               lib_internal/libinternal.a $(VSERVER_LDADDS)
246 src_vcopy_LDFLAGS =             $(VSERVER_LDFLAGS)
247
248 src_vunify_SOURCES =            src/vunify.c
249 src_vunify_LDADD =              lib_internal/libinternal.a $(VSERVER_LDADDS)
250 src_vunify_LDFLAGS =            $(VSERVER_LDFLAGS)
251
252 src_vuname_SOURCES =            src/vuname.c
253 src_vuname_LDADD =              $(VSERVER_LDADDS)
254 src_vuname_LDFLAGS =            $(VSERVER_LDFLAGS)
255
256 src_rpm_fake_la_SOURCES         =  src/rpm-fake.c
257 src_rpm_fake_la_CFLAGS          =  $(AM_CFLAGS)
258 src_rpm_fake_la_LDFLAGS         =  -module -avoid-version -rpath $(pkglibdir)
259 src_rpm_fake_la_LIBADD          =  lib/libvserver.la -ldl
260
261 EXTRA_PROGRAMS +=               $(src_sbin_CXX_PROGS) $(src_pkglib_CXX_PROGS)
262
263 TESTS_ENVIRONMENT +=            srctestsuitedir=$(top_builddir)/src/testsuite
264
265 if ENSC_HAVE_C99_COMPILER
266 src_sbin_C99_X_PROGS =          $(src_sbin_C99_PROGS)
267 src_pkglib_C99_X_PROGS =        $(src_pkglib_C99_PROGS)
268 else
269 src_sbin_C99_X_PROGS =
270 src_pkglib_C99_X_PROGS =  
271 endif
272
273 if ENSC_HAVE_CXX_COMPILER
274 src_sbin_CXX_X_PROGS =          $(src_sbin_CXX_PROGS)
275 src_pkglib_CXX_X_PROGS =        $(src_pkglib_CXX_PROGS)
276 else
277 src_sbin_CXX_X_PROGS =
278 src_pkglib_CXX_X_PROGS =  
279 endif
280
281 install-exec-hook:              src_install_exec_hook
282
283 src_install_exec_hook:
284                                 -rm -f $(DESTDIR)$(pkglibdir)/rpm-fake.a $(DESTDIR)$(pkglibdir)/rpm-fake.la
285
286 include $(top_srcdir)/src/testsuite/Makefile-files
287
288 ## Local Variables:
289 ## compile-command: "make -C .. -k"
290 ## End:
291