On Fri, Dec 23, 2011 at 21:47, Stefan Weil <s...@weilnetz.de> wrote: > Am 23.12.2011 03:31, schrieb TeLeMan: > >> 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. > > > It works here (native and cross compilations) with MinGW, > so I have to guess and need your help. > > This is the relevant code from Makefile.target when my patch was applied: > > $(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)") > > Line 416 is the 2nd line which was not changed by my patch. > It contains no target pattern at all. > > Or do you have a different line counting caused by local > modifications or an older version of the QEMU sources? > > Does an empty line between 2nd and 3rd line help? > > Do you run a native or a cross compilation? > > If native: which line endings do you use (CRLF or LF, > depends on git settings and MinGW mount options)? > Do you use Cygwin, MinGW or MinGW-w64? > Which make do you use? > > Try to run make in verbose mode (make V=1). > > This page describes the error which you got: > http://www.gnu.org/savannah-checkouts/gnu/make/manual/html_node/Error-Messages.html I found this problem. After I copied & pasted your patch, the tabs were converted to spaces. Thanks for your patience. Now it is working.
> Cheers, > Stefan Weil > >