build: New Android makefiles

These form the basis of the new Android build system.

v2: As suggested by Daniel Vetter, modify compilation flags to
not error on return-type and not warn on sign-compare.

Signed-off-by: Oscar Mateo <oscar.mateo@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
diff --git a/tools/Android.mk b/tools/Android.mk
new file mode 100644
index 0000000..4a19b6c
--- /dev/null
+++ b/tools/Android.mk
@@ -0,0 +1,70 @@
+include $(LOCAL_PATH)/tools/Makefile.sources
+include $(LOCAL_PATH)/lib/Makefile.sources
+
+LIBPCIACCESS_PATH := $(firstword $(wildcard  \
+   $(TOP)/external/PRIVATE/libpciaccess      \
+   $(TOP)/hardware/intel/libpciaccess        \
+   $(TOP)/external/libpciaccess))
+ifeq ($(LIBPCIACCESS_PATH),)
+   $(error "Unable to find libpciaccess!")
+endif
+
+LIBDRM_PATH := $(firstword $(wildcard  \
+   $(TOP)/external/PRIVATE/drm         \
+   $(TOP)/external/drm))
+ifeq ($(LIBDRM_PATH),)
+   $(error "Unable to find libdrm!")
+endif
+
+skip_lib_list := \
+    igt_kms.c \
+    igt_kms.h
+
+lib_list := $(filter-out $(skip_lib_list),$(libintel_tools_la_SOURCES))
+LIB_SOURCES := $(addprefix lib/,$(lib_list))
+
+#================#
+
+define add_tool
+    include $(CLEAR_VARS)
+
+    LOCAL_SRC_FILES :=          \
+       tools/$1.c               \
+       $(LIB_SOURCES)
+
+    LOCAL_C_INCLUDES +=              \
+       $(LOCAL_PATH)/lib             \
+       $(LIBDRM_PATH)/include/drm    \
+       $(LIBDRM_PATH)/intel          \
+       $(LIBPCIACCESS_PATH)/include
+
+    LOCAL_CFLAGS += -DHAVE_TERMIOS_H
+    LOCAL_CFLAGS += -DHAVE_STRUCT_SYSINFO_TOTALRAM
+    LOCAL_CFLAGS += -DANDROID
+    LOCAL_CFLAGS += -std=c99
+    # FIXME: drop once Bionic correctly annotates "noreturn" on pthread_exit
+    LOCAL_CFLAGS += -Wno-error=return-type
+    # Excessive complaining for established cases. Rely on the Linux version warnings.
+    LOCAL_CFLAGS += -Wno-sign-compare
+
+    LOCAL_MODULE := $1
+    LOCAL_MODULE_TAGS := optional
+
+    LOCAL_SHARED_LIBRARIES := libpciaccess  \
+                              libdrm        \
+                              libdrm_intel
+
+    include $(BUILD_EXECUTABLE)
+endef
+
+#================#
+
+skip_tools_list := \
+    intel_framebuffer_dump \
+    intel_reg_dumper \
+    intel_vga_read \
+    intel_vga_write
+
+tools_list := $(filter-out $(skip_tools_list),$(bin_PROGRAMS) $(noinst_PROGRAMS))
+
+$(foreach item,$(tools_list),$(eval $(call add_tool,$(item))))