From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:37920) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Re5UD-0005Xu-RO for qemu-devel@nongnu.org; Fri, 23 Dec 2011 08:48:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Re5UC-0002Dc-Bi for qemu-devel@nongnu.org; Fri, 23 Dec 2011 08:48:37 -0500 Received: from v220110690675601.yourvserver.net ([78.47.199.172]:57836) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Re5UC-0001sw-3z for qemu-devel@nongnu.org; Fri, 23 Dec 2011 08:48:36 -0500 Message-ID: <4EF48673.40705@weilnetz.de> Date: Fri, 23 Dec 2011 14:47:31 +0100 From: Stefan Weil MIME-Version: 1.0 References: <1324549207-23957-1-git-send-email-sw@weilnetz.de> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH v2] w32: Build windows and console executables List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: TeLeMan Cc: blauwirbel@gmail.com, qemu-devel@nongnu.org Am 23.12.2011 03:31, schrieb TeLeMan: > On Thu, Dec 22, 2011 at 18:20, Stefan Weil 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 >> --- >> 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 Cheers, Stefan Weil