Author: stepan
Date: 2009-04-05 00:18:26 +0200 (Sun, 05 Apr 2009)
New Revision: 4069

Modified:
   trunk/coreboot-v2/util/romtool/Makefile
   trunk/coreboot-v2/util/romtool/tools/Makefile
   trunk/coreboot-v2/util/romtool/tools/lzma/Makefile
   trunk/coreboot-v2/util/romtool/tools/rom-mkpayload.c
Log:
This fixes a race condition (revealed by my other check-in r4067) in the
romtool by changing the Makefiles to be no longer recursive (once again,
recursive make is to be considered harmful).  Tried to (quickly) unify most of
the Makefile code, but medium-term this is going to be worked on for Kconfig
support anyways.

Also fix a sign cast error in rom-mkpayload in case people want to compile this
with -W -Werror

Patch relative to coreboot-v2/util/romtool

Signed-off-by: Stefan Reinauer <[email protected]>
and
Acked-by: Stefan Reinauer <[email protected]>
in order to get the tree working decently asap



Modified: trunk/coreboot-v2/util/romtool/Makefile
===================================================================
--- trunk/coreboot-v2/util/romtool/Makefile     2009-04-04 18:40:46 UTC (rev 
4068)
+++ trunk/coreboot-v2/util/romtool/Makefile     2009-04-04 22:18:26 UTC (rev 
4069)
@@ -6,11 +6,11 @@
 
 COMMANDS=create.o bootblock.o delete.o add.o print.o resize.o
 OBJ=$(COMMANDS) romtool.o util.o fs.o
+INC=romtool.h romfs.h
 
 CC=gcc
-CFLAGS=-g -Wall -W #-Werror
+CFLAGS=-g -Wall # -W -Werror
 
-H=romtool.h
 DESTDIR ?= /usr/local/bin
 
 all: $(obj)/romtool $(obj)/tools/rom-mkpayload $(obj)/tools/rom-mkstage
@@ -18,10 +18,12 @@
 $(obj)/romtool: $(patsubst %,$(obj)/%,$(OBJ))
        $(CC) -o $@ $(patsubst %,$(obj)/%,$(OBJ))
 
-$(obj)/tools/rom-mkpayload $(obj)/tools/rom-mkstage:
-       $(MAKE) -C tools/ obj=$(obj)/tools $(patsubst tools/%, %, $@)
+tobj = $(obj)/tools
+tsrc = $(shell pwd)/tools
 
-$(obj)/%.o: %.c
+include tools/Makefile
+
+$(obj)/%.o: %.c $(INC)
        $(CC) $(CFLAGS) -c -o $@ $<
 
 install: $(obj)/romtool $(obj)/tools/rom-mkpayload $(obj)/tools/rom-mkstage
@@ -33,6 +35,6 @@
 tags: 
        ctags *.[ch] */*.[ch]
 
-clean:
-       $(MAKE) -C tools/ clean
+clean: tools-clean
        rm -f $(patsubst %,$(obj)/%,$(OBJ)) $(obj)/romtool
+

Modified: trunk/coreboot-v2/util/romtool/tools/Makefile
===================================================================
--- trunk/coreboot-v2/util/romtool/tools/Makefile       2009-04-04 18:40:46 UTC 
(rev 4068)
+++ trunk/coreboot-v2/util/romtool/tools/Makefile       2009-04-04 22:18:26 UTC 
(rev 4069)
@@ -1,25 +1,24 @@
-obj ?= $(shell pwd)
+tobj ?= $(shell pwd)
+tsrc ?= $(shell pwd)
 
-CC=gcc
-CFLAGS=-Wall -W -Werror -g
+TARGETS += $(tobj)/rom-mkstage $(tobj)/rom-mkpayload
 
-all: rom-mkstage rom-mkpayload
+tools: $(tobj)/rom-mkstage $(tobj)/rom-mkpayload
 
-include lzma/Makefile
+include $(tobj)/lzma/Makefile
 
-COMMON= common.o compress.o $(LZMA_OBJ)
+COMMON = common.o compress.o $(LZMA_OBJ)
 
+$(tobj)/rom-mkstage: $(tobj)/rom-mkstage.o $(patsubst %,$(tobj)/%,$(COMMON))
+       $(CXX) $(CFLAGS) -o $@ $^
 
-$(obj)/rom-mkstage: $(obj)/rom-mkstage.o $(patsubst %,$(obj)/%,$(COMMON))
-       $(CXX) -g -o $@ $(obj)/rom-mkstage.o $(patsubst %,$(obj)/%,$(COMMON))
+$(tobj)/rom-mkpayload: $(tobj)/rom-mkpayload.o $(patsubst 
%,$(tobj)/%,$(COMMON))
+       $(CXX) $(CFLAGS) -o $@ $^
 
-$(obj)/rom-mkpayload: $(obj)/rom-mkpayload.o $(patsubst %,$(obj)/%,$(COMMON))
-       $(CXX) -o $@ $(obj)/rom-mkpayload.o $(patsubst %,$(obj)/%,$(COMMON))
+$(tobj)/%.o: %.c
+       $(CC) $(CFLAGS) -c -o $@ $<
 
-$(obj)/%.o: %.c
-       $(CC) -Wall -Werror -g -c -o $@ $<
+tools-clean:
+       rm -f $(tobj)/rom-mkpayload.o $(tobj)/rom-mkstage.o $(patsubst 
%,$(tobj)/%,$(COMMON))
+       rm -f $(tobj)/rom-mkpayload $(tobj)/rom-mkstage
 
-clean:
-       @ rm -f rom-mkpayload.o rom-mkstage.o $(COMMON)
-       @ rm -f rom-mkpayload rom-mkstage
-

Modified: trunk/coreboot-v2/util/romtool/tools/lzma/Makefile
===================================================================
--- trunk/coreboot-v2/util/romtool/tools/lzma/Makefile  2009-04-04 18:40:46 UTC 
(rev 4068)
+++ trunk/coreboot-v2/util/romtool/tools/lzma/Makefile  2009-04-04 22:18:26 UTC 
(rev 4069)
@@ -24,27 +24,27 @@
 LZMA_OBJ += lzma/CRC.o
 LZMA_OBJ += lzma/lzma-compress.o
 
-$(obj)/lzma/lzma-compress.o: lzma/minilzma.cc
-       g++ -o $@ -c -DCOMPACT $<
+$(tobj)/lzma/lzma-compress.o: $(tsrc)/lzma/minilzma.cc
+       $(CXX) $(CFLAGS) -o $@ -c -DCOMPACT $<
 
-$(obj)/lzma/%.o: lzma/C/7zip/Compress/LZMA/%.cpp
-       g++ -o $@ -c $<
+$(tobj)/lzma/%.o: $(tsrc)/lzma/C/7zip/Compress/LZMA/%.cpp
+       $(CXX) $(CFLAGS) -o $@ -c $<
 
-$(obj)/lzma/%.o: lzma/C/7zip/Compress/LZ/%.cpp
-       g++ -o $@ -c $<
+$(tobj)/lzma/%.o: $(tsrc)/lzma/C/7zip/Compress/LZ/%.cpp
+       $(CXX) $(CFLAGS) -o $@ -c $<
 
-$(obj)/lzma/%.o: lzma/C/7zip/Compress/RangeCoder/%.cpp
-       g++ -o $@ -c $<
+$(tobj)/lzma/%.o: $(tsrc)/lzma/C/7zip/Compress/RangeCoder/%.cpp
+       $(CXX) $(CFLAGS) -o $@ -c $<
 
-$(obj)/lzma/%.o: lzma/C/7zip/Decompress/%.cpp
-       g++ -o $@ -c $<
+$(tobj)/lzma/%.o: $(tsrc)/lzma/C/7zip/Decompress/%.cpp
+       $(CXX) $(CFLAGS) -o $@ -c $<
 
-$(obj)/lzma/%.o: lzma/C/7zip/Common/%.cpp
-       g++ -o $@ -c $<
+$(tobj)/lzma/%.o: $(tsrc)/lzma/C/7zip/Common/%.cpp
+       $(CXX) $(CFLAGS) -o $@ -c $<
 
-$(obj)/lzma/%.o: lzma/C/Common/%.cpp
-       g++ -o $@ -c $<
+$(tobj)/lzma/%.o: $(tsrc)/lzma/C/Common/%.cpp
+       $(CXX) $(CFLAGS) -o $@ -c $<
 
-$(obj)/lzma/%.o: lzma/%.cc
-       g++ -o $@ -c $<
+$(tobj)/lzma/%.o: $(tsrc)/lzma/%.cc
+       $(CXX) $(CFLAGS) -o $@ -c $<
 

Modified: trunk/coreboot-v2/util/romtool/tools/rom-mkpayload.c
===================================================================
--- trunk/coreboot-v2/util/romtool/tools/rom-mkpayload.c        2009-04-04 
18:40:46 UTC (rev 4068)
+++ trunk/coreboot-v2/util/romtool/tools/rom-mkpayload.c        2009-04-04 
22:18:26 UTC (rev 4069)
@@ -163,7 +163,7 @@
                /* If the compressed section is larger, then use the
                   original stuff */
 
-               if (len > phdr[i].p_filesz) {
+               if ((unsigned int)len > phdr[i].p_filesz) {
                        segs[segments].compression = 0;
                        segs[segments].len = htonl(phdr[i].p_filesz);
 


-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to