--- /dev/null
+
+## This file should be included by *every* Makefile.am, except those for docs/
+## and tests/ subdirectories.
+
+valdir = $(libdir)/valgrind
+inplacedir = $(top_builddir)/.in_place
+
+
AUTOMAKE_OPTIONS = foreign 1.6 dist-bzip2
-## include must be first for vg_skin.h
+include $(top_srcdir)/Makefile.all.am
+
+## include must be first for tool.h
## addrcheck must come after memcheck, for mac_*.o
SUBDIRS = include coregrind . docs tests auxprogs \
memcheck \
lackey \
none
-AM_CPPFLAGS =
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
-
SUPP_FILES = \
glibc-2.1.supp glibc-2.2.supp glibc-2.3.supp \
xfree-3.supp xfree-4.supp
ACKNOWLEDGEMENTS \
README_PACKAGERS \
README_MISSING_SYSCALL_OR_IOCTL TODO \
- valgrind.spec.in valgrind.pc.in
+ valgrind.spec.in valgrind.pc.in \
+ Makefile.all.am Makefile.tool.am Makefile.core-AM_CPPFLAGS.am \
+ Makefile.tool-inplace.am
install-exec-hook:
$(mkinstalldirs) $(DESTDIR)$(valdir)
--- /dev/null
+add_includes = -I$(top_builddir)/coregrind -I$(top_srcdir)/coregrind \
+ -I$(top_builddir)/include -I$(top_srcdir)/include
+
+AM_CPPFLAGS = $(add_includes)
+
--- /dev/null
+all-local:
+ mkdir -p $(inplacedir)
+ -rm -f $(addprefix $(inplacedir)/,$(val_PROGRAMS))
+ ln -f -s $(addprefix ../$(subdir)/,$(val_PROGRAMS)) $(inplacedir)
--- /dev/null
+
+include $(top_srcdir)/Makefile.all.am
+
+SUBDIRS = . tests docs
+
+## Need $(top_builddir)/include because tool.h is built from tool.h.base;
+## otherwise it will not work if builddir != srcdir.
+add_includes = -I$(top_builddir)/include -I$(top_srcdir)/include
+
+AM_CPPFLAGS = $(add_includes)
+AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
+ @PREFERRED_STACK_BOUNDARY@ -g
+AM_CCASFLAGS = $(add_includes)
+
+include $(top_srcdir)/Makefile.tool-inplace.am
+
-
-SUBDIRS = . docs tests
+include $(top_srcdir)/Makefile.tool.am
# include memcheck/ for mac_shared.h
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include \
- -I$(top_srcdir)/memcheck
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
+AM_CPPFLAGS += -I$(top_srcdir)/memcheck
val_PROGRAMS = vgskin_addrcheck.so vgpreload_addrcheck.so
../memcheck/mac_replace_strmem.o
vgpreload_addrcheck_so_LDFLAGS = -shared -Wl,-z,interpose,-z,initfirst
-all-local:
- mkdir -p $(inplacedir)
- -rm -f $(addprefix $(inplacedir)/,$(val_PROGRAMS))
- ln -f -s $(addprefix $(top_builddir)/$(subdir)/,$(val_PROGRAMS)) $(inplacedir)
+include $(top_srcdir)/Makefile.all.am
+include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-SUBDIRS = .
-
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include \
- -I$(top_builddir)/coregrind -I$(top_srcdir)/coregrind
AM_CFLAGS = $(WERROR) -Winline -Wall -O -g
bin_PROGRAMS = valgrind-listener
-valgrind_listener_SOURCES = \
- valgrind-listener.c
+valgrind_listener_SOURCES = valgrind-listener.c
-
-SUBDIRS = . docs tests
-
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
+include $(top_srcdir)/Makefile.tool.am
bin_SCRIPTS = cg_annotate
vgskin_cachegrind_so_SOURCES = cg_main.c
vgskin_cachegrind_so_LDFLAGS = -shared
-all-local:
- mkdir -p $(inplacedir)
- -rm -f $(inplacedir)/$(val_PROGRAMS)
- ln -f -s $(top_builddir)/$(subdir)/$(val_PROGRAMS) $(inplacedir)/$(val_PROGRAMS)
-
-SUBDIRS = . tests docs
-
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
+include $(top_srcdir)/Makefile.tool.am
val_PROGRAMS = vgskin_corecheck.so
vgskin_corecheck_so_SOURCES = cc_main.c
vgskin_corecheck_so_LDFLAGS = -shared
-all-local:
- mkdir -p $(inplacedir)
- -rm -f $(inplacedir)/$(val_PROGRAMS)
- ln -f -s $(top_builddir)/$(subdir)/$(val_PROGRAMS) $(inplacedir)/$(val_PROGRAMS)
+include $(top_srcdir)/Makefile.all.am
+include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
SUBDIRS = x86 demangle . docs
-add_includes = -I$(srcdir)/demangle -I$(top_builddir)/include \
- -I$(top_srcdir)/include -I$(srcdir)/x86
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
-
-AM_CPPFLAGS = $(add_includes) -DVG_LIBDIR="\"$(valdir)"\" \
+AM_CPPFLAGS += -DVG_LIBDIR="\"$(valdir)"\" -I$(srcdir)/demangle \
+ -I$(srcdir)/x86 \
-DKICKSTART_BASE=$(KICKSTART_BASE)
AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fno-omit-frame-pointer \
@PREFERRED_STACK_BOUNDARY@ -g -DELFSZ=32
+include $(top_srcdir)/Makefile.all.am
+include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am
-AM_CPPFLAGS = -I$(top_builddir)/coregrind -I$(top_srcdir)/coregrind \
- -I$(top_builddir)/include -I$(top_srcdir)/include
AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer -g
noinst_HEADERS = \
libdemangle_a_SOURCES = \
cp-demangle.c cplus-dem.c dyn-string.c safe-ctype.c
+## Ignore harmless warnings for these ones
cp-demangle.o: CFLAGS += -Wno-unused -Wno-shadow
cplus-dem.o: CFLAGS += -Wno-unused
-
-SUBDIRS = . docs tests
-
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
+include $(top_srcdir)/Makefile.tool.am
val_PROGRAMS = vgskin_helgrind.so vgpreload_helgrind.so
hginclude_HEADERS = helgrind.h
-all-local:
- mkdir -p $(inplacedir)
- -rm -f $(addprefix $(inplacedir)/,$(val_PROGRAMS))
- ln -f -s $(addprefix $(top_builddir)/$(subdir)/,$(val_PROGRAMS)) $(inplacedir)
-
-SUBDIRS = . docs tests
-
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
+include $(top_srcdir)/Makefile.tool.am
val_PROGRAMS = vgskin_lackey.so
vgskin_lackey_so_SOURCES = lk_main.c
vgskin_lackey_so_LDFLAGS = -shared
-
-all-local:
- mkdir -p $(inplacedir)
- -rm -f $(inplacedir)/$(val_PROGRAMS)
- ln -f -s $(top_builddir)/$(subdir)/$(val_PROGRAMS) $(inplacedir)/$(val_PROGRAMS)
+include $(top_srcdir)/Makefile.tool.am
-SUBDIRS = . tests docs hp2ps
-
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
+SUBDIRS += hp2ps
val_PROGRAMS = vgskin_massif.so vgpreload_massif.so
vgpreload_massif_so_DEPENDENCIES = $(top_builddir)/coregrind/vg_replace_malloc.o
vgpreload_massif_so_LDFLAGS = -shared -Wl,-z,interpose,-z,initfirst
-all-local:
- mkdir -p $(inplacedir)
- -rm -f $(addprefix $(inplacedir)/,$(val_PROGRAMS))
- ln -f -s $(addprefix $(top_builddir)/$(subdir)/,$(val_PROGRAMS)) $(inplacedir)
+include $(top_srcdir)/Makefile.all.am
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
-
-AM_CPPFLAGS = $(add_includes)
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fno-omit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-AM_CCASFLAGS = $(add_includes)
+AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -g
val_PROGRAMS = hp2ps
TraceElement.h \
Utilities.h
-all-local:
- mkdir -p $(inplacedir)
- -rm -f $(addprefix $(inplacedir)/,$(val_PROGRAMS))
- ln -f -s $(addprefix ../$(subdir)/,$(val_PROGRAMS)) $(inplacedir)
+include $(top_srcdir)/Makefile.tool-inplace.am
+include $(top_srcdir)/Makefile.tool.am
-SUBDIRS = . tests docs
-
-all_includes = -I$(top_builddir)/include -I$(top_srcdir)/include
-
-AM_CPPFLAGS = $(all_includes)
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O2 -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-AM_CCASFLAGS = $(all_includes)
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
+## Build Memcheck at a higher optimisation level
+AM_CFLAGS += -O2
val_PROGRAMS = vgskin_memcheck.so vgpreload_memcheck.so
mac_replace_strmem.o: CFLAGS += -fno-omit-frame-pointer
-all-local:
- mkdir -p $(inplacedir)
- -rm -f $(addprefix $(inplacedir)/,$(val_PROGRAMS))
- ln -f -s $(addprefix $(top_builddir)/$(subdir)/,$(val_PROGRAMS)) $(inplacedir)
-
-SUBDIRS = . docs tests
-
-AM_CPPFLAGS = -I$(top_builddir)/include -I$(top_srcdir)/include
-AM_CFLAGS = $(WERROR) -Winline -Wall -Wshadow -O -fomit-frame-pointer \
- @PREFERRED_STACK_BOUNDARY@ -g
-
-valdir = $(libdir)/valgrind
-inplacedir = $(top_builddir)/.in_place
+include $(top_srcdir)/Makefile.tool.am
val_PROGRAMS = vgskin_none.so
vgskin_none_so_SOURCES = nl_main.c
vgskin_none_so_LDFLAGS = -shared
-all-local:
- mkdir -p $(inplacedir)
- -rm -f $(inplacedir)/$(val_PROGRAMS)
- ln -f -s $(top_builddir)/$(subdir)/$(val_PROGRAMS) $(inplacedir)/$(val_PROGRAMS)