## $Id: Makefile-files 2744 2008-07-14 20:09:00Z dhozac $  -*- makefile -*-

## Copyright (C) 2003 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
## the Free Software Foundation; either version 2, or (at your option)
## any later version.
##  
## This program 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 this program; if not, write to the Free Software
## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
##  

lib_VERSION =			0.0.0

lib_compat_SRCS =		lib/cflags-compat.c \
				lib/cflags_list-compat.c
lib_legacy_SRCS =		lib/getprocentry-legacy.c
lib_management_SRCS =		lib/comparevserverbyid.c \
				lib/createskeleton.c \
				lib/getvserverbyctx.c \
				lib/getvserverbyctx-compat.hc \
				lib/getvserverbyctx-v13.hc \
				lib/getvservercfgstyle.c \
				lib/getvserverappdir.c \
				lib/getvservercfgdir.c \
				lib/getvserverctx.c \
				lib/getvservername.c \
				lib/getvservervdir.c \
				lib/xidopt2xid.c \
				lib/nidopt2nid.c \
				lib/tagopt2tag.c \
				lib/exitlikeprocess.c
lib_v11_SRCS =			lib/syscall_rlimit.c \
				lib/syscall_rlimit-v11.hc \
				lib/syscall_kill.c  \
				lib/syscall_kill-v11.hc
lib_v13_SRCS =			lib/syscall_ctxcreate.c \
				lib/syscall_ctxcreate-v13.hc \
				lib/syscall_ctxmigrate.c \
				lib/syscall_ctxmigrate-v13.hc \
				lib/syscall_cleanupnamespace-v13.hc \
				lib/syscall_cleanupnamespace.c \
				lib/syscall_enternamespace-v13.hc \
				lib/syscall_enternamespace.c \
				lib/syscall_getccaps-v13.hc \
				lib/syscall_getccaps.c \
				lib/syscall_getcflags-v13.hc \
				lib/syscall_getcflags.c \
				lib/syscall_getiattr-fscompat.hc \
				lib/syscall_getiattr-v13.hc \
				lib/syscall_getiattr.c \
				lib/syscall_getncaps-net.hc \
				lib/syscall_getncaps.c \
				lib/syscall_getnflags-net.hc \
				lib/syscall_getnflags.c \
				lib/syscall_getnxinfo-net.hc \
				lib/syscall_getnxinfo.c \
				lib/syscall_gettasknid-net.hc \
				lib/syscall_gettasknid.c \
				lib/syscall_gettaskxid-oldproc.hc \
				lib/syscall_gettaskxid-v13.hc \
				lib/syscall_gettaskxid.c \
				lib/syscall_getvhiname-olduts.hc \
				lib/syscall_getvhiname-v13.hc \
				lib/syscall_getvhiname.c \
				lib/syscall_getvxinfo-oldproc.hc \
				lib/syscall_getvxinfo-v13.hc \
				lib/syscall_getvxinfo.c \
				lib/syscall_netadd-net.hc \
				lib/syscall_netadd.c \
				lib/syscall_netcreate-net.hc \
				lib/syscall_netcreate.c \
				lib/syscall_netmigrate-net.hc \
				lib/syscall_netmigrate.c \
				lib/syscall_netremove-net.hc \
				lib/syscall_netremove.c \
				lib/syscall_setccaps-v13.hc \
				lib/syscall_setccaps.c \
				lib/syscall_setcflags-v13.hc \
				lib/syscall_setcflags.c \
				lib/syscall_setiattr-fscompat.hc \
				lib/syscall_setiattr-v13.hc \
				lib/syscall_setiattr.c \
				lib/syscall_setnamespace-v13.hc \
				lib/syscall_setnamespace.c \
				lib/syscall_setncaps-net.hc \
				lib/syscall_setncaps.c \
				lib/syscall_setnflags-net.hc \
				lib/syscall_setnflags.c \
				lib/syscall_setsched-v13.hc \
				lib/syscall_setsched-v13obs.hc \
				lib/syscall_setsched.c \
				lib/syscall_setvhiname-olduts.hc \
				lib/syscall_setvhiname-v13.hc \
				lib/syscall_setvhiname.c \
				lib/syscall_waitexit.c  \
				lib/syscall_waitexit-v13.hc \
				lib/bcaps-v13.c \
				lib/bcaps_list-v13.c \
				lib/ccaps-v13.c \
				lib/ccaps_list-v13.c \
				lib/cflags-v13.c \
				lib/cflags_list-v13.c \
				lib/ncaps-net.c \
				lib/ncaps_list-net.c \
				lib/nflags-net.c \
				lib/nflags_list-net.c
lib_v21_SRCS =			lib/syscall_setccaps-v21.hc \
				lib/syscall_setsched-v21.hc \
				lib/syscall_rlimitstat.c \
				lib/syscall_rlimitstat-v21.hc \
				lib/syscall_resetminmax.c \
				lib/syscall_resetminmax-v21.hc \
				lib/syscall_getvci.c \
				lib/syscall_getvci-v21.hc \
				lib/syscall_virtstat.c \
				lib/syscall_virtstat-v21.hc \
				lib/syscall_ctxstat.c \
				lib/syscall_ctxstat-v21.hc \
				lib/syscall_getspacemask.c \
				lib/syscall_getspacemask-v21.hc \
				lib/syscall_enternamespace-v21.hc \
				lib/syscall_setnamespace-v21.hc \
				lib/syscall_ctxmigrate-v21.hc \
				lib/syscall_setmapping.c \
				lib/syscall_setmapping-v21.hc \
				lib/syscall_unsetmapping.c \
				lib/syscall_unsetmapping-v21.hc \
				lib/syscall_schedinfo.c \
				lib/syscall_schedinfo-v21.hc \
				lib/syscall_getccaps-v21.hc \
				lib/syscall_getsched.c \
				lib/syscall_getsched-v21.hc \
				lib/syscall_ctxcreate-v21.hc

lib_v22_SRCS =			lib/syscall_setsched-v22.hc \
				lib/syscall_fsetiattr.c \
				lib/syscall_fsetiattr-v22.hc \
				lib/syscall_fgetiattr.c \
				lib/syscall_fgetiattr-v22.hc

lib_netv2_SRCS =		lib/syscall_netadd-netv2.hc \
				lib/syscall_netremove-netv2.hc

lib_v23_SRCS =			lib/syscall_tagmigrate-v23.hc \
				lib/syscall_tagmigrate.c \
				lib/syscall_tagcreate.c \
				lib/syscall_tasktag-v23.hc \
				lib/syscall_tasktag.c \
				lib/syscall_getbadness.c \
				lib/syscall_getbadness-v23.hc \
				lib/syscall_setbadness.c \
				lib/syscall_setbadness-v23.hc \
				lib/syscall_ctxcreate-v23.hc \
				lib/syscall_ctxmigrate-v23.hc \
				lib/syscall_getspacedefault.c \
				lib/syscall_getspacedefault-v23.hc

if ENSC_HAVE_C99_COMPILER
lib_v13_SRCS +=			lib/syscall_adddlimit-v13.hc \
				lib/syscall_adddlimit.c \
				lib/syscall_getdlimit-v13.hc \
				lib/syscall_getdlimit.c \
				lib/syscall_remdlimit-v13.hc \
				lib/syscall_remdlimit.c \
				lib/syscall_setdlimit-v13.hc \
				lib/syscall_setdlimit.c
endif

PKGCONFIG_FILES =		lib/util-vserver

lib_SRCS =  			lib/syscall.c \
				lib/checkversion.c \
				lib/checkconfig.c \
				lib/isdirectory.c \
				lib/isfile.c \
				lib/islink.c \
				lib/getnbipv4root.c \
				lib/getversion.c \
				lib/capabilities.c \
				lib/getfilecontext.c \
				lib/getinsecurebcaps.c \
				lib/getxidtype.c \
				lib/isdynamicxid.c \
				lib/issupported.c \
				lib/issupportedstring.c \
				lib/listparser_uint32.c \
				lib/listparser_uint64.c \
				lib/personalityflag.c \
				lib/personalityflag_list.c \
				lib/personalitytype.c \
				lib/syscall-syscall.c \
				lib/val2text-t2v-uint32.c \
				lib/val2text-t2v-uint64.c \
				lib/val2text-v2t-uint32.c \
				lib/val2text-v2t-uint64.c \
				lib/parselimit.c \
				$(lib_legacy_SRCS) \
				$(lib_compat_SRCS) \
				$(lib_management_SRCS) \
				$(lib_v11_SRCS) \
				$(lib_v13_SRCS) \
				$(lib_v21_SRCS) \
				$(lib_v22_SRCS) \
				$(lib_netv2_SRCS) \
				$(lib_v23_SRCS) \
				$(ensc_fmt_SRCS)

include_HEADERS +=		lib/vserver.h

noinst_HEADERS +=		lib/syscall-compat.hc \
	 			lib/syscall-legacy.hc \
				lib/syscall-fallback.h \
				lib/createskeleton-full.hc \
				lib/createskeleton-short.hc \
				lib/fmt.h \
				lib/getversion-internal.hc \
				lib/safechroot-internal.hc \
				lib/ioctl-getext2flags.hc \
				lib/ioctl-getfilecontext.hc \
				lib/ioctl-setext2flags.hc \
				lib/ioctl-setfilecontext.hc \
				lib/ioctl-getxflg.hc \
				lib/ioctl-setxflg.hc \
				lib/ext2fs.h \
				lib/listparser.hc \
				lib/val2text.hc \
				lib/virtual.h \
				lib/internal.h \
				lib/syscall-alternative.h \
				lib/syscall-wrap.h \
				lib/utils-legacy.h \
				lib/vserver-internal.h

LIBVSERVER_GLIBC =		lib/libvserver.la
lib_LTLIBRARIES +=		$(LIBVSERVER_GLIBC)

if USE_DIETLIBC
LIBVSERVER_DIET =		lib/libvserver.a
LIBVSERVER =			$(LIBVSERVER_DIET)
lib_LIBRARIES +=		$(LIBVSERVER_DIET)
else
LIBVSERVER_DIET =		lib-dietlibc-not-enabled-error.a
LIBVSERVER =			lib/libvserver.la
endif

lib_libvserver_la_SOURCES =  	$(lib_SRCS)
lib_libvserver_la_CPPFLAGS = 	$(AM_CPPFLAGS) $(LIB_DEBUG_CPPFLAGS)
lib_libvserver_la_LDFLAGS =	-version $(lib_VERSION)

lib_libvserver_a_SOURCES =  	$(lib_SRCS)
lib_libvserver_a_CPPFLAGS = 	$(AM_CPPFLAGS) $(LIB_DEBUG_CPPFLAGS)

DIETPROGS +=			lib/lib_libvserver_a-%		\
				ensc_fmt/lib_libvserver_a-%

CLEANFILES +=			lib/libvserver.la \
				lib/libvserver.a

include $(srcdir)/lib/apidoc/Makefile-files
include $(srcdir)/lib/testsuite/Makefile-files
