vshost-util-vserver

Build script and sources for util-vserver.
git clone https://ccx.te2000.cz/git/vshost-util-vserver
Log | Files | Refs

Makefile.am (8845B)


      1 ## $Id$
      2 
      3 # Copyright (C) 2003,2004,2005,2006 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 ACLOCAL_AMFLAGS		=  -I m4
     21 SUBDIRS			=  . distrib
     22 
     23 AM_DISTCHECK_CONFIGURE_FLAGS =
     24 
     25 confdir			=  $(sysconfdir)/vservers
     26 confdefaultsdir		=  $(confdir)/.defaults
     27 sbincfgdir		=  $(sbindir)
     28 legacydir		=  $(pkglibexecdir)/legacy
     29 
     30 include_HEADERS =
     31 noinst_HEADERS =	$(ENSC_VECTOR_HDRS) \
     32 			compat.h compat-c99.h
     33 
     34 noinst_LIBRARIES =	$(ENSC_VECTOR_LIBS)
     35 lib_LIBRARIES =
     36 lib_LTLIBRARIES =
     37 pkglib_LTLIBRARIES =
     38 
     39 pkglibexec_SCRIPTS =
     40 xpkglib_DATA =		FEATURES.txt
     41 xpkglibexec_DATA =
     42 pkglibexec_PROGRAMS =
     43 legacy_SCRIPTS =
     44 legacy_PROGRAMS =
     45 
     46 sbin_SCRIPTS =
     47 sbin_PROGRAMS =
     48 noinst_PROGRAMS =
     49 noinst_DATA =
     50 pkgdata_DATA =
     51 
     52 initrd_SCRIPTS =
     53 sysconf_DATA =
     54 
     55 pyexec_LTLIBRARIES = 
     56 pyexec_SCRIPTS =
     57 
     58 DIETPROGS =		$(LIBENSCVECTOR_DIET)
     59 
     60 BUILT_SOURCES =		pathconfig.h \
     61 			.fixups
     62 
     63 man_MANS =
     64 
     65 kernel_HDRS = \
     66 	$(patsubst ${srcdir}/%,%,$(wildcard ${srcdir}/kernel/*.h))
     67 
     68 
     69 EXTRA_PROGRAMS =
     70 EXTRA_DIST =		pathconfig.h.pathsubst \
     71 			util-vserver.spec \
     72 			THANKS REQUIREMENTS \
     73 			$(kernel_HDRS)
     74 
     75 check_PROGRAMS =
     76 check_SCRIPTS =
     77 
     78 TESTS_DEBUG =		no
     79 TESTS =
     80 TESTS_ENVIRONMENT =	ensc_use_expensive_tests="$(ENSC_USE_EXPENSIVE_TESTS)" \
     81 			ensc_test_debug="$(TESTS_DEBUG)"
     82 
     83 AM_CPPFLAGS =		-I $(top_srcdir)/lib -I $(top_srcdir)/ensc_wrappers \
     84 			-D_GNU_SOURCE -D_REENTRANT $(RELEASE_CPPFLAGS)
     85 
     86 CLEANFILES =		$(BUILT_SOURCES) \
     87 			.*.pathsubst.stamp */.*.pathsubst.stamp */*/.*.pathsubst.stamp \
     88 			pathconfig.h .fixups
     89 
     90 DISTCLEANFILES =	FEATURES.txt
     91 
     92 
     93 AM_INSTALLCHECK_STD_OPTIONS_EXEMPT =
     94 
     95 if USE_DIETLIBC
     96 DIET_CC		       :=  $(DIET) $(DIETFLAGS) $(CC)
     97 VSERVER_LDFLGS	       :=  -static
     98 else
     99 VSERVER_LDFLGS	       :=
    100 endif
    101 
    102 if USE_DIETLIBC_COMPAT
    103 DIET_COMPAT_LDADDS =	-lcompat
    104 else
    105 DIET_COMPAT_LDADDS =
    106 endif
    107 
    108 VSERVER_LDADDS =	$(LIBVSERVER) $(DIET_COMPAT_LDADDS)
    109 
    110 silent.%:		FORCE
    111 			@t=$$($(MKTEMP) -d /tmp/build.XXXXXX) && \
    112 			trap "rm -rf $$t" EXIT && \
    113 			mkfifo $$t/fifo && \
    114 			( grep --line-buffered -v \
    115 				     -e ': In function' \
    116 				     -e 'your code still has assertions enabled' \
    117 				     -e ' is obsoleted' \
    118 				     -e 'warning: #warning' <$$t/fifo & ) && \
    119 			exec 2>$$t/fifo && \
    120 			$(MAKE) '$*' -s >/dev/null
    121 
    122 pathsubst_RULES =	s!@'PKGLIBDIR'@!$(pkglibdir)!g; \
    123 			s!@'PKGDATADIR'@!$(pkgdatadir)!g; \
    124 			s!@'PKGLIBEXECDIR'@!$(pkglibexecdir)!g; \
    125 			s!@'LEGACYDIR'@!$(legacydir)!g; \
    126 			s!@'SBINDIR'@!$(sbindir)!g; \
    127 			s!@'CONFDIR'@!$(confdir)!g; \
    128 			s!@'SYSCONFDIR'@!$(sysconfdir)!g; \
    129 			s!@'PKGSTATEDIR'@!$(pkgstatedir)!g; \
    130 			s!@'PKGCACHEDIR'@!$(pkgcachedir)!g; \
    131 			s!@'PKGSTATEREVDIR'@!$(pkgstaterevdir)!g; \
    132 			s!@'VSERVERDIR'@!$(vserverdir)!g; \
    133 			s!@'VSERVERPKGDIR'@!$(vserverpkgdir)!g; \
    134 			s!@'VSERVERPKGDIR'@!$(vserverpkgdir)!g; \
    135 			s!@'VSHELPERSTATEDIR'@!$(vshelperstatedir)!g; \
    136 			s!@'VSHELPER'@!$(pkglibexecdir)/vshelper!g; \
    137 			s!@'INITRDDIR'@!$(initrddir)!g; \
    138 			s!@'LIBDIR'@!$(libdir)!g; \
    139 			s!@'MANDIR'@!$(mandir)!g; \
    140 			s!@'INCLUDEDIR'@!$(includedir)!g; \
    141 			s!@'PACKAGE'@!$(PACKAGE)!g; \
    142 			s!@'PACKAGE_BUGREPORT'@!$(PACKAGE_BUGREPORT)!g; \
    143 			s!@'PACKAGE_NAME'@!$(PACKAGE_NAME)!g; \
    144 			s!@'PACKAGE_STRING'@!$(PACKAGE_STRING)!g; \
    145 			s!@'PACKAGE_TARNAME'@!$(PACKAGE_TARNAME)!g; \
    146 			s!@'PACKAGE_VERSION'@!$(PACKAGE_VERSION)!g; \
    147 			s!@'ENSC_HAVE_C99_COMPILER_TRUE'@!\@ENSC_HAVE_C99_COMPILER_TRUE@ !g; \
    148 			s!@'ENSC_HAVE_C99_COMPILER_FALSE'@!\@ENSC_HAVE_C99_COMPILER_FALSE@ !g; \
    149 			s!@'ENSC_HAVE_CXX_COMPILER_TRUE'@!\@ENSC_HAVE_CXX_COMPILER_TRUE@ !g; \
    150 			s!@'ENSC_HAVE_CXX_COMPILER_FALSE'@!\@ENSC_HAVE_CXX_COMPILER_FALSE@ !g; \
    151 			s!@'HAVE_PYTHON_TRUE'@!\@HAVE_PYTHON_TRUE@ !g; \
    152 			s!@'HAVE_PYTHON_FALSE'@!\@HAVE_PYTHON_FALSE@ !g; \
    153 			s!@'PYEXECDIR'@!$(pyexecdir)!g; \
    154 			s!@'HAVE_SYSTEMD_TRUE'@!\@HAVE_SYSTEMD_TRUE@ !g; \
    155 			s!@'HAVE_SYSTEMD_FALSE'@!\@HAVE_SYSTEMD_FALSE@ !g; \
    156 			s!@'SYSTEMDUNITDIR'@!$(systemdunitdir)!g; \
    157 			s!@'SYSTEMDGENERATORDIR'@!$(systemdgeneratordir)!g; \
    158 			s!@'SYSCTLDIR'@!$(sysctldir)!g; \
    159 			s!@'TMPFILESDIR'@!$(tmpfilesdir)!g; \
    160 			$(ENSC_PATHPROG_SED)
    161 
    162 pathconfig.h:		.pathconfig.h.pathsubst.stamp
    163 .%.pathsubst.stamp:	%.pathsubst Makefile
    164 			@mkdir -p $$(dirname '$@')
    165 			@echo "$(SED) -e '...' $*.pathsubst >$*"
    166 			@$(SED) -e '$(pathsubst_RULES)' '$<' >'$@.tmp'
    167 			@-chmod $$(stat -c '%a' '$<') '$@.tmp'
    168 			@if cmp -s '$@.tmp' '$*'; then \
    169 				echo "... no changes, reusing old version"; \
    170 				rm -f '$@.tmp'; \
    171 			else \
    172 				rm -f '$*'; mv '$@.tmp' '$*'; \
    173 			fi
    174 			@chmod a-w '$*'
    175 			@touch '$@'
    176 
    177 xpkglibdir =		$(pkglibdir)
    178 xpkglibexecdir =	$(pkglibexecdir)
    179 pkgcachedir =		$(localstatedir)/cache/vservers
    180 pkgstatedir =		$(localstatedir)/run/vservers
    181 pkgstaterevdir =	$(confdefaultsdir)/run.rev
    182 vserverpkgdir =		$(vserverdir)/.pkg
    183 vshelperstatedir =	$(localstatedir)/run/vshelper
    184 
    185 fix_SCRPTS		=  $(addprefix $(pkglibexecdir)/, $(notdir $(pkglibexec_SCRIPTS))) \
    186 			   $(addprefix $(legacydir)/, $(notdir $(legacy_SCRIPTS))) \
    187 			   $(addprefix $(sbindir)/,   $(notdir $(sbin_SCRIPTS))) \
    188 			   $(addprefix $(initrddir)/, $(notdir $(initrd_SCRIPTS)))
    189 
    190 update-doc:		doc
    191 			$(top_srcdir)/update-doc
    192 
    193 install-data-hook:	install-fix-script-paths install-create-dirs
    194 
    195 install-create-dirs:
    196 			$(mkinstalldirs) -m 0755 $(DESTDIR)$(pkgstatedir) $(DESTDIR)$(pkgstatedir).rev $(DESTDIR)$(vshelperstatedir)
    197 			$(mkinstalldirs) -m 0700 $(DESTDIR)$(pkgcachedir)
    198 			$(mkinstalldirs) -m 0755 $(DESTDIR)$(confdefaultsdir)
    199 			f=$(DESTDIR)$(confdefaultsdir)/vdirbase;  test -e "$$f" || ln -sf '$(vserverdir)'      "$$f"
    200 			f=$(DESTDIR)$(confdefaultsdir)/cachebase; test -e "$$f" || ln -sf '$(pkgcachedir)'     "$$f"
    201 			f=$(DESTDIR)$(pkgstaterevdir);            test -e "$$f" || ln -sf '$(pkgstatedir).rev' "$$f"
    202 
    203 install-fix-script-paths:
    204 			test "/usr/lib/util-vserver" = "$(xpkglibexecdir)" || \
    205 			for i in $(fix_SCRPTS); do \
    206 				f="$(DESTDIR)$$i"; \
    207 				$(SED) -e 's!/usr/lib/util-vserver!$(xpkglibexecdir)!g' "$$f" >"$$f.tmp"; \
    208 				$(CMP) -s "$$f.tmp" "$$f" || cat "$$f.tmp" >"$$f"; \
    209 				rm -f "$$f.tmp"; \
    210 			done
    211 
    212 install-distribution:	_install-vserverdir _install-vshelperlink install-compat
    213 install-compat:		_install-varlink
    214 
    215 _install-vshelperlink:
    216 			$(mkinstalldirs) $(DESTDIR)/sbin
    217 			ln -sf ..$(pkglibexecdir)/vshelper $(DESTDIR)/sbin/vshelper
    218 
    219 _install-vserverdir:
    220 			$(mkinstalldirs) $(DESTDIR)$(vserverdir) $(DESTDIR)$(vserverpkgdir)
    221 
    222 if PKGLIBDIR_IS_PKGLIBEXECDIR
    223 _install-varlink-pkglibdir:
    224 else
    225 _install-varlink-pkglibdir:
    226 			$(mkinstalldirs) $(DESTDIR)/${pkglibdir}
    227 			ln -s ${pkglibexecdir}/util-vserver-vars $(DESTDIR)/${pkglibdir}/util-vserver-vars
    228 endif
    229 
    230 _install-varlink: _install-varlink-pkglibdir
    231 			ln -s ${pkglibexecdir}/util-vserver-vars $(DESTDIR)/${pkgdatadir}/util-vserver-vars
    232 
    233 .fixups:		config.status util-vserver.spec
    234 			chmod a-w util-vserver.spec
    235 			touch $@
    236 
    237 dist-snapshot:
    238 	$(MAKE) -f $(top_srcdir)/m4/release.mk D=$(abs_top_srcdir) \
    239 		VERSION=$(VERSION) NAME=$(PACKAGE_NAME) DIST_ARCHIVES='$(DIST_ARCHIVES)'
    240 
    241 if USE_DIETLIBC
    242 $(addsuffix $(EXEEXT), $(DIETPROGS)) \
    243 $(addsuffix $(OBJEXT), $(DIETPROGS)) \
    244 		:		CC=$(DIET_CC)
    245 else	!USE_DIETLIBC
    246 nodist_lib_dietlibc_not_enabled_error_a_SOURCES = \
    247 			lib-dietlibc-not-enabled-error.c
    248 endif
    249 
    250 include $(top_srcdir)/lib/Makefile-files
    251 include $(top_srcdir)/src/Makefile-files
    252 include $(top_srcdir)/doc/Makefile-files
    253 include $(top_srcdir)/man/Makefile-files
    254 include $(top_srcdir)/scripts/Makefile-files
    255 include $(top_srcdir)/tests/Makefile-files
    256 include $(top_srcdir)/sysv/Makefile-files
    257 include $(top_srcdir)/contrib/Makefile-files
    258 include $(top_srcdir)/ensc_vector/Makefile-files
    259 include $(top_srcdir)/ensc_wrappers/Makefile-files
    260 include $(top_srcdir)/ensc_fmt/Makefile-files
    261 include $(top_srcdir)/lib_internal/Makefile-files
    262 #include $(top_srcdir)/vserver-start/Makefile-files
    263 include $(top_srcdir)/gentoo/Makefile-files
    264 include $(top_srcdir)/python/Makefile-files
    265 include $(top_srcdir)/debian/Makefile-files
    266 include $(top_srcdir)/systemd/Makefile-files
    267 
    268 include $(top_srcdir)/m4/gpgsig.am
    269 include $(top_srcdir)/m4/validate.am
    270 include $(top_srcdir)/m4/changelog.am
    271 include $(top_srcdir)/m4/pkgconfig.am
    272 include $(top_srcdir)/m4/libsel.am
    273 include $(top_srcdir)/m4/install-notify.am
    274 
    275 .PHONY:		FORCE update-doc