On Thu, Dec 22, 2011 at 18:20, Stefan Weil <s...@weilnetz.de> wrote:
> System emulation executables with SDL are typically windows
> executables. Sometimes console executables are more useful,
> so create both variants if linker option -mwindows was detected.
>
> v2:
> This version uses QEMU_PROGW / QEMU_PROG instead of QEMU_PROG / QEMU_PROGC.
>
> Signed-off-by: Stefan Weil <s...@weilnetz.de>
> ---
> Makefile.target | 16 +++++++++++++++-
> 1 files changed, 15 insertions(+), 1 deletions(-)
>
> diff --git a/Makefile.target b/Makefile.target
> index 3261383..0182e41 100644
> --- a/Makefile.target
> +++ b/Makefile.target
> @@ -27,10 +27,17 @@ ifdef CONFIG_USER_ONLY
> QEMU_PROG=qemu-$(TARGET_ARCH2)
> else
> # system emulator name
> +ifneq (,$(findstring -mwindows,$(LIBS)))
> +# Terminate program name with a 'w' because the linker builds a windows
> executable.
> +QEMU_PROGW=qemu-system-$(TARGET_ARCH2)w$(EXESUF)
> +endif # windows executable
> QEMU_PROG=qemu-system-$(TARGET_ARCH2)$(EXESUF)
> endif
>
> PROGS=$(QEMU_PROG)
> +ifdef QEMU_PROGW
> +PROGS+=$(QEMU_PROGW)
> +endif
> STPFILES=
>
> ifndef CONFIG_HAIKU
> @@ -403,9 +410,16 @@ endif # CONFIG_LINUX_USER
>
> obj-$(CONFIG_GDBSTUB_XML) += gdbstub-xml.o
>
> +ifdef QEMU_PROGW
> +# The linker builds a windows executable. Make also a console executable.
> +$(QEMU_PROGW): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
> + $(call LINK,$^)
> +$(QEMU_PROG): $(QEMU_PROGW)
> + $(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW)
> $(QEMU_PROG)," GEN $(TARGET_DIR)$(QEMU_PROG)")
> +else
> $(QEMU_PROG): $(obj-y) $(obj-$(TARGET_BASE_ARCH)-y)
> $(call LINK,$^)
> -
> +endif
>
> gdbstub-xml.c: $(TARGET_XML_FILES) $(SRC_PATH)/scripts/feature_to_c.sh
> $(call quiet-command,rm -f $@ && $(SHELL)
> $(SRC_PATH)/scripts/feature_to_c.sh $@ $(TARGET_XML_FILES)," GEN
> $(TARGET_DIR)$@")
> --
> 1.7.2.5
>
Failed to make:
Makefile:416: *** multiple target patterns. Stop.