##############################################################################
##############################################################################
###
###  emulator-$ARCH: Standalone launcher for QEMU executable.
###
###

# Check EMULATOR_TARGET_CPU value and determine
# corresponding TARGET_XXX macro at the same time

EMULATOR_TARGET_CPU := $(EMULATOR_TARGET_ARCH)
ifeq ($(EMULATOR_TARGET_CPU),x86)
  EMULATOR_TARGET_CPU := i386
endif

TARGET_VARNAME_arm64  := TARGET_ARM64
TARGET_VARNAME_mips64 := TARGET_MIPS64
ifeq (,$(strip $(TARGET_VARNAME_$(EMULATOR_TARGET_CPU))))
  $(error Unrecognized EMULATOR_TARGET_CPU value: [$(EMULATOR_TARGET_CPU)])
endif

qemu_launcher_SOURCES := \
    android/qemu-launcher/emulator-qemu.cpp \
    android/cmdline-option.c \
    android/cpu_accelerator.cpp \
    android/help.c \
    android/main-common.c \

qemu_launcher_CFLAGS := \
    -DNO_SKIN=1 \
    -D$(TARGET_VARNAME_$(EMULATOR_TARGET_CPU))=1 \
    -I$(OBJS_DIR)

qemu_launcher_LDLIBS := -lstdc++

$(call start-emulator-program, emulator-ranchu-$(EMULATOR_TARGET_CPU))
LOCAL_SRC_FILES := $(qemu_launcher_SOURCES)
LOCAL_CFLAGS := $(qemu_launcher_CFLAGS)
LOCAL_STATIC_LIBRARIES := \
    emulator-common \
    emulator-libext4_utils \
    emulator-libsparse \
    emulator-libselinux \
    emulator-zlib
LOCAL_LDLIBS := $(qemu_launcher_LDLIBS)
$(call gen-hw-config-defs)

ifeq ($(HOST_OS),windows)
$(eval $(call insert-windows-icon))
endif

$(call end-emulator-program)

$(call start-emulator64-program, emulator64-ranchu-$(EMULATOR_TARGET_CPU))
LOCAL_SRC_FILES := $(qemu_launcher_SOURCES)
LOCAL_CFLAGS := $(qemu_launcher_CFLAGS)
LOCAL_STATIC_LIBRARIES := \
    emulator64-common \
    emulator64-libext4_utils \
    emulator64-libsparse \
    emulator64-libselinux \
    emulator64-zlib
LOCAL_LDLIBS := $(qemu_launcher_LDLIBS)
$(call gen-hw-config-defs)

ifeq ($(HOST_OS),windows)
$(eval $(call insert-windows-icon))
endif

$(call end-emulator-program)
