use $(LIBENSCVECTOR) instead of libensc_vector.a
[util-vserver.git] / util-vserver / Makefile.am
index 83cef0e..0329ff7 100644 (file)
@@ -51,13 +51,17 @@ noinst_DATA =
 initrd_SCRIPTS =
 sysconf_DATA =
 
-DIETPROGS =            $(ENSC_VECTOR_LIBS)
+DIETPROGS =            $(LIBENSCVECTOR_DIET)
 
-BUILT_SOURCES =                linuxcaps.h pathconfig.h linuxvirtual.h
+BUILT_SOURCES =                pathconfig.h linuxvirtual.h \
+                       .fixups
 
 man_MANS =
 
 kernel_HDRS =          kernel/context.h \
+                       kernel/cvirt.h \
+                       kernel/debug.h \
+                       kernel/dlimit.h \
                        kernel/inode.h \
                        kernel/legacy.h \
                        kernel/limit.h \
@@ -65,42 +69,42 @@ kernel_HDRS =               kernel/context.h \
                        kernel/network.h \
                        kernel/sched.h \
                        kernel/signal.h \
-                       kernel/switch.h
+                       kernel/switch.h \
+                       kernel/xid.h
 
 EXTRA_PROGRAMS =
 EXTRA_DIST =           pathconfig.h.pathsubst \
                        util-vserver.spec \
-                       THANKS \
+                       THANKS REQUIREMENTS \
                        $(kernel_HDRS)
 
 check_PROGRAMS =
 check_SCRIPTS =
-TESTS =
 
-TESTS_ENVIRONMENT =
+TESTS_DEBUG =          no
+TESTS =
+TESTS_ENVIRONMENT =    ensc_use_expensive_tests="$(ENSC_USE_EXPENSIVE_TESTS)" \
+                       ensc_test_debug="$(TESTS_DEBUG)"
 
-AM_CPPFLAGS            =  -I $(top_srcdir)/lib -I $(top_srcdir)/ensc_wrappers -D _GNU_SOURCE $(RELEASE_CPPFLAGS)
+AM_CPPFLAGS =          -I $(top_srcdir)/lib -I $(top_srcdir)/ensc_wrappers \
+                       -D_GNU_SOURCE -D_REENTRANT $(RELEASE_CPPFLAGS)
 
 CLEANFILES =           $(BUILT_SOURCES) \
                        .*.pathsubst.stamp */.*.pathsubst.stamp */*/.*.pathsubst.stamp \
-                       linuxcaps.h pathconfig.h
+                       pathconfig.h .fixups
 
 DISTCLEANFILES =       FEATURES.txt
 
 
 AM_INSTALLCHECK_STD_OPTIONS_EXEMPT =
 
-LIBTOOL_CC =           @LIBTOOL@ --tag CC
-LIBTOOL_CXX =          @LIBTOOL@ --tag CXX
-
 if USE_DIETLIBC
 DIET                   =  diet
 DIET_FLAGS             =
 DIET_CC                       :=  $(DIET) $(DIET_FLAGS) $(CC)
-DIET_LIBTOOL          :=  $(LIBTOOL_CC)
-VSERVER_LDFLAGS               :=  -static
+VSERVER_LDFLGS        :=  -static
 else
-VSERVER_LDFLAGS               :=
+VSERVER_LDFLGS        :=
 endif
 
 if USE_DIETLIBC_COMPAT
@@ -109,16 +113,17 @@ else
 DIET_COMPAT_LDADDS =
 endif
 
-VSERVER_LDADDS =       lib/libvserver.la  $(DIET_COMPAT_LDADDS)
+VSERVER_LDADDS =       $(LIBVSERVER) $(DIET_COMPAT_LDADDS)
 
-
-linuxcaps.h:           ${kernelincludedir}/linux/capability.h Makefile
-                       @rm -f $@
-                       echo '#include <stdint.h>' >$@.tmp
-                       $(SED) -e 's!^#include .*!!g;s!\<__u32\>!uint32_t!g;s!\<__user\>!!g;' $< >>$@.tmp
-                       @-chmod --reference $< $@.tmp &>/dev/null
-                       mv -f $@.tmp $@
-                       @chmod a-w $@
+silent.%:              FORCE
+                       @t=$$(mktemp /tmp/build.XXXXXX) && \
+                       $(MAKE) '$*' -s 2>$$t >/dev/null && \
+                       ( cat $$t | \
+                               grep -v ': In function' | \
+                               grep -v 'your code still has assertions enabled' | \
+                               grep -v ' is obsoleted' | \
+                               grep -v 'warning: #warning'; \
+                               rm -f $$t || : )
 
 
 linuxvirtual.h:
@@ -150,21 +155,11 @@ pathsubst_RULES = s!@'PKGLIBDIR'@!$(pkglibdir)!g; \
                        s!@'PACKAGE_STRING'@!$(PACKAGE_STRING)!g; \
                        s!@'PACKAGE_TARNAME'@!$(PACKAGE_TARNAME)!g; \
                        s!@'PACKAGE_VERSION'@!$(PACKAGE_VERSION)!g; \
-                       s!@'AWK'@!$(AWK)!g; \
-                       s!@'GREP'@!$(GREP)!g; \
-                       s!@'IP'@!$(IP)!g; \
-                       s!@'MOUNT'@!$(MOUNT)!g; \
-                       s!@'UMOUNT'@!$(UMOUNT)!g; \
-                       s!@'NICE'@!$(NICE)!g; \
-                       s!@'VCONFIG'@!$(VCONFIG)!g; \
-                       s!@'PS'@!$(PS)!g; \
-                       s!@'WC'@!$(WC)!g; \
-                       s!@'WGET'@!$(WGET)!g; \
-                       s!@'TAR'@!$(TAR)!g; \
                        s!@'ENSC_HAVE_C99_COMPILER_TRUE'@!\@ENSC_HAVE_C99_COMPILER_TRUE@ !g; \
                        s!@'ENSC_HAVE_C99_COMPILER_FALSE'@!\@ENSC_HAVE_C99_COMPILER_FALSE@ !g; \
                        s!@'ENSC_HAVE_CXX_COMPILER_TRUE'@!\@ENSC_HAVE_CXX_COMPILER_TRUE@ !g; \
-                       s!@'ENSC_HAVE_CXX_COMPILER_FALSE'@!\@ENSC_HAVE_CXX_COMPILER_FALSE@ !g;
+                       s!@'ENSC_HAVE_CXX_COMPILER_FALSE'@!\@ENSC_HAVE_CXX_COMPILER_FALSE@ !g; \
+                       $(ENSC_PATHPROG_SED)
 
 pathconfig.h:          .pathconfig.h.pathsubst.stamp
 .%.pathsubst.stamp:    %.pathsubst Makefile
@@ -182,7 +177,7 @@ pathconfig.h:               .pathconfig.h.pathsubst.stamp
                        @touch '$@'
 
 pkgstatedir =          $(localstatedir)/run/vservers
-pkgstaterevdir =       $(pkgstatedir).rev
+pkgstaterevdir =       $(confdefaultsdir)/run.rev
 vserverpkgdir =                $(vserverdir)/.pkg
 vshelperstatedir =     $(localstatedir)/run/vshelper
 
@@ -191,13 +186,16 @@ fix_SCRPTS                =  $(addprefix $(pkglibdir)/, $(notdir $(pkglib_SCRIPTS))) \
                           $(addprefix $(sbindir)/,   $(notdir $(sbin_SCRIPTS))) \
                           $(addprefix $(initrddir)/, $(notdir $(initrd_SCRIPTS)))
 
+update-doc:            doc
+                       $(top_srcdir)/update-doc
+
 install-data-hook:     install-fix-script-paths install-create-dirs
 
 install-create-dirs:
-                       $(mkinstalldirs) -m 755 $(DESTDIR)$(pkgstatedir) $(DESTDIR)$(pkgstaterevdir) $(DESTDIR)$(vshelperstatedir)
+                       $(mkinstalldirs) -m 755 $(DESTDIR)$(pkgstatedir) $(DESTDIR)$(pkgstatedir).rev $(DESTDIR)$(vshelperstatedir)
                        $(mkinstalldirs) -m 755 $(DESTDIR)$(confdefaultsdir)
-                       f=$(DESTDIR)$(confdefaultsdir)/vdirbase; test -e "$$f" || ln -sf '$(vserverdir)'     "$$f"
-                       f=$(DESTDIR)$(confdefaultsdir)/run.rev;  test -e "$$f" || ln -sf '$(pkgstaterevdir)' "$$f"
+                       f=$(DESTDIR)$(confdefaultsdir)/vdirbase; test -e "$$f" || ln -sf '$(vserverdir)'      "$$f"
+                       f=$(DESTDIR)$(pkgstaterevdir);           test -e "$$f" || ln -sf '$(pkgstatedir).rev' "$$f"
 
 install-fix-script-paths:
                        test "/usr/lib/util-vserver" = "$(pkglibdir)" || \
@@ -217,14 +215,17 @@ _install-vshelperlink:
 _install-vserverdir:
                        $(mkinstalldirs) $(DESTDIR)$(vserverdir) $(DESTDIR)$(vserverpkgdir)
 
-if USE_DIETLIBC
-$(addsuffix $(EXEEXT), $(DIETPROGS)) \
-$(addsuffix $(OBJEXT), $(DIETPROGS)) \
-               :               LIBTOOL=$(DIET_LIBTOOL)
+.fixups:               config.status util-vserver.spec
+                       chmod a-w util-vserver.spec
+                       touch $@
 
+if USE_DIETLIBC
 $(addsuffix $(EXEEXT), $(DIETPROGS)) \
 $(addsuffix $(OBJEXT), $(DIETPROGS)) \
                :               CC=$(DIET_CC)
+else   !USE_DIETLIBC
+nodist_lib_dietlibc_not_enabled_error_a_SOURCES = \
+                       lib-dietlibc-not-enabled-error.c
 endif
 
 include $(top_srcdir)/lib/Makefile-files
@@ -237,9 +238,13 @@ include $(top_srcdir)/sysv/Makefile-files
 include $(top_srcdir)/contrib/Makefile-files
 include $(top_srcdir)/ensc_vector/Makefile-files
 include $(top_srcdir)/ensc_wrappers/Makefile-files
+include $(top_srcdir)/ensc_fmt/Makefile-files
 include $(top_srcdir)/lib_internal/Makefile-files
+include $(top_srcdir)/vserver-start/Makefile-files
 
 include $(top_srcdir)/m4/gpgsig.am
 include $(top_srcdir)/m4/validate.am
 include $(top_srcdir)/m4/changelog.am
 include $(top_srcdir)/m4/pkgconfig.am
+
+.PHONY:                FORCE update-doc