* [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
* 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
* [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