Option rom makefile fixes

Fix toplevel option rom makefile rules.

Signed-off-by: Paul Brook <paul@codesourcery.com>
diff --git a/Makefile b/Makefile
index c510ff3..d3f999e 100644
--- a/Makefile
+++ b/Makefile
@@ -38,7 +38,7 @@
 LIBS+=-lwinmm -lws2_32 -liphlpapi
 endif
 
-build-all: $(TOOLS) $(DOCS) roms recurse-all
+build-all: $(TOOLS) $(DOCS) recurse-all
 
 config-host.mak: configure
 ifneq ($(wildcard config-host.mak),)
@@ -55,7 +55,14 @@
 $(filter %-softmmu,$(SUBDIR_RULES)): libqemu_common.a
 $(filter %-user,$(SUBDIR_RULES)): libqemu_user.a
 
-recurse-all: $(SUBDIR_RULES)
+
+ROMSUBDIR_RULES=$(patsubst %,romsubdir-%, $(ROMS))
+romsubdir-%:
+	$(call quiet-command,$(MAKE) $(SUBDIR_MAKEFLAGS) -C pc-bios/$* V="$(V)" TARGET_DIR="$*/",)
+
+ALL_SUBDIRS=$(TARGET_DIRS) $(patsubst %,pc-bios/%, $(ROMS))
+
+recurse-all: $(SUBDIR_RULES) $(ROMSUBDIR_RULES)
 
 #######################################################################
 # block-obj-y is code used by both qemu system emulation and qemu-img
@@ -220,7 +227,7 @@
 	rm -f slirp/*.o slirp/*.d audio/*.o audio/*.d block/*.o block/*.d
 	rm -f qemu-img-cmds.h
 	$(MAKE) -C tests clean
-	for d in $(TARGET_DIRS) $(ROMS) libhw32 libhw64; do \
+	for d in $(ALL_SUBDIRS) libhw32 libhw64; do \
 	$(MAKE) -C $$d $@ || exit 1 ; \
         done
 
@@ -245,11 +252,6 @@
 BLOBS=
 endif
 
-roms:
-	for d in $(ROMS); do \
-	$(MAKE) -C $$d || exit 1 ; \
-        done
-
 install-doc: $(DOCS)
 	$(INSTALL_DIR) "$(DESTDIR)$(docdir)"
 	$(INSTALL_DATA) qemu-doc.html  qemu-tech.html "$(DESTDIR)$(docdir)"
diff --git a/configure b/configure
index 8160bed..36db3b2 100755
--- a/configure
+++ b/configure
@@ -1743,7 +1743,7 @@
 roms=
 if test \( "$cpu" = "i386" -o "$cpu" = "x86_64" \) -a \
         "$targetos" != "Darwin" ; then
-  roms="pc-bios/optionrom"
+  roms="optionrom"
 fi
 echo "ROMS=$roms" >> $config_host_mak
 
diff --git a/pc-bios/optionrom/Makefile b/pc-bios/optionrom/Makefile
index ace142d..7ddc242 100644
--- a/pc-bios/optionrom/Makefile
+++ b/pc-bios/optionrom/Makefile
@@ -1,4 +1,6 @@
 all: build-all
+# Dummy command so that make thinks it has done something
+	@true
 
 include ../../config-host.mak
 include $(SRC_PATH)/rules.mak