aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile.target
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile.target')
-rw-r--r--Makefile.target60
1 files changed, 47 insertions, 13 deletions
diff --git a/Makefile.target b/Makefile.target
index 5b4ec5f..608761c 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -1,6 +1,6 @@
# This file is included several times to build target-specific
# modules for the Android emulator. It will be called several times
-# (e.g. once for the arm target, and once for the x86 target).
+# for arm, x86 and mips
#
ifndef EMULATOR_TARGET_ARCH
@@ -26,7 +26,7 @@ EMULATOR_TARGET_CFLAGS := \
-I$(LOCAL_PATH)/android/config/target-$(EMULATOR_TARGET_ARCH) \
-I$(LOCAL_PATH)/target-$(EMULATOR_TARGET_CPU) \
-I$(LOCAL_PATH)/fpu \
- -DNEED_CPU_H \
+ -DNEED_CPU_H
TCG_TARGET := $(HOST_ARCH)
ifeq ($(HOST_ARCH),x86)
@@ -96,7 +96,7 @@ HW_SOURCES += android_arm.c \
goldfish_switch.c \
goldfish_timer.c \
goldfish_trace.c \
- arm_boot.c \
+ arm_boot.c
# The following sources must be compiled with the final executables
# because they contain device_init() or machine_init() statements.
@@ -135,6 +135,31 @@ HW_OBJ_CFLAGS := $(EMULATOR_TARGET_CFLAGS)
endif
+ifeq ($(EMULATOR_TARGET_ARCH),mips)
+HW_SOURCES += \
+ android_mips.c \
+ mips_pic.c \
+ goldfish_interrupt.c \
+ goldfish_switch.c \
+ goldfish_timer.c \
+ goldfish_trace.c \
+ mips_timer.c \
+ mips_int.c
+
+# The following sources must be compiled with the final executables
+# because they contain device_init() or machine_init() statements.
+HW_OBJ_SOURCES := hw/smc91c111.c
+HW_OBJ_CFLAGS := $(EMULATOR_TARGET_CFLAGS)
+
+common_LOCAL_SRC_FILES += mips-dis.c
+
+# smc91c111.c requires <zlib.h>
+LOCAL_CFLAGS += $(ZLIB_CFLAGS)
+ifeq ($(ARCH_HAS_BIGENDIAN),true)
+ LOCAL_CFLAGS += -DTARGET_WORDS_BIGENDIAN
+endif
+
+endif
common_LOCAL_SRC_FILES += $(HW_SOURCES:%=hw/%)
common_LOCAL_SRC_FILES += \
@@ -143,7 +168,7 @@ common_LOCAL_SRC_FILES += \
translate-all.c \
trace.c \
varint.c \
- softmmu_outside_jit.c \
+ softmmu_outside_jit.c
##############################################################################
# CPU-specific emulation.
@@ -165,7 +190,7 @@ common_LOCAL_SRC_FILES += \
target-arm/machine.c \
hw/armv7m.c \
hw/armv7m_nvic.c \
- arm-semi.c \
+ arm-semi.c
common_LOCAL_SRC_FILES += fpu/softfloat.c
endif
@@ -192,6 +217,16 @@ endif
common_LOCAL_SRC_FILES += fpu/softfloat-native.c
endif
+ifeq ($(EMULATOR_TARGET_ARCH), mips)
+common_LOCAL_SRC_FILES += \
+ target-mips/op_helper.c \
+ target-mips/helper.c \
+ target-mips/translate.c \
+ target-mips/machine.c
+
+common_LOCAL_SRC_FILES += fpu/softfloat.c
+endif
+
# compile KVM only if target is x86 on x86 Linux
QEMU_KVM_TAG := $(QEMU_HOST_TAG)-$(EMULATOR_TARGET_ARCH)
QEMU_DO_KVM := $(if $(filter linux-x86-x86 linux-x86_64-x86,$(QEMU_KVM_TAG)),true,false)
@@ -220,7 +255,7 @@ MCHK_SOURCES := \
memcheck_proc_management.c \
memcheck_malloc_map.c \
memcheck_mmrange_map.c \
- memcheck_util.c \
+ memcheck_util.c
common_LOCAL_SRC_FILES += $(MCHK_SOURCES:%=memcheck/%)
@@ -272,7 +307,7 @@ LOCAL_CFLAGS += \
$(ELFF_CFLAGS) \
$(EMULATOR_LIBQEMU_CFLAGS) \
$(EMULATOR_TARGET_CFLAGS) \
- -DCONFIG_STANDALONE_CORE \
+ -DCONFIG_STANDALONE_CORE
ifneq ($(QEMU_OPENGLES_INCLUDE),)
LOCAL_CFLAGS += -I$(QEMU_OPENGLES_INCLUDE)
@@ -284,13 +319,12 @@ LOCAL_STATIC_LIBRARIES := \
emulator-libqemu \
emulator-target-$(EMULATOR_TARGET_CPU) \
emulator-libelff \
- emulator-common \
-
+ emulator-common
LOCAL_LDLIBS += \
$(EMULATOR_COMMON_LDLIBS) \
$(EMULATOR_LIBQEMU_LDLIBS) \
- $(ELFF_LDLIBS) \
+ $(ELFF_LDLIBS)
LOCAL_SRC_FILES := \
audio/audio.c \
@@ -312,7 +346,7 @@ LOCAL_SRC_FILES := \
android/protocol/user-events-impl.c \
android/protocol/ui-commands-proxy.c \
android/protocol/core-commands-impl.c \
- android/protocol/core-commands-qemu.c \
+ android/protocol/core-commands-qemu.c
$(call gen-hx-header,qemu-monitor.hx,qemu-monitor.h,monitor.c)
$(call gen-hx-header,qemu-options.hx,qemu-options.def,vl-android.c qemu-options.h)
@@ -360,13 +394,13 @@ common_LOCAL_STATIC_LIBRARIES := \
emulator-libqemu \
emulator-target-$(EMULATOR_TARGET_CPU) \
emulator-libelff \
- emulator-common \
+ emulator-common
common_LOCAL_LDLIBS += \
$(EMULATOR_COMMON_LDLIBS) \
$(EMULATOR_LIBQEMU_LDLIBS) \
$(EMULATOR_LIBUI_LDLIBS) \
- $(ELFF_LDLIBS) \
+ $(ELFF_LDLIBS)
common_LOCAL_CFLAGS += \
$(EMULATOR_TARGET_CFLAGS) \