diff --git a/Config.h b/Config.h
index 63bcc1d..4141491 100644
--- a/Config.h
+++ b/Config.h
@@ -54,45 +54,37 @@
 // Configuration for CodeGen and CompilerRT
 //---------------------------------------------------------------------------
 
-#if defined(__arm__)
-  #define DEFAULT_ARM_CODEGEN
-  #define PROVIDE_ARM_CODEGEN
-#elif defined(__i386__)
-  #define DEFAULT_X86_CODEGEN
-  #define PROVIDE_X86_CODEGEN
-#elif defined(__x86_64__)
-  #define DEFAULT_X64_CODEGEN
-  #define PROVIDE_X64_CODEGEN
-#endif
-
 #if defined(FORCE_ARM_CODEGEN)
-  #define DEFAULT_ARM_CODEGEN
-  #undef DEFAULT_X86_CODEGEN
-  #undef DEFAULT_X64_CODEGEN
   #define PROVIDE_ARM_CODEGEN
-  #undef PROVIDE_X86_CODEGEN
-  #undef PROVIDE_X64_CODEGEN
+  #define DEFAULT_ARM_CODEGEN
+
 #elif defined(FORCE_X86_CODEGEN)
-  #undef DEFAULT_ARM_CODEGEN
-  #define DEFAULT_X86_CODEGEN
-  #undef DEFAULT_X64_CODEGEN
-  #undef PROVIDE_ARM_CODEGEN
   #define PROVIDE_X86_CODEGEN
-  #undef PROVIDE_X64_CODEGEN
-#elif defined(FORCE_X64_CODEGEN)
-  #undef DEFAULT_ARM_CODEGEN
-  #undef DEFAULT_X86_CODEGEN
-  #define DEFAULT_X64_CODEGEN
-  #undef PROVIDE_ARM_CODEGEN
-  #undef PROVIDE_X86_CODEGEN
-  #define PROVIDE_X64_CODEGEN
+
+  #if defined(__i386__)
+    #define DEFAULT_X86_CODEGEN
+  #elif defined(__x86_64__)
+    #define DEFAULT_X86_64_CODEGEN
+  #endif
+
+#else
+  #define PROVIDE_ARM_CODEGEN
+  #define PROVIDE_X86_CODEGEN
+
+  #if defined(__arm__)
+    #define DEFAULT_ARM_CODEGEN
+  #elif defined(__i386__)
+    #define DEFAULT_X86_CODEGEN
+  #elif defined(__x86_64__)
+    #define DEFAULT_X86_64_CODEGEN
+  #endif
 #endif
 
 #if defined(DEFAULT_ARM_CODEGEN)
   #define TARGET_TRIPLE_STRING "armv7-none-linux-gnueabi"
 #elif defined(DEFAULT_X86_CODEGEN)
   #define TARGET_TRIPLE_STRING "i686-unknown-linux"
-#elif defined(DEFAULT_X64_CODEGEN)
+#elif defined(DEFAULT_X86_64_CODEGEN)
   #define TARGET_TRIPLE_STRING "x86_64-unknown-linux"
 #endif
 
diff --git a/helper/Android.mk b/helper/Android.mk
index fd4a873..b19c131 100644
--- a/helper/Android.mk
+++ b/helper/Android.mk
@@ -35,6 +35,7 @@
 LOCAL_SRC_FILES := sha1.c
 
 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 $(BUILD_STATIC_LIBRARY)
 
@@ -58,5 +59,6 @@
   sha1.c
 
 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 $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/lib/CodeGen/Android.mk b/lib/CodeGen/Android.mk
index 60fc6ca..1e293b2 100644
--- a/lib/CodeGen/Android.mk
+++ b/lib/CodeGen/Android.mk
@@ -43,6 +43,7 @@
 LOCAL_SRC_FILES := $(libbcc_codegen_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 $(BUILD_STATIC_LIBRARY)
 
@@ -64,6 +65,7 @@
 LOCAL_SRC_FILES := $(libbcc_codegen_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 $(BUILD_HOST_STATIC_LIBRARY)
 
diff --git a/lib/Disassembler/Android.mk b/lib/Disassembler/Android.mk
index 701f606..1b5ff4d 100644
--- a/lib/Disassembler/Android.mk
+++ b/lib/Disassembler/Android.mk
@@ -42,6 +42,7 @@
 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 $(BUILD_STATIC_LIBRARY)
 
@@ -63,6 +64,7 @@
 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 $(BUILD_HOST_STATIC_LIBRARY)
 
diff --git a/lib/Disassembler/Disassembler.cpp b/lib/Disassembler/Disassembler.cpp
index 8a2cf2c..d0e6000 100644
--- a/lib/Disassembler/Disassembler.cpp
+++ b/lib/Disassembler/Disassembler.cpp
@@ -67,12 +67,11 @@
 namespace bcc {
 
 void InitializeDisassembler() {
-#if defined(DEFAULT_ARM_CODEGEN) || defined(PROVIDE_ARM_CODEGEN)
+#if defined(PROVIDE_ARM_CODEGEN)
   LLVMInitializeARMDisassembler();
 #endif
 
-#if defined(DEFAULT_X86_CODEGEN) || defined(PROVIDE_X86_CODEGEN) || \
-    defined(DEFAULT_X64_CODEGEN) || defined(PROVIDE_X64_CODEGEN)
+#if defined(PROVIDE_X86_CODEGEN)
   LLVMInitializeX86Disassembler();
 #endif
 }
diff --git a/lib/ExecutionEngine/Android.mk b/lib/ExecutionEngine/Android.mk
index e849827..695a975 100644
--- a/lib/ExecutionEngine/Android.mk
+++ b/lib/ExecutionEngine/Android.mk
@@ -72,6 +72,7 @@
 LOCAL_SRC_FILES := $(libbcc_executionengine_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 $(BUILD_STATIC_LIBRARY)
 
@@ -93,5 +94,6 @@
 LOCAL_SRC_FILES := $(libbcc_executionengine_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 $(BUILD_HOST_STATIC_LIBRARY)
diff --git a/lib/ExecutionEngine/Compiler.cpp b/lib/ExecutionEngine/Compiler.cpp
index ebf6912..a26c1c3 100644
--- a/lib/ExecutionEngine/Compiler.cpp
+++ b/lib/ExecutionEngine/Compiler.cpp
@@ -129,10 +129,8 @@
   // Set Triple, CPU and Features here
   Triple = TARGET_TRIPLE_STRING;
 
-  // NOTE: Currently, we have to turn off the support for NEON explicitly.
-  // Since the ARMCodeEmitter.cpp is not ready for JITing NEON
-  // instructions.
-#if defined(DEFAULT_ARM_CODEGEN) || defined(PROVIDE_ARM_CODEGEN)
+#if defined(DEFAULT_ARM_CODEGEN)
+
 #if defined(ARCH_ARM_HAVE_VFP)
   Features.push_back("+vfp3");
 #if !defined(ARCH_ARM_HAVE_VFP_D32)
@@ -140,15 +138,22 @@
 #endif
 #endif
 
-// FIXME - Temporarily disable NEON
-#if 0 && defined(ARCH_ARM_HAVE_NEON)
+  // NOTE: Currently, we have to turn off the support for NEON explicitly.
+  // Since the ARMCodeEmitter.cpp is not ready for JITing NEON
+  // instructions.
+
+  // FIXME: Re-enable NEON when ARMCodeEmitter supports NEON.
+#define USE_ARM_NEON 0
+#if USE_ARM_NEON
   Features.push_back("+neon");
   Features.push_back("+neonfp");
 #else
   Features.push_back("-neon");
   Features.push_back("-neonfp");
-#endif
+#endif // USE_ARM_NEON
+#endif // DEFAULT_ARM_CODEGEN
 
+#if defined(PROVIDE_ARM_CODEGEN)
   LLVMInitializeARMMCAsmInfo();
   LLVMInitializeARMMCCodeGenInfo();
   LLVMInitializeARMMCSubtargetInfo();
@@ -157,8 +162,7 @@
   LLVMInitializeARMTarget();
 #endif
 
-#if defined(DEFAULT_X86_CODEGEN) || defined(PROVIDE_X86_CODEGEN) || \
-    defined(DEFAULT_X64_CODEGEN) || defined(PROVIDE_X64_CODEGEN)
+#if defined(PROVIDE_X86_CODEGEN)
   LLVMInitializeX86MCAsmInfo();
   LLVMInitializeX86MCCodeGenInfo();
   LLVMInitializeX86MCSubtargetInfo();
@@ -193,7 +197,7 @@
   llvm::FloatABIType = llvm::FloatABI::Soft;
   llvm::UseSoftFloat = false;
 
-#if defined(DEFAULT_X64_CODEGEN)
+#if defined(DEFAULT_X86_64_CODEGEN)
   // Data address in X86_64 architecture may reside in a far-away place
   llvm::TargetMachine::setCodeModel(llvm::CodeModel::Medium);
 #else
diff --git a/libbcc-build-rules.mk b/libbcc-build-rules.mk
new file mode 100644
index 0000000..898002c
--- /dev/null
+++ b/libbcc-build-rules.mk
@@ -0,0 +1,47 @@
+#
+# Copyright (C) 2011 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+
+#=====================================================================
+# Architecture Selection
+#=====================================================================
+
+ifeq ($(LOCAL_IS_HOST_MODULE),) # Target Build
+
+  # Note: We should only use -DFORCE_ARCH_CODEGEN on target build.
+  # For the host build, we will include as many architecture as possible,
+  # so that we can test the execution engine easily.
+
+  ifeq ($(TARGET_ARCH),arm)
+    LOCAL_CFLAGS += -DFORCE_ARM_CODEGEN
+    ifeq ($(ARCH_ARM_HAVE_VFP),true)
+      LOCAL_CFLAGS += -DARCH_ARM_HAVE_VFP
+      ifeq ($(ARCH_ARM_HAVE_VFP_D32),true)
+        LOCAL_CFLAGS += -DARCH_ARM_HAVE_VFP_D32
+      endif
+    endif
+    ifeq ($(ARCH_ARM_HAVE_NEON),true)
+      LOCAL_CFLAGS += -DARCH_ARM_HAVE_NEON
+    endif
+  else
+    ifeq ($(TARGET_ARCH),x86)
+      LOCAL_CFLAGS += -DFORCE_X86_CODEGEN
+    else
+      $(error Unsupported architecture $(TARGET_ARCH))
+    endif
+  endif
+
+endif
diff --git a/libbcc-config.mk b/libbcc-config.mk
index f5c9eff..43c7897 100644
--- a/libbcc-config.mk
+++ b/libbcc-config.mk
@@ -70,25 +70,6 @@
 libbcc_CFLAGS += -D__DISABLE_ASSERTS
 endif
 
-ifeq ($(TARGET_ARCH),arm)
-  libbcc_CFLAGS += -DFORCE_ARM_CODEGEN=1
-  ifeq (true,$(ARCH_ARM_HAVE_VFP))
-    libbcc_CFLAGS += -DARCH_ARM_HAVE_VFP
-    ifeq (true,$(ARCH_ARM_HAVE_VFP_D32))
-      libbcc_CFLAGS += -DARCH_ARM_HAVE_VFP_D32
-    endif
-  endif
-  ifeq (true,$(ARCH_ARM_HAVE_NEON))
-    libbcc_CFLAGS += -DARCH_ARM_HAVE_NEON
-  endif
-else
-  ifeq ($(TARGET_ARCH),x86)
-    libbcc_CFLAGS += -DFORCE_X86_CODEGEN=1
-  else
-    $(error Unsupported TARGET_ARCH $(TARGET_ARCH))
-  endif
-endif
-
 # Include File Search Path
 libbcc_C_INCLUDES := \
   $(RSLOADER_ROOT_PATH)/android \
diff --git a/runtime/Android.mk b/runtime/Android.mk
index bb2ff0f..39e662a 100644
--- a/runtime/Android.mk
+++ b/runtime/Android.mk
@@ -86,4 +86,5 @@
   endif
 endif
 
+include $(LIBBCC_ROOT_PATH)/libbcc-build-rules.mk
 include $(BUILD_STATIC_LIBRARY)
