File seabios-fix-parallel-make.patch of Package kvm
commit 32aa9f362b2265279daafcba26bc574324479c93
Author: Stefan Reinauer <reinauer@google.com>
Date: Thu Jan 27 18:39:01 2011 -0800
fix parallel compilation of SeaBIOS
See patch.
Signed-off-by: Stefan Reinauer <reinauer@google.com>
Index: qemu-kvm-0.14.0/roms/seabios/Makefile
===================================================================
--- qemu-kvm-0.14.0.orig/roms/seabios/Makefile
+++ qemu-kvm-0.14.0/roms/seabios/Makefile
@@ -128,7 +128,7 @@ $(OUT)code16.o: romlayout.S $(OUT)ccode.
@echo " Compiling (16bit) $@"
$(Q)$(CC) $(CFLAGS16INC) -c -D__ASSEMBLY__ $< -o $@
-$(OUT)romlayout16.lds $(OUT)romlayout32seg.lds $(OUT)romlayout32flat.lds $(OUT)code32flat.o: $(OUT)ccode32flat.o $(OUT)code32seg.o $(OUT)code16.o tools/layoutrom.py
+$(OUT)romlayout16.lds: $(OUT)ccode32flat.o $(OUT)code32seg.o $(OUT)code16.o tools/layoutrom.py
@echo " Building ld scripts (version \"$(VERSION)\")"
$(Q)echo 'const char VERSION[] = "$(VERSION)";' > $(OUT)version.c
$(Q)$(CC) $(CFLAGS32FLAT) -c $(OUT)version.c -o $(OUT)version.o
@@ -138,6 +138,9 @@ $(OUT)romlayout16.lds $(OUT)romlayout32s
$(Q)$(OBJDUMP) -thr $(OUT)code16.o > $(OUT)code16.o.objdump
$(Q)./tools/layoutrom.py $(OUT)code16.o.objdump $(OUT)code32seg.o.objdump $(OUT)code32flat.o.objdump $(OUT)romlayout16.lds $(OUT)romlayout32seg.lds $(OUT)romlayout32flat.lds
+# These are actually built by tools/layoutrom.py above, but by pulling them
+# into an extra rule we prevent make -j from spawning layoutrom.py 4 times.
+$(OUT)romlayout32seg.lds $(OUT)romlayout32flat.lds $(OUT)code32flat.o: $(OUT)romlayout16.lds
$(OUT)rom16.o: $(OUT)code16.o $(OUT)romlayout16.lds
@echo " Linking $@"