diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | Makefile.android | 29 | ||||
-rw-r--r-- | Makefile.target | 6 |
3 files changed, 36 insertions, 1 deletions
@@ -1,4 +1,4 @@ -images/android_icon.o +images/emulator_icon.o objs/* *.*~ diff --git a/Makefile.android b/Makefile.android index f5c008b..797bb71 100644 --- a/Makefile.android +++ b/Makefile.android @@ -219,6 +219,31 @@ endif include $(LOCAL_PATH)/Makefile.common +ifeq ($(HOST_OS),windows) + # on Windows, link the icon file as well into the executable + # unfortunately, our build system doesn't help us much, so we need + # to use some weird pathnames to make this work... + + # Locate windres executable + WINDRES := windres + ifneq ($(USE_MINGW),) + # When building the Windows emulator under Linux, use the MinGW one + WINDRES := i586-mingw32msvc-windres + endif + + # Usage: $(eval $(call insert-windows-icon)) + define insert-windows-icon + LOCAL_PREBUILT_OBJ_FILES += images/emulator_icon.o + endef + +# This seems to be the only way to add an object file that was not generated from +# a C/C++/Java source file to our build system. and very unfortunately, +# $(TOPDIR)/$(LOCALPATH) will always be prepended to this value, which forces +# us to put the object file in the source directory. +$(LOCAL_PATH)/images/emulator_icon.o: $(LOCAL_PATH)/images/android_icon.rc + $(WINDRES) $< -I $(LOCAL_PATH)/images -o $@ +endif + # We want to build all variants of the emulator binaries. This makes # it easier to catch target-specific regressions during emulator development. EMULATOR_TARGET_ARCH := arm @@ -238,6 +263,10 @@ $(call start-emulator-program, emulator) LOCAL_SRC_FILES := android/main-emulator.c LOCAL_STATIC_LIBRARIES := emulator-common +ifeq ($(HOST_OS),windows) +$(eval $(call insert-windows-icon)) +endif + $(call end-emulator-program) ############################################################################## diff --git a/Makefile.target b/Makefile.target index e8a41f4..5b4ec5f 100644 --- a/Makefile.target +++ b/Makefile.target @@ -432,6 +432,11 @@ LOCAL_SRC_FILES += $(common_LOCAL_SRC_FILES) $(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) $(call gen-hw-config-defs) + +ifeq ($(HOST_OS),windows) +$(eval $(call insert-windows-icon)) +endif + $(call end-emulator-program) @@ -455,3 +460,4 @@ ifeq ($(HOST_OS),linux) $(call end-emulator-program) endif # BUILD_STANDALONE_EMULATOR == nil endif # HOST_OS == linux + |