Initial pass at adding X86 target support

Add some Makefile support for using X86 as a target as in "full_x86-eng"
However, this is not enough. More changes will be coming in future
changelists.

Change-Id: Id2765c9ba15404ebce09168738cebf5d00a2e15d
diff --git a/lib/Target/X86/Android.mk b/lib/Target/X86/Android.mk
index f2604cd..8dbca01 100644
--- a/lib/Target/X86/Android.mk
+++ b/lib/Target/X86/Android.mk
@@ -1,44 +1,45 @@
 LOCAL_PATH := $(call my-dir)
 
-# For the host only
+x86_codegen_TBLGEN_TABLES :=	\
+    X86GenRegisterInfo.h.inc	\
+    X86GenRegisterNames.inc	\
+    X86GenRegisterInfo.inc	\
+    X86GenInstrNames.inc	\
+    X86GenInstrInfo.inc	\
+    X86GenDAGISel.inc	\
+    X86GenFastISel.inc	\
+    X86GenSubtarget.inc	\
+    X86GenCallingConv.inc
+
+x86_codegen_SRC_FILES :=	\
+    SSEDomainFix.cpp	\
+    X86AsmBackend.cpp	\
+    X86COFFMachineModuleInfo.cpp	\
+    X86CodeEmitter.cpp	\
+    X86ELFWriterInfo.cpp	\
+    X86FastISel.cpp	\
+    X86FloatingPoint.cpp	\
+    X86ISelDAGToDAG.cpp	\
+    X86ISelLowering.cpp	\
+    X86InstrInfo.cpp	\
+    X86JITInfo.cpp	\
+    X86MCAsmInfo.cpp	\
+    X86MCCodeEmitter.cpp	\
+    X86MCInstLower.cpp	\
+    X86RegisterInfo.cpp	\
+    X86SelectionDAGInfo.cpp	\
+    X86Subtarget.cpp	\
+    X86TargetMachine.cpp	\
+    X86TargetObjectFile.cpp
+
+# For the host
 # =====================================================
 include $(CLEAR_VARS)
 include $(CLEAR_TBLGEN_VARS)
 
-TBLGEN_TABLES :=	\
-  	X86GenRegisterInfo.h.inc	\
-	X86GenRegisterNames.inc \
-    X86GenRegisterInfo.inc	\
-	X86GenInstrNames.inc	\
-    X86GenInstrInfo.inc	\
-	X86GenAsmMatcher.inc	\
-	X86GenDAGISel.inc	\
-    X86GenDisassemblerTables.inc	\
-	X86GenFastISel.inc	\
-    X86GenCallingConv.inc	\
-	X86GenSubtarget.inc	\
-    X86GenEDInfo.inc
+TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES)
 
-LOCAL_SRC_FILES :=	\
-	SSEDomainFix.cpp	\
-	X86AsmBackend.cpp	\
-	X86COFFMachineModuleInfo.cpp	\
-	X86CodeEmitter.cpp	\
-	X86ELFWriterInfo.cpp	\
-	X86FastISel.cpp	\
-	X86FloatingPoint.cpp	\
-	X86ISelDAGToDAG.cpp	\
-	X86ISelLowering.cpp	\
-	X86InstrInfo.cpp	\
-	X86JITInfo.cpp	\
-	X86MCAsmInfo.cpp	\
-	X86MCCodeEmitter.cpp	\
-        X86MCInstLower.cpp  \
-	X86RegisterInfo.cpp	\
-        X86SelectionDAGInfo.cpp     \
-	X86Subtarget.cpp	\
-	X86TargetMachine.cpp	\
-	X86TargetObjectFile.cpp
+LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES)
 
 LOCAL_MODULE:= libLLVMX86CodeGen
 
@@ -48,3 +49,23 @@
 include $(LLVM_TBLGEN_RULES_MK)
 include $(LLVM_GEN_INTRINSICS_MK)
 include $(BUILD_HOST_STATIC_LIBRARY)
+
+# For the device only
+# =====================================================
+ifeq ($(TARGET_ARCH),x86)
+include $(CLEAR_VARS)
+include $(CLEAR_TBLGEN_VARS)
+
+TBLGEN_TABLES := $(x86_codegen_TBLGEN_TABLES)
+
+LOCAL_SRC_FILES := $(x86_codegen_SRC_FILES)
+
+LOCAL_MODULE:= libLLVMX86CodeGen
+
+LOCAL_MODULE_TAGS := optional
+
+include $(LLVM_DEVICE_BUILD_MK)
+include $(LLVM_TBLGEN_RULES_MK)
+include $(LLVM_GEN_INTRINSICS_MK)
+include $(BUILD_STATIC_LIBRARY)
+endif