Refine the makefiles.

* Introduce libbcc.mk which defines the path for makefiles and libbcc
  configuration.
* Introduce libbcc-{device,host}-build.mk which defines the build
  flags for building libbcc itself and/or for building module using
  libbcc.
* Add header guard for generated ConfigFromMk.h.
diff --git a/lib/Disassembler/Android.mk b/lib/Disassembler/Android.mk
index 1d925ed..3886b33 100644
--- a/lib/Disassembler/Android.mk
+++ b/lib/Disassembler/Android.mk
@@ -16,7 +16,6 @@
 #
 
 LOCAL_PATH := $(call my-dir)
-include $(LOCAL_PATH)/../../libbcc-config.mk
 
 ifeq ($(libbcc_USE_DISASSEMBLER),1)
 
@@ -37,13 +36,12 @@
 LOCAL_MODULE := libbccDisassembler
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
-LOCAL_CFLAGS += $(libbcc_CFLAGS)
-LOCAL_C_INCLUDES := $(libbcc_C_INCLUDES)
+
 LOCAL_SRC_FILES := $(libbcc_disassembler_SRC_FILES)
 
-include $(LIBBCC_ROOT_PATH)/libbcc-gen-config-from-mk.mk
-include $(LIBBCC_ROOT_PATH)/libbcc-build-rules.mk
-include $(LLVM_ROOT_PATH)/llvm-device-build.mk
+include $(LIBBCC_DEVICE_BUILD_MK)
+include $(LIBBCC_GEN_CONFIG_MK)
+include $(LLVM_DEVICE_BUILD_MK)
 include $(BUILD_STATIC_LIBRARY)
 
 
@@ -58,15 +56,11 @@
 LOCAL_MODULE_CLASS := STATIC_LIBRARIES
 LOCAL_IS_HOST_MODULE := true
 
-LOCAL_CFLAGS += $(libbcc_CFLAGS)
-LOCAL_CFLAGS += -D__HOST__
-LOCAL_C_INCLUDES := $(libbcc_C_INCLUDES)
-
 LOCAL_SRC_FILES := $(libbcc_disassembler_SRC_FILES)
 
-include $(LIBBCC_ROOT_PATH)/libbcc-gen-config-from-mk.mk
-include $(LIBBCC_ROOT_PATH)/libbcc-build-rules.mk
-include $(LLVM_ROOT_PATH)/llvm-host-build.mk
+include $(LIBBCC_HOST_BUILD_MK)
+include $(LIBBCC_GEN_CONFIG_MK)
+include $(LLVM_HOST_BUILD_MK)
 include $(BUILD_HOST_STATIC_LIBRARY)
 
 endif # $(libbcc_USE_DISASSEMBLER)