qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] roms: various improvements to roms/Makefile
@ 2013-09-19 21:00 Bruce Rogers
  2013-09-19 21:00 ` [Qemu-devel] [PATCH 1/3] roms: use formal MAKE variable reference in roms Makefile Bruce Rogers
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Bruce Rogers @ 2013-09-19 21:00 UTC (permalink / raw)
  To: qemu-devel, kraxel; +Cc: Bruce Rogers

While attempting to use roms/Makefile to build the x86 firmware from
source I encountered some issues that needed to be worked around. These
patches improve the makefile to handle more of the x86 firmware binaries
and to better handle recursive make usage.

Bruce Rogers (3):
  roms: use formal MAKE variable reference in roms Makefile
  roms: make and install isa vgabios binary
  roms: make and install sgabios binary

 roms/Makefile |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 deletions(-)

-- 
1.7.7

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PATCH 1/3] roms: use formal MAKE variable reference in roms Makefile
  2013-09-19 21:00 [Qemu-devel] [PATCH 0/3] roms: various improvements to roms/Makefile Bruce Rogers
@ 2013-09-19 21:00 ` Bruce Rogers
  2013-09-20  0:11   ` Bruce Rogers
  2013-09-19 21:00 ` [Qemu-devel] [PATCH 2/3] roms: make and install isa vgabios binary Bruce Rogers
  2013-09-19 21:00 ` [Qemu-devel] [PATCH 3/3] roms: make and install sgabios binary Bruce Rogers
  2 siblings, 1 reply; 6+ messages in thread
From: Bruce Rogers @ 2013-09-19 21:00 UTC (permalink / raw)
  To: qemu-devel, kraxel; +Cc: Bruce Rogers

In order to properly support recursive make commands, convert
references of make to be $(MAKE). This will for example enable
parallel makes of each of the rom source trees covered by this
makefile.

Signed-off-by: Bruce Rogers <brogers@suse.com>
---
 roms/Makefile |   14 +++++++-------
 1 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/roms/Makefile b/roms/Makefile
index 7a228ae..6de9424 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -38,7 +38,7 @@ default:
 
 bios: config.seabios
 	sh configure-seabios.sh $<
-	make -C seabios out/bios.bin
+	$(MAKE) -C seabios out/bios.bin
 	cp seabios/out/bios.bin ../pc-bios/bios.bin
 	cp seabios/out/*dsdt.aml ../pc-bios/
 
@@ -46,27 +46,27 @@ seavgabios: $(patsubst %,seavgabios-%,$(vgabios_variants))
 
 seavgabios-%: config.vga.%
 	sh configure-seabios.sh $<
-	make -C seabios out/vgabios.bin
+	$(MAKE) -C seabios out/vgabios.bin
 	cp seabios/out/vgabios.bin ../pc-bios/vgabios-$*.bin
 
 lgplvgabios: $(patsubst %,lgplvgabios-%,$(vgabios_variants))
 
 lgplvgabios-%:
-	make -C vgabios vgabios-$*.bin
+	$(MAKE) -C vgabios vgabios-$*.bin
 	cp vgabios/VGABIOS-lgpl-latest.$*.bin ../pc-bios/vgabios-$*.bin
 
 pxerom: $(patsubst %,pxe-rom-%,$(pxerom_variants))
 
 pxe-rom-%: ipxe/src/config/local/general.h
-	make -C ipxe/src bin/$(VID)$(DID).rom
+	$(MAKE) -C ipxe/src bin/$(VID)$(DID).rom
 	cp ipxe/src/bin/$(VID)$(DID).rom ../pc-bios/pxe-$*.rom
 
 efirom: $(patsubst %,efi-rom-%,$(pxerom_variants))
 
 efi-rom-%: ipxe/src/config/local/general.h
-	make -C ipxe/src bin/$(VID)$(DID).rom
-	make -C ipxe/src bin-i386-efi/$(VID)$(DID).efidrv
-	make -C ipxe/src bin-x86_64-efi/$(VID)$(DID).efidrv
+	$(MAKE) -C ipxe/src bin/$(VID)$(DID).rom
+	$(MAKE) -C ipxe/src bin-i386-efi/$(VID)$(DID).efidrv
+	$(MAKE) -C ipxe/src bin-x86_64-efi/$(VID)$(DID).efidrv
 	$(EFIROM) -f "0x$(VID)" -i "0x$(DID)" -l 0x02 \
 		-b ipxe/src/bin/$(VID)$(DID).rom \
 		-ec ipxe/src/bin-i386-efi/$(VID)$(DID).efidrv \
-- 
1.7.7

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PATCH 2/3] roms: make and install isa vgabios binary
  2013-09-19 21:00 [Qemu-devel] [PATCH 0/3] roms: various improvements to roms/Makefile Bruce Rogers
  2013-09-19 21:00 ` [Qemu-devel] [PATCH 1/3] roms: use formal MAKE variable reference in roms Makefile Bruce Rogers
@ 2013-09-19 21:00 ` Bruce Rogers
  2013-09-19 21:00 ` [Qemu-devel] [PATCH 3/3] roms: make and install sgabios binary Bruce Rogers
  2 siblings, 0 replies; 6+ messages in thread
From: Bruce Rogers @ 2013-09-19 21:00 UTC (permalink / raw)
  To: qemu-devel, kraxel; +Cc: Bruce Rogers

Add the isa vgabios binary to the list of vgabios binaries
we make and install to pc-bios. Do this for both to the seabios
as well as the lgpl based vgabios source trees.

Signed-off-by: Bruce Rogers <brogers@suse.com>
---
 roms/Makefile |   17 +++++++++++++----
 1 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/roms/Makefile b/roms/Makefile
index 6de9424..16fb8ac 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -1,5 +1,5 @@
 
-vgabios_variants := stdvga cirrus vmware qxl
+vgabios_variants := stdvga cirrus vmware qxl isavga
 pxerom_variants  := e1000 eepro100 ne2k_pci pcnet rtl8139 virtio
 
 pxe-rom-e1000    efi-rom-e1000    : VID := 8086
@@ -47,13 +47,22 @@ seavgabios: $(patsubst %,seavgabios-%,$(vgabios_variants))
 seavgabios-%: config.vga.%
 	sh configure-seabios.sh $<
 	$(MAKE) -C seabios out/vgabios.bin
-	cp seabios/out/vgabios.bin ../pc-bios/vgabios-$*.bin
+	@if [ "$*" = "isavga" ]; then \
+	  cp seabios/out/vgabios.bin ../pc-bios/vgabios.bin; \
+	  else \
+	  cp seabios/out/vgabios.bin ../pc-bios/vgabios-$*.bin; \
+	fi
 
 lgplvgabios: $(patsubst %,lgplvgabios-%,$(vgabios_variants))
 
 lgplvgabios-%:
-	$(MAKE) -C vgabios vgabios-$*.bin
-	cp vgabios/VGABIOS-lgpl-latest.$*.bin ../pc-bios/vgabios-$*.bin
+	@if [ "$*" = "isavga" ]; then \
+	  $(MAKE) -C vgabios vgabios.bin; \
+	  cp vgabios/VGABIOS-lgpl-latest.bin ../pc-bios/vgabios.bin; \
+	  else \
+	  $(MAKE) -C vgabios vgabios-$*.bin; \
+	  cp vgabios/VGABIOS-lgpl-latest.$*.bin ../pc-bios/vgabios-$*.bin; \
+	fi
 
 pxerom: $(patsubst %,pxe-rom-%,$(pxerom_variants))
 
-- 
1.7.7

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [Qemu-devel] [PATCH 3/3] roms: make and install sgabios binary
  2013-09-19 21:00 [Qemu-devel] [PATCH 0/3] roms: various improvements to roms/Makefile Bruce Rogers
  2013-09-19 21:00 ` [Qemu-devel] [PATCH 1/3] roms: use formal MAKE variable reference in roms Makefile Bruce Rogers
  2013-09-19 21:00 ` [Qemu-devel] [PATCH 2/3] roms: make and install isa vgabios binary Bruce Rogers
@ 2013-09-19 21:00 ` Bruce Rogers
  2 siblings, 0 replies; 6+ messages in thread
From: Bruce Rogers @ 2013-09-19 21:00 UTC (permalink / raw)
  To: qemu-devel, kraxel; +Cc: Bruce Rogers

Add a make target for sgabios. Since the sgabios makefile
is not parallel friendly, do the make in two steps, each of
which allows for a parallel make.

Signed-off-by: Bruce Rogers <brogers@suse.com>
---
 roms/Makefile |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/roms/Makefile b/roms/Makefile
index 16fb8ac..a0689ee 100644
--- a/roms/Makefile
+++ b/roms/Makefile
@@ -35,6 +35,7 @@ default:
 	@echo "  pxerom         -- update nic roms (bios only)"
 	@echo "  efirom         -- update nic roms (bios+efi, this needs"
 	@echo "                    the EfiRom utility from edk2 / tianocore)"
+	@echo "  sgabios        -- update sgabios binary"
 
 bios: config.seabios
 	sh configure-seabios.sh $<
@@ -84,3 +85,10 @@ efi-rom-%: ipxe/src/config/local/general.h
 
 ipxe/src/config/local/%: config.ipxe.%
 	cp $< $@
+
+.PHONY: sgabios
+sgabios:
+# Sgabios's makefile isn't parallel make friendly. Make interim target first.
+	$(MAKE) -C sgabios .depend
+	$(MAKE) -C sgabios
+	cp sgabios/sgabios.bin ../pc-bios/sgabios.bin
-- 
1.7.7

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] roms: use formal MAKE variable reference in roms Makefile
  2013-09-19 21:00 ` [Qemu-devel] [PATCH 1/3] roms: use formal MAKE variable reference in roms Makefile Bruce Rogers
@ 2013-09-20  0:11   ` Bruce Rogers
  2013-09-20  8:53     ` Gerd Hoffmann
  0 siblings, 1 reply; 6+ messages in thread
From: Bruce Rogers @ 2013-09-20  0:11 UTC (permalink / raw)
  To: qemu-devel, kraxel, Bruce Rogers

 >>> On 9/19/2013 at 03:00 PM, Bruce Rogers <brogers@suse.com> wrote: 
> In order to properly support recursive make commands, convert
> references of make to be $(MAKE). This will for example enable
> parallel makes of each of the rom source trees covered by this
> makefile.
> 

I perhaps should clarify the above statement: This patch does not
fix parallel make issues present in this makefile, but rather just
permits parallel flags to be passed along for the make references
of each target, and to ensure consistent make references are
being done.

Bruce

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] roms: use formal MAKE variable reference in roms Makefile
  2013-09-20  0:11   ` Bruce Rogers
@ 2013-09-20  8:53     ` Gerd Hoffmann
  0 siblings, 0 replies; 6+ messages in thread
From: Gerd Hoffmann @ 2013-09-20  8:53 UTC (permalink / raw)
  To: Bruce Rogers; +Cc: qemu-devel

On Do, 2013-09-19 at 18:11 -0600, Bruce Rogers wrote:
>  >>> On 9/19/2013 at 03:00 PM, Bruce Rogers <brogers@suse.com> wrote: 
> > In order to properly support recursive make commands, convert
> > references of make to be $(MAKE). This will for example enable
> > parallel makes of each of the rom source trees covered by this
> > makefile.
> > 
> 
> I perhaps should clarify the above statement: This patch does not
> fix parallel make issues present in this makefile, but rather just
> permits parallel flags to be passed along for the make references
> of each target, and to ensure consistent make references are
> being done.

Which is a rather pointless exercise IMO.  When tackling parallel builds
fix it for real please.

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-09-20  8:54 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-19 21:00 [Qemu-devel] [PATCH 0/3] roms: various improvements to roms/Makefile Bruce Rogers
2013-09-19 21:00 ` [Qemu-devel] [PATCH 1/3] roms: use formal MAKE variable reference in roms Makefile Bruce Rogers
2013-09-20  0:11   ` Bruce Rogers
2013-09-20  8:53     ` Gerd Hoffmann
2013-09-19 21:00 ` [Qemu-devel] [PATCH 2/3] roms: make and install isa vgabios binary Bruce Rogers
2013-09-19 21:00 ` [Qemu-devel] [PATCH 3/3] roms: make and install sgabios binary Bruce Rogers

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).