Build vgdb and lackey tools

vgdb allows debugging apps from perspective of valgrind's emulated CPU.
lackey tool allows to observe execution traces and memory access traces.

Test: lackey tool worked out of the box.
vgdb functionality that was tested:
- attaching to a valgrind process launched with --vgdb=yes
- frame disassembly with sources
- settings breakpoints / continuing / breaking into those breakpoints

Change-Id: I4d9cb2e9caaad18ad0e6dcbdf32de53c9278f5eb
diff --git a/Android.mk b/Android.mk
index 19f38ef..a1c6324 100644
--- a/Android.mk
+++ b/Android.mk
@@ -568,6 +568,27 @@
 
 include $(LOCAL_PATH)/Android.build_all.mk
 
+# Build lackey-$(TARGET_ARCH)-linux
+vg_local_module := lackey
+vg_local_module_class := SHARED_LIBRARIES
+vg_local_target := EXECUTABLE
+vg_local_no_crt := true
+vg_local_without_system_shared_libraries := true
+vg_local_src_files := lackey/lk_main.c
+vg_local_ldflags := $(tool_ldflags)
+vg_local_cflags := $(common_cflags)
+vg_local_static_libraries := libcoregrind libvex
+include $(LOCAL_PATH)/Android.build_all.mk
+
+# Build vgpreload_lackey-$(TARGET_ARCH)-linux.so
+vg_local_module := vgpreload_lackey
+vg_local_module_class := SHARED_LIBRARIES
+vg_local_target := SHARED_LIBRARY
+vg_local_src_files :=
+vg_local_ldflags := $(preload_ldflags)
+vg_local_cflags := $(common_cflags)
+include $(LOCAL_PATH)/Android.build_all.mk
+
 # Build none-$(TARGET_ARCH)-linux
 vg_local_module := none
 vg_local_module_class := SHARED_LIBRARIES
@@ -600,6 +621,19 @@
 
 include $(BUILD_EXECUTABLE)
 
+# Build standalone vgdb
+include $(CLEAR_VARS)
+LOCAL_MODULE := vgdb
+LOCAL_ARM_MODE := arm
+LOCAL_SRC_FILES := \
+	coregrind/vgdb.c \
+	coregrind/vgdb-invoker-none.c
+
+LOCAL_C_INCLUDES := $(common_includes)
+LOCAL_CFLAGS := $(common_cflags)
+LOCAL_CFLAGS_$(TARGET_ARCH) = $(target_arch_cflags)
+include $(BUILD_EXECUTABLE)
+
 # Build valgrind for linux host
 ifeq ($(HOST_OS), linux)
 include $(CLEAR_VARS)