include $(top_srcdir)/Makefile.all.am
include $(top_srcdir)/Makefile.core-AM_CPPFLAGS.am

.PHONY: @VEX_DIR@/libvex.a

MODULES = \
	m_aspacemgr \
	m_debuginfo \
	m_demangle \
	m_dispatch \
	m_replacemalloc \
	m_scheduler \
	m_sigframe \
	m_syswrap

## When building, we are only interested in the current arch/OS/platform.
## But when doing 'make dist', we are interested in every arch/OS/platform.
## That's what DIST_SUBDIRS specifies.
SUBDIRS = $(MODULES) .

DIST_SUBDIRS = $(MODULES) .

AM_CPPFLAGS += -DVG_LIBDIR="\"$(valdir)"\" \
		-DKICKSTART_BASE=@KICKSTART_BASE@

default.supp: $(SUPP_FILES)

bin_PROGRAMS = \
	valgrind

val_PROGRAMS = \
	stage2 \
	vg_preload_core.so

noinst_HEADERS = \
	coregrind.h		\
	pub_core_aspacemgr.h	\
	pub_core_basics.h	\
	pub_core_cpuid.h	\
	pub_core_debuginfo.h	\
	pub_core_debugger.h	\
	pub_core_debuglog.h	\
	pub_core_demangle.h	\
	pub_core_dispatch.h	\
	pub_core_dispatch_asm.h	\
	pub_core_errormgr.h	\
	pub_core_execontext.h	\
	pub_core_hashtable.h	\
	pub_core_libcbase.h	\
	pub_core_libcassert.h	\
	pub_core_libcfile.h	\
	pub_core_libcmman.h	\
	pub_core_libcprint.h	\
	pub_core_libcproc.h	\
	pub_core_libcsignal.h	\
	pub_core_machine.h	\
	pub_core_main.h		\
	pub_core_mallocfree.h	\
	pub_core_options.h	\
	pub_core_oset.h		\
	pub_core_profile.h	\
	pub_core_pthreadmodel.h	\
	pub_core_redir.h	\
	pub_core_replacemalloc.h\
	pub_core_scheduler.h	\
	pub_core_sigframe.h	\
	pub_core_signals.h	\
	pub_core_skiplist.h	\
	pub_core_stacks.h	\
	pub_core_stacktrace.h	\
	pub_core_syscall.h	\
	pub_core_syswrap.h	\
	pub_core_threadmodel.h	\
	pub_core_threadstate.h	\
	pub_core_tooliface.h	\
	pub_core_trampoline.h	\
	pub_core_translate.h	\
	pub_core_transtab.h	\
	pub_core_transtab_asm.h	\
	pub_core_ume.h		\
	vki_unistd.h		\
	vki_unistd-amd64-linux.h\
	vki_unistd-ppc32-linux.h\
	vki_unistd-x86-linux.h

BUILT_SOURCES = stage2.lds
CLEANFILES = stage2.lds

valgrind_SOURCES = \
	stage1.c \
	m_debuglog.c \
	m_ume.c
valgrind_DEPENDENCIES =
valgrind_LDFLAGS=-static -g
valgrind_LDADD=

stage2_SOURCES = \
	m_cpuid.S \
	m_debugger.c \
	m_debuglog.c \
	m_errormgr.c \
	m_execontext.c \
	m_hashtable.c \
	m_libcbase.c \
	m_libcassert.c \
	m_libcfile.c \
	m_libcmman.c \
	m_libcprint.c \
	m_libcproc.c \
	m_libcsignal.c \
	m_machine.c \
	m_main.c \
	m_mallocfree.c \
	m_options.c \
	m_oset.c \
	m_profile.c \
	m_pthreadmodel.c \
	m_redir.c \
	m_signals.c \
	m_skiplist.c \
	m_stacks.c \
	m_stacktrace.c \
	m_syscall.c \
	m_threadmodel.c \
	m_threadstate.c \
	m_tooliface.c \
	m_trampoline.S \
	m_translate.c \
	m_transtab.c \
	m_ume.c

## Nb: libscheduler.a must precede libdispatch.a in this list.
stage2_extra= \
	m_debuginfo/libdebuginfo.a \
	m_demangle/libdemangle.a \
	m_scheduler/libscheduler.a \
	m_dispatch/libdispatch.a \
	m_aspacemgr/libaspacemgr.a \
	m_sigframe/libsigframe.a \
	m_syswrap/libsyswrap.a \
	@VEX_DIR@/libvex.a

## These ones must be linked in with the --whole-archive flag, because they
## wouldn't get pulled into stage2 otherwise (because they contain symbols
## only referred to by tool shared objects).
stage2_extra2 = \
	m_replacemalloc/libreplacemalloc_core.a

## Nb: older versions of automake don't seem to like having += within an
## if-then-else, so we have to use these variables for the common parts.
st2_DEPS_common = \
	$(stage2_extra) \
	$(stage2_extra2)

st2_LDFLAGS_common = \
	-Wl,--export-dynamic -g \
	-Wl,--whole-archive $(stage2_extra2) -Wl,--no-whole-archive

if USE_PIE
stage2_DEPENDENCIES = $(st2_DEPS_common)
stage2_LDFLAGS = \
	$(st2_LDFLAGS_common) \
	-pie
else
stage2_DEPENDENCIES = $(st2_DEPS_common) stage2.lds
stage2_LDFLAGS = \
	$(st2_LDFLAGS_common) \
	-Wl,-defsym,kickstart_base=@KICKSTART_BASE@ -Wl,-T,stage2.lds
endif

stage2_LDADD= $(stage2_extra) \
	-ldl

vg_preload_core_so_SOURCES = vg_preloaded.c
vg_preload_core_so_CFLAGS = $(AM_CFLAGS) -fpic
vg_preload_core_so_LDADD = -ldl
vg_preload_core_so_LDFLAGS = \
	-shared \
	-Wl,--soname,vg_preload_core.so \
	-Wl,-z,initfirst

# Extract ld's default linker script and hack it to our needs.
# First we cut everything above and below the "=====..." lines at the top
# and bottom.
# Then we have to replace the load address with "kickstart_base".
# The line to replace in has one of the following two forms:
#
#   . = 0x08048000 + SIZEOF_HEADERS;
#
# or
#   PROVIDE (__executable_start = 0x08048000); . = 0x08048000 + SIZEOF_HEADERS;
#
# So we search for the line with a hex value "+ SIZEOF_HEADERS", and replace
# all the hex values in that line with "kickstart_base".
stage2.lds: Makefile
	$(CC) $(AM_CFLAGS) -Wl,--verbose -nostdlib 2>&1 | sed \
		-e '1,/^=====\+$$/d' \
		-e '/^=====\+$$/d' \
		-e '/\. = 0x[0-9A-Fa-f]\+ + SIZEOF_HEADERS/s/0x[0-9A-Fa-f]\+/kickstart_base/g' > $@ \
	|| rm -f $@

@VEX_DIR@/libvex.a: @VEX_DIR@/priv/main/vex_svnversion.h
	$(MAKE) -C @VEX_DIR@ libvex.a EXTRA_CFLAGS="@ARCH_CORE_AM_CFLAGS@ @PIE_AM_CFLAGS@"

@VEX_DIR@/priv/main/vex_svnversion.h: $(wildcard @VEX_DIR@/.svn/entries)
	$(MAKE) -C @VEX_DIR@ version

clean-local:
	$(MAKE) -C @VEX_DIR@ clean

MANUAL_DEPS = $(noinst_HEADERS) $(include_HEADERS)

all-local:
	mkdir -p $(inplacedir)
	for i in $(val_PROGRAMS); do \
		to=$(inplacedir)/$$i; \
		rm -f $$$to; \
		ln -sf ../$(subdir)/$$i $$to; \
	done

