do not use the local kernelheaders anymore; this causes problems on
[util-vserver.git] / util-vserver / Makefile.am
index 4286bff..8adb41e 100644 (file)
@@ -20,7 +20,7 @@
 ACLOCAL_AMFLAGS                =  -I m4
 SUBDIRS                        =  . distrib
 
-CVS2CL_AMFLAGS         =  $(CVS2CL_TAG) -U cvsusers.map --show-dead
+CVS2CL_AMFLAGS         =  $(CVS2CL_TAG) -U cvsusers.map --show-dead -S --no-wrap
 CVS2CL_ALLFLAGS        :=  $(CVS2CL_AMFLAGS) $(CVS2CL_FLAGS)
 
 confdir                        =  $(sysconfdir)/vservers
@@ -51,56 +51,71 @@ 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 \
+                       .fixups
 
 man_MANS =
 
-kernel_HDRS =          kernel/context.h \
-                       kernel/inode.h \
-                       kernel/legacy.h \
-                       kernel/limit.h \
-                       kernel/namespace.h \
-                       kernel/network.h \
-                       kernel/sched.h \
-                       kernel/signal.h \
-                       kernel/switch.h
+kernel_HDRS =          kernel/context.h        \
+                       kernel/context_cmd.h    \
+                       kernel/cvirt.h          \
+                       kernel/cvirt_cmd.h      \
+                       kernel/cvirt_def.h      \
+                       kernel/debug.h          \
+                       kernel/debug_cmd.h      \
+                       kernel/dlimit.h         \
+                       kernel/dlimit_cmd.h     \
+                       kernel/inode.h          \
+                       kernel/inode_cmd.h      \
+                       kernel/legacy.h         \
+                       kernel/limit.h          \
+                       kernel/limit_cmd.h      \
+                       kernel/limit_def.h      \
+                       kernel/namespace.h      \
+                       kernel/namespace_cmd.h  \
+                       kernel/network.h        \
+                       kernel/network_cmd.h    \
+                       kernel/sched.h          \
+                       kernel/sched_cmd.h      \
+                       kernel/sched_def.h      \
+                       kernel/signal_cmd.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
+DIET_CC                       :=  $(DIET) $(DIETFLAGS) $(CC)
+VSERVER_LDFLGS        :=  -static
 else
-VSERVER_LDFLAGS               :=
+VSERVER_LDFLGS        :=
 endif
 
 if USE_DIETLIBC_COMPAT
@@ -109,25 +124,19 @@ 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 $@
-
-
-linuxvirtual.h:
-if ENSC_ENABLE_INTERNAL_HEADERS
-                       ln -sf '$(top_srcdir)/lib/virtual.h' '$@'
-else
-                       ln -sf '$(kernelincludedir)/linux/virtual.h' '$@' && test -e '$@' || \
-                       ln -sf '$(top_srcdir)/lib/virtual.h' '$@'
-endif
+silent.%:              FORCE
+                       @t=$$($(MKTEMP) -d /tmp/build.XXXXXX) && \
+                       trap "rm -rf $$t" EXIT && \
+                       mkfifo $$t/fifo && \
+                       ( grep --line-buffered -v \
+                                    -e ': In function' \
+                                    -e 'your code still has assertions enabled' \
+                                    -e ' is obsoleted' \
+                                    -e 'warning: #warning' <$$t/fifo & ) && \
+                       exec 2>$$t/fifo && \
+                       $(MAKE) '$*' -s >/dev/null
 
 pathsubst_RULES =      s!@'PKGLIBDIR'@!$(pkglibdir)!g; \
                        s!@'LEGACYDIR'@!$(legacydir)!g; \
@@ -150,26 +159,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!@'IPTABLES'@!$(IPTABLES)!g; \
-                       s!@'MODPROBE'@!$(MODPROBE)!g; \
-                       s!@'MOUNT'@!$(MOUNT)!g; \
-                       s!@'NAMEIF'@!$(NAMEIF)!g; \
-                       s!@'NICE'@!$(NICE)!g; \
-                       s!@'PS'@!$(PS)!g; \
-                       s!@'RMMOD'@!$(RMMOD)!g; \
-                       s!@'TAR'@!$(TAR)!g; \
-                       s!@'UMOUNT'@!$(UMOUNT)!g; \
-                       s!@'VCONFIG'@!$(VCONFIG)!g; \
-                       s!@'WC'@!$(WC)!g; \
-                       s!@'WGET'@!$(WGET)!g; \
-                       s!@'XSLTPROC'@!$(XSLTPROC)!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
@@ -187,7 +181,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
 
@@ -196,13 +190,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)" || \
@@ -222,14 +219,18 @@ _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
@@ -242,9 +243,15 @@ 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
+include $(top_srcdir)/m4/libsel.am
+include $(top_srcdir)/m4/install-notify.am
+
+.PHONY:                FORCE update-doc