## $Id$ -*- makefile -*-
-## Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
+## Copyright (C) 2003,2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
##
-src_sbin_CXX_X_PROGS = src/vfiles
-src_pkglib_CXX_X_PROGS = src/vunify src/vbuild src/vcheck
+src_sbin_CXX_PROGS = src/vfiles
+src_pkglib_CXX_PROGS = src/vbuild src/vcheck
+
+src_pkglib_C99_PROGS = src/vunify src/vcopy
+
src_OPTIONS_EXEMPT = src/parserpmdump \
src/readlink \
- src/showattr \
src/showperm \
src/vbuild \
src/vcheck \
src/vreboot \
src/save_ctxinfo \
- src/vunify \
src/mask2prefix \
src/pipe-sync \
- src/rpm-fake.so \
src/capchroot \
src/chroot-cat \
src/filetime \
src/ifspec \
- src/chbind \
- src/chcontext \
src/rebootmgr \
- src/reducecap \
src/vlimit \
src/vdu \
src/vfiles \
-src_DIETPROGS = src/new-namespace \
- src/secure-mount \
- src/save_ctxinfo \
- src/mask2prefix \
- src/chroot-cat \
- src/chroot-rm \
- src/exec-cd \
- src/fakerunlevel \
- src/pipe-sync \
- src/exec-ulimit \
- src/vlimit \
- src/vunify \
- src/ctx-kill \
- src/rpm-fake-resolver \
- src/vserver-stat
-
-src_HDRS = src/vutil.h src/vutil.p src/util.h \
- src/wrappers.h src/wrappers-vserver.h \
- src/ext2fs.h \
- src/compat-pivot_root.h \
- src/stack-start.h \
- src/vserver.hh
-
-src_pkglib_SCRPTS = src/setattr
-src_pkglib_PRGS = src/capchroot \
- src/chroot-cat \
- src/chroot-rm \
- src/fakerunlevel \
- src/filetime \
- src/ifspec \
- src/listdevip \
- src/parserpmdump \
- src/readlink \
- src/showattr \
- src/showperm \
- src/vreboot \
- src/save_ctxinfo \
- src/secure-mount \
- src/mask2prefix \
- src/pipe-sync \
- src/exec-ulimit \
- src/rpm-fake.so \
- src/rpm-fake-resolver \
- $(src_pkglib_CXX_PROGS)
-
-src_sbin_PRGS = src/chbind \
- src/chcontext \
- src/ctx-kill \
- src/exec-cd \
- src/rebootmgr \
- src/reducecap \
- src/vdu \
- src/new-namespace \
- src/vlimit \
- src/vserver-stat \
- $(src_sbin_CXX_PROGS)
+src_DIETPROGS = src/new-namespace \
+ src/chcontext \
+ src/secure-mount \
+ src/save_ctxinfo \
+ src/mask2prefix \
+ src/chbind \
+ src/chroot-cat \
+ src/chroot-rm \
+ src/clearenv \
+ src/exec-cd \
+ src/fakerunlevel \
+ src/pipe-sync \
+ src/exec-ulimit \
+ src/vps \
+ src/lsxid \
+ src/chxid \
+ src/reducecap \
+ src/showattr \
+ src/setattr \
+ src/vlimit \
+ src/vunify \
+ src/vuname \
+ src/rpm-fake-resolver \
+ src/vcopy \
+ src/vkill \
+ src/vrsetup \
+ src/vserver-stat \
+ src/vserver-info
+
+src_HDRS = src/vutil.h src/vutil.p src/util.h \
+ src/fstool.h \
+ src/compat-pivot_root.h \
+ src/stack-start.h \
+ src/sys_clone.h \
+ src/vcopy-init.hc \
+ src/vunify.h \
+ src/vunify-init.hc \
+ src/vserver-visitdir.hc \
+ src/vserver.hh
+
+src_pkglib_SCRPTS =
+src_pkglib_PRGS = src/capchroot \
+ src/chroot-cat \
+ src/chroot-rm \
+ src/clearenv \
+ src/fakerunlevel \
+ src/filetime \
+ src/ifspec \
+ src/listdevip \
+ src/parserpmdump \
+ src/readlink \
+ src/showperm \
+ src/vreboot \
+ src/save_ctxinfo \
+ src/secure-mount \
+ src/mask2prefix \
+ src/pipe-sync \
+ src/exec-ulimit \
+ src/rpm-fake-resolver \
+ $(src_pkglib_C99_X_PROGS) \
+ $(src_pkglib_CXX_X_PROGS)
+
+src_pkglib_LTLIBS = src/rpm-fake.la
+src_lib_LTLIBS =
+
+src_sbin_SCRPTS =
+src_sbin_PRGS = src/chbind \
+ src/chcontext \
+ src/exec-cd \
+ src/lsxid \
+ src/chxid \
+ src/vps \
+ src/showattr \
+ src/setattr \
+ src/rebootmgr \
+ src/reducecap \
+ src/vdu \
+ src/new-namespace \
+ src/vlimit \
+ src/vkill \
+ src/vrsetup \
+ src/vserver-stat \
+ src/vserver-info \
+ src/vuname \
+ $(src_sbin_CXX_X_PROGS)
src_capchroot_SOURCES = src/capchroot.c
-src_capchroot_LDADD = lib/libvserver.a
+src_capchroot_LDADD = lib/libvserver.la
src_chbind_SOURCES = src/chbind.c
-src_chbind_LDADD = lib/libvserver.a
+src_chbind_LDADD = $(VSERVER_LDADDS)
+src_chbind_LDFLAGS = $(VSERVER_LDFLAGS)
-src_chcontext_SOURCES = src/chcontext.c
-src_chcontext_LDADD = lib/libvserver.a
+src_chcontext_SOURCES = src/chcontext.c src/util-exitlikeprocess.c
+src_chcontext_LDADD = $(VSERVER_LDADDS)
+src_chcontext_LDFLAGS = $(VSERVER_LDFLAGS)
src_chroot_cat_SOURCES = src/chroot-cat.c
src_chroot_rm_SOURCES = src/chroot-rm.c
+src_clearenv_SOURCES = src/clearenv.c
src_exec_cd_SOURCES = src/exec-cd.c
src_fakerunlevel_SOURCES = src/fakerunlevel.c
src_filetime_SOURCES = src/filetime.c
src_exec_ulimit_SOURCES = src/exec-ulimit.c
src_reducecap_SOURCES = src/reducecap.c
-src_reducecap_LDADD = lib/libvserver.a
+src_reducecap_LDADD = $(VSERVER_LDADDS)
+src_reducecap_LDFLAGS = $(VSERVER_LDFLAGS)
+
+src_vkill_SOURCES = src/vkill.c
+src_vkill_LDADD = $(VSERVER_LDADDS)
+src_vkill_LDFLAGS = $(VSERVER_LDFLAGS)
+src_vkill_CPPFLAGS = $(AM_CPPFLAGS) -DLEGACYDIR=\"$(legacydir)\"
src_vlimit_SOURCES = src/vlimit.c
-src_vlimit_LDADD = lib/libvserver.a
+src_vlimit_LDADD = $(VSERVER_LDADDS)
+src_vlimit_LDFLAGS = $(VSERVER_LDFLAGS)
src_save_ctxinfo_SOURCES = src/save_ctxinfo.c
-src_save_ctxinfo_LDADD = lib/libvserver.a
+src_save_ctxinfo_LDADD = $(VSERVER_LDADDS)
+src_save_ctxinfo_LDFLAGS = $(VSERVER_LDFLAGS)
-src_showattr_SOURCES = src/showattr.c
-src_showperm_SOURCES = src/showperm.c
-src_vdu_SOURCES = src/vdu.c
-src_vreboot_SOURCES = src/vreboot.c
-src_new_namespace_SOURCES = src/new-namespace.c
-src_secure_mount_SOURCES = src/secure-mount.c
+src_vdu_SOURCES = src/vdu.c
+src_vreboot_SOURCES = src/vreboot.c
+src_secure_mount_SOURCES = src/secure-mount.c
+
+src_new_namespace_SOURCES = src/new-namespace.c \
+ src/util-exitlikeprocess.c
+src_new_namespace_LDADD = $(DIET_COMPAT_LDADDS)
src_rpm_fake_resolver_SOURCES = src/rpm-fake-resolver.c
-src_rpm_fake_resolver_LDADD = lib/libvserver.a
+src_rpm_fake_resolver_LDADD = $(VSERVER_LDADDS)
+src_rpm_fake_resolver_LDFLAGS = $(VSERVER_LDFLAGS)
src_mask2prefix_SOURCES = src/mask2prefix.c
-src_ctx_kill_SOURCES = src/ctx-kill.c
-src_ctx_kill_LDADD = lib/libvserver.a
+src_vps_SOURCES = src/vps.c src/util-exitlikeprocess.c
+src_vps_LDADD = $(VSERVER_LDADDS)
+src_vps_LDFLAGS = $(VSERVER_LDFLAGS)
+
+src_vserver_info_SOURCES = src/vserver-info.c
+src_vserver_info_LDADD = $(VSERVER_LDADDS)
+src_vserver_info_LDFLAGS = $(VSERVER_LDFLAGS)
src_vserver_stat_SOURCES = src/vserver-stat.c
-src_vserver_stat_LDADD = lib/libvserver.a
+src_vserver_stat_LDADD = $(VSERVER_LDADDS) libensc_vector.a
+src_vserver_stat_LDFLAGS = $(VSERVER_LDFLAGS)
src_vfiles_SOURCES = src/vfiles.cc src/vutil.cc src/vserver.cc
src_vbuild_SOURCES = src/vbuild.cc src/vutil.cc src/vserver.cc
src_vcheck_SOURCES = src/vcheck.cc src/vutil.cc src/vserver.cc
+src_lsxid_SOURCES = src/fstool.c src/lsxid.c
+src_lsxid_LDADD = lib_internal/libinternal.a $(VSERVER_LDADDS) libensc_vector.a
+src_lsxid_LDFLAGS = $(VSERVER_LDFLAGS)
-src_vunify_SOURCES = src/vunify.c \
- src/util-safechdir.c \
- src/vunify-matchlist.c \
- src/vunify-operations.c
+src_chxid_SOURCES = src/fstool.c \
+ src/fstool-resolvectx.c src/chxid.c
+src_chxid_LDADD = lib_internal/libinternal.a $(VSERVER_LDADDS)
+src_chxid_LDFLAGS = $(VSERVER_LDFLAGS)
-src_rpm_fake_so_SOURCES = src/rpm-fake.c $(src_rpm_fake_so_XSRCS)
-src_rpm_fake_so_CFLAGS = $(AM_CFLAGS) -fPIC
-src_rpm_fake_so_CPPFLAGS = $(AM_CPPFLAGS) -DPIC
-src_rpm_fake_so_LDFLAGS = -fPIC -shared
-src_rpm_fake_so_LDADD = $(src_rpm_fake_so_XLIBS) -ldl
+src_showattr_SOURCES = src/fstool.c src/showattr.c
+src_showattr_LDADD = lib_internal/libinternal.a $(VSERVER_LDADDS)
+src_showattr_LDFLAGS = $(VSERVER_LDFLAGS)
+src_setattr_SOURCES = src/fstool.c src/setattr.c
+src_setattr_LDADD = lib_internal/libinternal.a $(VSERVER_LDADDS)
+src_setattr_LDFLAGS = $(VSERVER_LDFLAGS)
-EXTRA_src_rpm_fake_so_SOURCES = $(lib_SRCS)
-if ENSC_ALLOW_FPIC_WITH_SYSCALL
-src_rpm_fake_so_XSRCS = $(lib_SRCS)
-src_rpm_fake_so_XLIBS =
-else
-src_rpm_fake_so_XSRCS =
-src_rpm_fake_so_XLIBS = lib/libvserver.a
-endif
+src_vcopy_SOURCES = src/vcopy.c
+src_vcopy_LDADD = lib_internal/libinternal.a $(VSERVER_LDADDS)
+src_vcopy_LDFLAGS = $(VSERVER_LDFLAGS)
+
+src_vunify_SOURCES = src/vunify.c
+src_vunify_LDADD = lib_internal/libinternal.a $(VSERVER_LDADDS)
+src_vunify_LDFLAGS = $(VSERVER_LDFLAGS)
+
+src_vuname_SOURCES = src/vuname.c
+src_vuname_LDADD = $(VSERVER_LDADDS)
+src_vuname_LDFLAGS = $(VSERVER_LDFLAGS)
+
+src_rpm_fake_la_SOURCES = src/rpm-fake.c
+src_rpm_fake_la_CFLAGS = $(AM_CFLAGS)
+src_rpm_fake_la_LDFLAGS = -module -avoid-version -rpath $(pkglibdir)
+src_rpm_fake_la_LIBADD = lib/libvserver.la -ldl
src_check_PRGS = $(src_testsuite_check_PRGS)
src_check_SCRPTS = $(src_testsuite_check_SCRPTS)
src_TSTS = $(src_testsuite_TSTS)
src_XTRAS = $(src_testsuite_XTRAS)
-src_EXTRA_PROGS = $(src_sbin_CXX_X_PROGS) $(src_pkglib_CXX_X_PROGS)
+src_EXTRA_PROGS = $(src_sbin_CXX_PROGS) $(src_pkglib_CXX_PROGS)
src_TESTS_ENV = srctestsuitedir=$(top_builddir)/src/testsuite
+if ENSC_HAVE_C99_COMPILER
+src_sbin_C99_X_PROGS = $(src_sbin_C99_PROGS)
+src_pkglib_C99_X_PROGS = $(src_pkglib_C99_PROGS)
+else
+src_sbin_C99_X_PROGS =
+src_pkglib_C99_X_PROGS =
+endif
+
if ENSC_HAVE_CXX_COMPILER
-src_sbin_CXX_PROGS = $(src_sbin_CXX_X_PROGS)
-src_pkglib_CXX_PROGS = $(src_pkglib_CXX_X_PROGS)
+src_sbin_CXX_X_PROGS = $(src_sbin_CXX_PROGS)
+src_pkglib_CXX_X_PROGS = $(src_pkglib_CXX_PROGS)
else
-src_sbin__PROGS =
-src_pkglib_CXX_PROGS =
+src_sbin_CXX_X_PROGS =
+src_pkglib_CXX_X_PROGS =
endif
-src/setattr$(EXEEXT): src/showattr$(EXEEXT)
- @rm -f '$@'
- ln -s showattr$(EXEEXT) '$@'
+install-exec-hook: src_install_exec_hook
+src_install_exec_hook:
+ -rm -f $(DESTDIR)$(pkglibdir)/rpm-fake.a $(DESTDIR)$(pkglibdir)/rpm-fake.la
include $(top_srcdir)/src/testsuite/Makefile-files