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.

Change-Id: I892f6d3637f628ea6aa0116d92ebc54770ce3a47
diff --git a/Android.mk b/Android.mk
index cb9ec67..5d568e5 100644
--- a/Android.mk
+++ b/Android.mk
@@ -15,8 +15,8 @@
 #
 
 LOCAL_PATH := $(call my-dir)
-include $(LOCAL_PATH)/libbcc-config.mk
-
+LIBBCC_ROOT_PATH := $(LOCAL_PATH)
+include $(LIBBCC_ROOT_PATH)/libbcc.mk
 
 #=====================================================================
 # Whole Static Library to Be Linked In
@@ -64,11 +64,6 @@
 LOCAL_MODULE_TAGS := optional
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 
-LOCAL_CFLAGS := $(libbcc_CFLAGS)
-LOCAL_C_INCLUDES := $(libbcc_C_INCLUDES)
-
-LOCAL_SRC_FILES := lib/ExecutionEngine/bcc.cpp
-
 LOCAL_WHOLE_STATIC_LIBRARIES := $(libbcc_WHOLE_STATIC_LIBRARIES)
 
 ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm x86))
@@ -162,10 +157,9 @@
 LOCAL_LDFLAGS += -Wl,--exclude-libs=libLLVMARMDisassembler:libLLVMARMAsmPrinter:libLLVMX86Disassembler:libLLVMX86AsmPrinter:libLLVMMCParser:libLLVMARMCodeGen:libLLVMARMDesc:libLLVMARMInfo:libLLVMSelectionDAG:libLLVMAsmPrinter:libLLVMCodeGen:libLLVMLinker:libLLVMTarget:libLLVMMC:libLLVMScalarOpts:libLLVMInstCombine:libLLVMipo:libLLVMipa:libLLVMTransformUtils:libLLVMAnalysis
 
 # Generate build stamp (Build time + Build git revision + Build Semi SHA1)
-include $(LOCAL_PATH)/libbcc-gen-build-stamp.mk
+include $(LIBBCC_ROOT_PATH)/libbcc-gen-build-stamp.mk
 
-include $(LIBBCC_ROOT_PATH)/libbcc-gen-config-from-mk.mk
-include $(LLVM_ROOT_PATH)/llvm-device-build.mk
+include $(LIBBCC_DEVICE_BUILD_MK)
 include $(BUILD_SHARED_LIBRARY)
 
 
@@ -180,12 +174,6 @@
 LOCAL_MODULE_CLASS := SHARED_LIBRARIES
 LOCAL_IS_HOST_MODULE := true
 
-LOCAL_CFLAGS := $(libbcc_CFLAGS)
-LOCAL_CFLAGS += -D__HOST__
-LOCAL_C_INCLUDES := $(libbcc_C_INCLUDES)
-
-LOCAL_SRC_FILES := lib/ExecutionEngine/bcc.cpp
-
 LOCAL_WHOLE_STATIC_LIBRARIES += $(libbcc_WHOLE_STATIC_LIBRARIES)
 
 LOCAL_STATIC_LIBRARIES += librsloader
@@ -243,10 +231,9 @@
 LOCAL_LDLIBS := -ldl -lpthread
 
 # Generate build stamp (Build time + Build git revision + Build Semi SHA1)
-include $(LOCAL_PATH)/libbcc-gen-build-stamp.mk
+include $(LIBBCC_ROOT_PATH)/libbcc-gen-build-stamp.mk
 
-include $(LIBBCC_ROOT_PATH)/libbcc-gen-config-from-mk.mk
-include $(LLVM_ROOT_PATH)/llvm-host-build.mk
+include $(LIBBCC_HOST_BUILD_MK)
 include $(BUILD_HOST_SHARED_LIBRARY)