From: Julian Seward Date: Wed, 9 Nov 2005 14:04:27 +0000 (+0000) Subject: Install libvex.a and libcoregrind.a, needed for external tool builds. X-Git-Tag: svn/VALGRIND_3_1_0~179 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=554556bbef111f1507328f1a289e458d0a5abdd3;p=thirdparty%2Fvalgrind.git Install libvex.a and libcoregrind.a, needed for external tool builds. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5053 --- diff --git a/Makefile.install.am b/Makefile.install.am index 34c5615534..216253b84b 100644 --- a/Makefile.install.am +++ b/Makefile.install.am @@ -1,7 +1,26 @@ + +# What the second for loop does: it copies libcoregrind.a and libvex.a +# into the correct (target-specific) lib dirs at install time. +# $(noinst_LIBRARIES) will look like this: +# libcoregrind_x86_linux.a libreplacemalloc_toolpreload_x86_linux.a +# libcoregrind_amd64_linux.a libreplacemalloc_toolpreload_amd64_linux.a +# The 'if expr' filters out all but the libcoregrind_ ones. +# pD and pU are the (arch,os) target pairs separated by a dash (pD) or +# an underscore (pU) respectively, eg amd64-linux (pD) and amd64_linux (pU). +# It then copies libcoregrind.a and libvex.a to the right places. + install-exec-local: for f in $(noinst_PROGRAMS); do \ p=`echo $$f | sed -e 's/^[^-]*-//' -e 's/\..*$$//'`; \ n=`echo $$f | sed -e 's/-[^-]\{1,\}-[^-.]\{1,\}//'`; \ $(mkinstalldirs) $(DESTDIR)$(valdir)/$$p; \ $(INSTALL_PROGRAM) $$f $(DESTDIR)$(valdir)/$$p/$$n; \ + done ; \ + for f in $(noinst_LIBRARIES); do \ + if expr match $$f libcoregrind_ > /dev/null ; then \ + pU=`echo $$f | sed -e 's/libcoregrind_//g' -e 's/\.a//g'` ; \ + pD=`echo $$pU | sed -e 's/_/-/g'` ; \ + $(INSTALL_PROGRAM) $$f $(DESTDIR)$(valdir)/$$pD/libcoregrind.a ; \ + $(INSTALL_PROGRAM) @VEX_DIR@/libvex_$$pU.a $(DESTDIR)$(valdir)/$$pD/libvex.a ; \ + fi ; \ done diff --git a/coregrind/Makefile.am b/coregrind/Makefile.am index 35823ad56d..81b3afc639 100644 --- a/coregrind/Makefile.am +++ b/coregrind/Makefile.am @@ -1,3 +1,9 @@ + +# Be very careful when renaming any files, targets, whatever, in this +# Makefile. The install-exec-local target in ../Makefile.install.am +# does some fragile sed file-name-mangling which is liable to break if +# the names of noinst_LIBRARIES or noinst_PROGRAMS change 'shape'. + include $(top_srcdir)/Makefile.all.am include $(top_srcdir)/Makefile.core.am include $(top_srcdir)/Makefile.install.am