blob: 7c9318e8df3a01c7101c3511804da5dec9e5f8a2 [file] [log] [blame]
nethercote4388a402004-09-01 23:20:49 +00001
nethercote4388a402004-09-01 23:20:49 +00002SUBDIRS = . tests docs
3
nethercoteb35a8b92004-09-11 16:45:27 +00004include $(top_srcdir)/Makefile.all.am
tomfb7bcde2005-11-07 15:24:38 +00005include $(top_srcdir)/Makefile.install.am
nethercoteb35a8b92004-09-11 16:45:27 +00006include $(top_srcdir)/Makefile.tool-flags.am
nethercote4388a402004-09-01 23:20:49 +00007include $(top_srcdir)/Makefile.tool-inplace.am
njn717cde52005-05-10 02:47:21 +00008
tomfb7bcde2005-11-07 15:24:38 +00009LIBREPLACEMALLOC_X86_LINUX = \
10 $(top_builddir)/coregrind/libreplacemalloc_toolpreload_x86_linux.a
sewardj45f4e7c2005-09-27 19:20:21 +000011
tomfb7bcde2005-11-07 15:24:38 +000012LIBREPLACEMALLOC_AMD64_LINUX = \
13 $(top_builddir)/coregrind/libreplacemalloc_toolpreload_amd64_linux.a
14
15LIBREPLACEMALLOC_PPC32_LINUX = \
16 $(top_builddir)/coregrind/libreplacemalloc_toolpreload_ppc32_linux.a
17
sewardj2c48c7b2005-11-29 13:05:56 +000018LIBREPLACEMALLOC_PPC64_LINUX = \
19 $(top_builddir)/coregrind/libreplacemalloc_toolpreload_ppc64_linux.a
20
tomfb7bcde2005-11-07 15:24:38 +000021COREGRIND_LIBS_X86_LINUX = \
22 $(top_builddir)/coregrind/libcoregrind_x86_linux.a \
23 @VEX_DIR@/libvex_x86_linux.a
24
25COREGRIND_LIBS_AMD64_LINUX = \
26 $(top_builddir)/coregrind/libcoregrind_amd64_linux.a \
27 @VEX_DIR@/libvex_amd64_linux.a
28
29COREGRIND_LIBS_PPC32_LINUX = \
30 $(top_builddir)/coregrind/libcoregrind_ppc32_linux.a \
31 @VEX_DIR@/libvex_ppc32_linux.a
sewardj45f4e7c2005-09-27 19:20:21 +000032
sewardj2c48c7b2005-11-29 13:05:56 +000033COREGRIND_LIBS_PPC64_LINUX = \
34 $(top_builddir)/coregrind/libcoregrind_ppc64_linux.a \
35 @VEX_DIR@/libvex_ppc64_linux.a
36
sewardj45f4e7c2005-09-27 19:20:21 +000037##.PHONY: @VEX_DIR@/libvex.a
38
tomfb7bcde2005-11-07 15:24:38 +000039@VEX_DIR@/libvex_x86_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
sewardj72a547e2006-01-25 02:58:28 +000040 $(MAKE) -C @VEX_DIR@ CC="$(CC)" libvex_x86_linux.a \
41 EXTRA_CFLAGS="$(AM_CFLAGS_X86_LINUX) @FLAG_WDECL_AFTER_STMT@"
tomfb7bcde2005-11-07 15:24:38 +000042
43@VEX_DIR@/libvex_amd64_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
sewardj72a547e2006-01-25 02:58:28 +000044 $(MAKE) -C @VEX_DIR@ CC="$(CC)" libvex_amd64_linux.a \
45 EXTRA_CFLAGS="$(AM_CFLAGS_AMD64_LINUX) @FLAG_WDECL_AFTER_STMT@"
tomfb7bcde2005-11-07 15:24:38 +000046
47@VEX_DIR@/libvex_ppc32_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
sewardj72a547e2006-01-25 02:58:28 +000048 $(MAKE) -C @VEX_DIR@ CC="$(CC)" libvex_ppc32_linux.a \
49 EXTRA_CFLAGS="$(AM_CFLAGS_PPC32_LINUX) @FLAG_WDECL_AFTER_STMT@"
sewardj45f4e7c2005-09-27 19:20:21 +000050
sewardj2c48c7b2005-11-29 13:05:56 +000051@VEX_DIR@/libvex_ppc64_linux.a: @VEX_DIR@/priv/main/vex_svnversion.h
sewardj72a547e2006-01-25 02:58:28 +000052 $(MAKE) -C @VEX_DIR@ CC="$(CC)" libvex_ppc64_linux.a \
53 EXTRA_CFLAGS="$(AM_CFLAGS_PPC64_LINUX) @FLAG_WDECL_AFTER_STMT@"
sewardj2c48c7b2005-11-29 13:05:56 +000054
sewardj45f4e7c2005-09-27 19:20:21 +000055@VEX_DIR@/priv/main/vex_svnversion.h:
56 $(MAKE) -C @VEX_DIR@ CC="$(CC)" version
57
tomfb7bcde2005-11-07 15:24:38 +000058TOOL_LDADD_COMMON = -lgcc
59TOOL_LDFLAGS_COMMON = -static \
sewardj45f4e7c2005-09-27 19:20:21 +000060 -Wl,-defsym,valt_load_address=@VALT_LOAD_ADDRESS@ \
sewardj45f4e7c2005-09-27 19:20:21 +000061 -nodefaultlibs -nostartfiles -u _start
njn717cde52005-05-10 02:47:21 +000062
tomfb7bcde2005-11-07 15:24:38 +000063TOOL_LDADD_X86_LINUX = $(COREGRIND_LIBS_X86_LINUX) $(TOOL_LDADD_COMMON)
64TOOL_LDFLAGS_X86_LINUX = \
65 $(TOOL_LDFLAGS_COMMON) @FLAG_M32@ \
66 -Wl,-T,$(top_builddir)/valt_load_address_x86_linux.lds
67
68TOOL_LDADD_AMD64_LINUX = $(COREGRIND_LIBS_AMD64_LINUX) $(TOOL_LDADD_COMMON)
69TOOL_LDFLAGS_AMD64_LINUX = \
70 $(TOOL_LDFLAGS_COMMON) -m64 \
71 -Wl,-T,$(top_builddir)/valt_load_address_amd64_linux.lds
72
73TOOL_LDADD_PPC32_LINUX = $(COREGRIND_LIBS_PPC32_LINUX) $(TOOL_LDADD_COMMON)
74TOOL_LDFLAGS_PPC32_LINUX = \
sewardj2c48c7b2005-11-29 13:05:56 +000075 $(TOOL_LDFLAGS_COMMON) @FLAG_M32@ \
tomfb7bcde2005-11-07 15:24:38 +000076 -Wl,-T,$(top_builddir)/valt_load_address_ppc32_linux.lds
77
sewardj2c48c7b2005-11-29 13:05:56 +000078TOOL_LDADD_PPC64_LINUX = $(COREGRIND_LIBS_PPC64_LINUX) $(TOOL_LDADD_COMMON)
79TOOL_LDFLAGS_PPC64_LINUX = \
80 $(TOOL_LDFLAGS_COMMON) -m64 \
81 -Wl,-T,$(top_builddir)/valt_load_address_ppc64_linux.lds
82
dirk515ef3c2005-11-10 00:40:26 +000083PRELOAD_LDFLAGS_COMMON = -nostdlib -shared -Wl,-z,interpose,-z,initfirst
tomfb7bcde2005-11-07 15:24:38 +000084PRELOAD_LDFLAGS_X86_LINUX = $(PRELOAD_LDFLAGS_COMMON) @FLAG_M32@
85PRELOAD_LDFLAGS_AMD64_LINUX = $(PRELOAD_LDFLAGS_COMMON) -m64
sewardj2c48c7b2005-11-29 13:05:56 +000086PRELOAD_LDFLAGS_PPC32_LINUX = $(PRELOAD_LDFLAGS_COMMON) @FLAG_M32@
87PRELOAD_LDFLAGS_PPC64_LINUX = $(PRELOAD_LDFLAGS_COMMON) -m64
tomfb7bcde2005-11-07 15:24:38 +000088
89LIBREPLACEMALLOC_LDFLAGS_X86_LINUX = \
90 -Wl,--whole-archive \
91 $(LIBREPLACEMALLOC_X86_LINUX) \
92 -Wl,--no-whole-archive
93LIBREPLACEMALLOC_LDFLAGS_AMD64_LINUX = \
94 -Wl,--whole-archive \
95 $(LIBREPLACEMALLOC_AMD64_LINUX) \
96 -Wl,--no-whole-archive
97LIBREPLACEMALLOC_LDFLAGS_PPC32_LINUX = \
98 -Wl,--whole-archive \
99 $(LIBREPLACEMALLOC_PPC32_LINUX) \
100 -Wl,--no-whole-archive
sewardj2c48c7b2005-11-29 13:05:56 +0000101LIBREPLACEMALLOC_LDFLAGS_PPC64_LINUX = \
102 -Wl,--whole-archive \
103 $(LIBREPLACEMALLOC_PPC64_LINUX) \
104 -Wl,--no-whole-archive