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