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 <stepan(a)coresystems.de>
and
Acked-by: Stefan Reinauer <stepan(a)coresystems.de>
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);