Message ID | 1398668583-5464-1-git-send-email-mjt@msgid.tls.msk.ru |
---|---|
State | New |
Headers | show |
Il 28/04/2014 09:03, Michael Tokarev ha scritto: > On win*, we build QEMU_PROGW (GUI) and create a console app QEMU_PROG > from it, while on non-win*, we make only QEMU_PROG using the same > rules as used for QEMU_PROGW on win*. Make just one rule for building > main executable, and an additional rule for win* to make console app > from it. Also consolidate tests for $(QEMU_PROGW). > > Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> > --- > Makefile.target | 25 ++++++++++--------------- > 1 file changed, 10 insertions(+), 15 deletions(-) > > diff --git a/Makefile.target b/Makefile.target > index ba12340..fb78a2e 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -18,17 +18,19 @@ ifdef CONFIG_USER_ONLY > QEMU_PROG=qemu-$(TARGET_NAME) > else > # system emulator name > +QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF) > ifneq (,$(findstring -mwindows,$(libs_softmmu))) > # Terminate program name with a 'w' because the linker builds a windows executable. > QEMU_PROGW=qemu-system-$(TARGET_NAME)w$(EXESUF) > -endif # windows executable > -QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF) > +$(QEMU_PROG): $(QEMU_PROGW) > + $(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW) $(QEMU_PROG)," GEN $(TARGET_DIR)$(QEMU_PROG)") > +QEMU_PROG_BUILD = $(QEMU_PROGW) > +else > +QEMU_PROG_BUILD = $(QEMU_PROG) > endif > - > -PROGS=$(QEMU_PROG) > -ifdef QEMU_PROGW > -PROGS+=$(QEMU_PROGW) > endif > + > +PROGS=$(QEMU_PROG) $(QEMU_PROGW) > STPFILES= > > config-target.h: config-target.h-timestamp > @@ -162,16 +164,9 @@ ifndef CONFIG_HAIKU > LIBS+=-lm > endif > > -ifdef QEMU_PROGW > -# The linker builds a windows executable. Make also a console executable. > -$(QEMU_PROGW): $(all-obj-y) ../libqemuutil.a ../libqemustub.a > - $(call LINK,$^) > -$(QEMU_PROG): $(QEMU_PROGW) > - $(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW) $(QEMU_PROG)," GEN $(TARGET_DIR)$(QEMU_PROG)") > -else > -$(QEMU_PROG): $(all-obj-y) ../libqemuutil.a ../libqemustub.a > +# build either PROG or PROGW > +$(QEMU_PROG_BUILD): $(all-obj-y) ../libqemuutil.a ../libqemustub.a > $(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)$@") > Good idea, I'll take care of this patch. Paolo
diff --git a/Makefile.target b/Makefile.target index ba12340..fb78a2e 100644 --- a/Makefile.target +++ b/Makefile.target @@ -18,17 +18,19 @@ ifdef CONFIG_USER_ONLY QEMU_PROG=qemu-$(TARGET_NAME) else # system emulator name +QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF) ifneq (,$(findstring -mwindows,$(libs_softmmu))) # Terminate program name with a 'w' because the linker builds a windows executable. QEMU_PROGW=qemu-system-$(TARGET_NAME)w$(EXESUF) -endif # windows executable -QEMU_PROG=qemu-system-$(TARGET_NAME)$(EXESUF) +$(QEMU_PROG): $(QEMU_PROGW) + $(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW) $(QEMU_PROG)," GEN $(TARGET_DIR)$(QEMU_PROG)") +QEMU_PROG_BUILD = $(QEMU_PROGW) +else +QEMU_PROG_BUILD = $(QEMU_PROG) endif - -PROGS=$(QEMU_PROG) -ifdef QEMU_PROGW -PROGS+=$(QEMU_PROGW) endif + +PROGS=$(QEMU_PROG) $(QEMU_PROGW) STPFILES= config-target.h: config-target.h-timestamp @@ -162,16 +164,9 @@ ifndef CONFIG_HAIKU LIBS+=-lm endif -ifdef QEMU_PROGW -# The linker builds a windows executable. Make also a console executable. -$(QEMU_PROGW): $(all-obj-y) ../libqemuutil.a ../libqemustub.a - $(call LINK,$^) -$(QEMU_PROG): $(QEMU_PROGW) - $(call quiet-command,$(OBJCOPY) --subsystem console $(QEMU_PROGW) $(QEMU_PROG)," GEN $(TARGET_DIR)$(QEMU_PROG)") -else -$(QEMU_PROG): $(all-obj-y) ../libqemuutil.a ../libqemustub.a +# build either PROG or PROGW +$(QEMU_PROG_BUILD): $(all-obj-y) ../libqemuutil.a ../libqemustub.a $(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)$@")
On win*, we build QEMU_PROGW (GUI) and create a console app QEMU_PROG from it, while on non-win*, we make only QEMU_PROG using the same rules as used for QEMU_PROGW on win*. Make just one rule for building main executable, and an additional rule for win* to make console app from it. Also consolidate tests for $(QEMU_PROGW). Signed-off-by: Michael Tokarev <mjt@tls.msk.ru> --- Makefile.target | 25 ++++++++++--------------- 1 file changed, 10 insertions(+), 15 deletions(-)