diff options
author | Robert Schwebel <r.schwebel@pengutronix.de> | 2005-06-10 06:14:54 +0000 |
---|---|---|
committer | Robert Schwebel <r.schwebel@pengutronix.de> | 2005-06-10 06:14:54 +0000 |
commit | f80be9107c6db05e438d9688d3b888990d1c6326 (patch) | |
tree | 02dd19ec1983ff325e0cb3faa9e41edf514cab7b /rules/valgrind.make | |
parent | 4ee9e27cab3ce97b88a8b1b807b7bc0d7cd0a168 (diff) | |
download | ptxdist-f80be9107c6db05e438d9688d3b888990d1c6326.tar.gz ptxdist-f80be9107c6db05e438d9688d3b888990d1c6326.tar.xz |
* valgrind: added; patch by Shahar Livne
git-svn-id: https://svn.pengutronix.de/svn/ptxdist/trunks/ptxdist-0.7-trunk@2727 33e552b5-05e3-0310-8538-816dae2090ed
Diffstat (limited to 'rules/valgrind.make')
-rw-r--r-- | rules/valgrind.make | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/rules/valgrind.make b/rules/valgrind.make new file mode 100644 index 000000000..53e404744 --- /dev/null +++ b/rules/valgrind.make @@ -0,0 +1,178 @@ +# -*-makefile-*- +# $Id: valgrind.make $ +# +# Copyright (C) 2005 by Shahar Livne <shahar@livnex.com> +# +# See CREDITS for details about who has contributed to this project. +# +# For further information about the PTXdist project and license conditions +# see the README file. +# + +# +# We provide this package +# +ifdef PTXCONF_VALGRIND +PACKAGES += valgrind +endif + +# +# Paths and names +# +VALGRIND_VERSION = 2.4.0 +VALGRIND = valgrind-$(VALGRIND_VERSION) +VALGRIND_SUFFIX = tar.bz2 +VALGRIND_URL = http://valgrind.org/downloads/$(VALGRIND).$(VALGRIND_SUFFIX) +VALGRIND_SOURCE = $(SRCDIR)/$(VALGRIND).$(VALGRIND_SUFFIX) +VALGRIND_DIR = $(BUILDDIR)/$(VALGRIND) + +# ---------------------------------------------------------------------------- +# Get +# ---------------------------------------------------------------------------- + +valgrind_get: $(STATEDIR)/valgrind.get + +valgrind_get_deps = $(VALGRIND_SOURCE) + +$(STATEDIR)/valgrind.get: $(valgrind_get_deps) + @$(call targetinfo, $@) + @$(call get_patches, $(VALGRIND)) + touch $@ + +$(VALGRIND_SOURCE): + @$(call targetinfo, $@) + @$(call get, $(VALGRIND_URL)) + +# ---------------------------------------------------------------------------- +# Extract +# ---------------------------------------------------------------------------- + +valgrind_extract: $(STATEDIR)/valgrind.extract + +valgrind_extract_deps = $(STATEDIR)/valgrind.get + +$(STATEDIR)/valgrind.extract: $(valgrind_extract_deps) + @$(call targetinfo, $@) + @$(call clean, $(VALGRIND_DIR)) + @$(call extract, $(VALGRIND_SOURCE)) + @$(call patchin, $(VALGRIND)) + touch $@ + +# ---------------------------------------------------------------------------- +# Prepare +# ---------------------------------------------------------------------------- + +valgrind_prepare: $(STATEDIR)/valgrind.prepare + +# +# dependencies +# +valgrind_prepare_deps = \ + $(STATEDIR)/valgrind.extract + + +VALGRIND_PATH = PATH=$(CROSS_PATH) +VALGRIND_ENV = $(CROSS_ENV) +#VALGRIND_ENV += + +# +# autoconf +# +VALGRIND_AUTOCONF = $(CROSS_AUTOCONF) +VALGRIND_AUTOCONF += --prefix=/ + +# If --enable-tls is not set, test for TLS fails in cross compiling +# environment + +VALGRIND_AUTOCONF += --enable-tls + +$(STATEDIR)/valgrind.prepare: $(valgrind_prepare_deps) + @$(call targetinfo, $@) + @$(call clean, $(VALGRIND_DIR)/config.cache) + cd $(VALGRIND_DIR) && \ + $(VALGRIND_PATH) $(VALGRIND_ENV) \ + ./configure $(VALGRIND_AUTOCONF) + touch $@ + +# ---------------------------------------------------------------------------- +# Compile +# ---------------------------------------------------------------------------- + +valgrind_compile: $(STATEDIR)/valgrind.compile + +valgrind_compile_deps = $(STATEDIR)/valgrind.prepare + +$(STATEDIR)/valgrind.compile: $(valgrind_compile_deps) + @$(call targetinfo, $@) + cd $(VALGRIND_DIR) && $(VALGRIND_ENV) $(VALGRIND_PATH) make + touch $@ + +# ---------------------------------------------------------------------------- +# Install +# ---------------------------------------------------------------------------- + +valgrind_install: $(STATEDIR)/valgrind.install + +$(STATEDIR)/valgrind.install: $(STATEDIR)/valgrind.compile + @$(call targetinfo, $@) + + # FIXME: rsc: if --prefix=/, doesn't this install to / on the + # development host? + # cd $(VALGRIND_DIR) && $(VALGRIND_PATH) make install + + touch $@ + +# ---------------------------------------------------------------------------- +# Target-Install +# ---------------------------------------------------------------------------- + +valgrind_targetinstall: $(STATEDIR)/valgrind.targetinstall + +valgrind_targetinstall_deps = $(STATEDIR)/valgrind.compile + +$(STATEDIR)/valgrind.targetinstall: $(valgrind_targetinstall_deps) + @$(call targetinfo, $@) + + @$(call install_init,default) + @$(call install_fixup,PACKAGE,valgrind) + @$(call install_fixup,PRIORITY,optional) + @$(call install_fixup,VERSION,$(VALGRIND_VERSION)) + @$(call install_fixup,SECTION,base) + @$(call install_fixup,AUTHOR,"Shahar Livne <shahar\@livnex.com>") + @$(call install_fixup,DEPENDS,) + @$(call install_fixup,DESCRIPTION,missing) + + @$(call install_copy, 0, 0, 0755, $(VALGRIND_DIR)/coregrind/valgrind, /bin/valgrind) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/coregrind/stage2, /lib/valgrind/stage2) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/corecheck/vgskin_corecheck.so, /lib/valgrind/vgskin_corecheck.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/massif/vgskin_massif.so, /lib/valgrind/vgskin_massif.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/massif/vgpreload_massif.so, /lib/valgrind/vgpreload_massif.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/cachegrind/vgskin_cachegrind.so, /lib/valgrind/vgskin_cachegrind.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/none/vgskin_none.so, /lib/valgrind/vgskin_none.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/addrcheck/vgpreload_addrcheck.so, /lib/valgrind/vgpreload_addrcheck.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/addrcheck/vgskin_addrcheck.so, /lib/valgrind/vgskin_addrcheck.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/memcheck/vgpreload_memcheck.so, /lib/valgrind/vgpreload_memcheck.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/memcheck/vgskin_memcheck.so, /lib/valgrind/vgskin_memcheck.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/lackey/vgskin_lackey.so, /lib/valgrind/vgskin_lackey.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/coregrind/vg_inject.so, /lib/valgrind/vg_inject.so) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/.in_place/default.supp, /lib/valgrind/default.supp) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/.in_place/glibc-2.3.supp, /lib/valgrind/glibc-2.3.supp) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/.in_place/glibc-2.2.supp, /lib/valgrind/glibc-2.2.supp) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/.in_place/glibc-2.1.supp, /lib/valgrind/glibc-2.1.supp) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/.in_place/xfree-4.supp, /lib/valgrind/xfree-4.supp) + @$(call install_copy, 0, 0, 0644, $(VALGRIND_DIR)/.in_place/xfree-3.supp, /lib/valgrind/xfree-3.supp) + + @$(call install_finish) + + touch $@ + +# ---------------------------------------------------------------------------- +# Clean +# ---------------------------------------------------------------------------- + +valgrind_clean: + rm -rf $(STATEDIR)/valgrind.* + rm -rf $(IMAGEDIR)/valgrind_* + rm -rf $(VALGRIND_DIR) + +# vim: syntax=make |