[coreboot] [PATCH]romfs: change the mechanism that builds the romtool utility

Patrick Georgi patrick at georgi-clan.de
Sat Apr 4 00:36:36 CEST 2009


Hi,

right now, we still have one victim to the romfs change in the build 
test, the first board in the list. Concurrent build, absolute paths and 
make's inability to combine these two unusual traits of a makefile come 
into play.
The following patch fixes that, and creates a romtool per-build (even 
though that should not be necessary).
Whitespace might be off, I can do a commit tomorrow, if I get an ack.

Signed-off-by: Patrick Georgi <patrick.georgi at coresystems.de>

Index: util/newconfig/config.g
===================================================================
--- util/newconfig/config.g     (Revision 4059)
+++ util/newconfig/config.g     (Arbeitskopie)
@@ -2225,13 +2225,15 @@
         writemakefileheader(file, makefilepath)

         # main rule
-       file.write("\nall: romtool")
+       file.write("\nall: ")
         for i in buildroms:
                 file.write(" %sfs" % i.name)
         file.write("\n\n")

         # romtool rules
-       file.write("\nromtool:\n\tcd $(TOP)/util/romtool; make\n")
+       file.write("\nromtool:\n\t$(MAKE) -C $(TOP)/util/romtool clean 
all\n\tmkdir -p tools\n")
+       file.write("\tcp $(TOP)/util/romtool/tools/rom-mkpayload 
$(TOP)/util/romtool/tools/rom-mkstage tools\n\tcp 
$(TOP)/util/romtool/romtool romtool\n")
+       file.write("\t$(MAKE) -C $(TOP)/util/romtool clean\n")

         file.write("include Makefile.settings\n\n")
         for i, o in romimages.items():
@@ -2268,15 +2270,15 @@

         romsize = getoption("ROM_SIZE", image)
         # i.name? That can not be right, can it?
-       file.write("%sfs: %s $(TOP)/util/romtool/romtool\n" 
%(i.name,i.name));
+       file.write("%sfs: %s romtool\n" %(i.name,i.name));
         file.write("\trm -f coreboot.romfs\n");
-       file.write("\t$(TOP)/util/romtool/romtool %sfs create %s %s 
%s.bootblock\n" % (i.name, romsize, bootblocksize, i.name))
+       file.write("\t./romtool %sfs create %s %s %s.bootblock\n" % 
(i.name, romsize, bootblocksize, i.name))
         for i in buildroms:
                 for j in i.roms:
                         #failover is a hack that will go away soon.
                         if (j != "failover") and (rommapping[j] != 
"/dev/null"):
-                               file.write("\tif [ -f %s/romfs-support 
]; then $(TOP)/util/romtool/romtool %sfs add-payload %s %s/payload `cat 
%s/romfs-support`; fi\n" % (j, i.name, rommapping[j], j, j))
-               file.write("\t $(TOP)/util/romtool/romtool %sfs print\n" 
% i.name)
+                               file.write("\tif [ -f %s/romfs-support 
]; then ./romtool %sfs add-payload %s %s/payload `cat %s/romfs-support`; 
fi\n" % (j, i.name, rommapping[j], j, j))
+               file.write("\t ./romtool %sfs print\n" % i.name)

         file.write(".PHONY: all clean romtool")
         for i in romimages.keys():





More information about the coreboot mailing list