summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Reinauer <stepan@coresystems.de>2009-04-04 18:24:21 +0000
committerStefan Reinauer <stepan@openbios.org>2009-04-04 18:24:21 +0000
commite6cc67b07a8cf25a3b439febcdfdce37e64297ab (patch)
tree9e3025066d18c5f4c9e9a48f20197c6bc1173c77
parent8e304e66165bc98c9e226e38623741212dbd4aa8 (diff)
downloadcoreboot-e6cc67b07a8cf25a3b439febcdfdce37e64297ab.tar.xz
build romtool in mainboard target directory.
Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@4067 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--util/newconfig/config.g3
-rw-r--r--util/romtool/Makefile39
-rw-r--r--util/romtool/tools/Makefile26
-rw-r--r--util/romtool/tools/lzma/Makefile16
4 files changed, 46 insertions, 38 deletions
diff --git a/util/newconfig/config.g b/util/newconfig/config.g
index 1d3395b071..e9cd8806c2 100644
--- a/util/newconfig/config.g
+++ b/util/newconfig/config.g
@@ -2231,8 +2231,7 @@ def writemakefile(path):
file.write("\n\n")
# romtool rules
- file.write("\nromtool:\n\t$(MAKE) -C $(TOP)/util/romtool\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("\nromtool:\n\tmkdir -p tools/lzma\n\t$(MAKE) -C $(TOP)/util/romtool obj=$(shell pwd)\n\n")
file.write("include Makefile.settings\n\n")
for i, o in romimages.items():
diff --git a/util/romtool/Makefile b/util/romtool/Makefile
index 44982674f3..3b2e3a56dc 100644
--- a/util/romtool/Makefile
+++ b/util/romtool/Makefile
@@ -1,27 +1,38 @@
+#
+#
+#
+
+obj ?= $(shell pwd)
+
COMMANDS=create.o bootblock.o delete.o add.o print.o resize.o
-OBJ= $(COMMANDS) romtool.o util.o fs.o
+OBJ=$(COMMANDS) romtool.o util.o fs.o
+
+CC=gcc
+CFLAGS=-g -Wall -W #-Werror
+
H=romtool.h
-DESTDIR=/usr/local/bin
+DESTDIR ?= /usr/local/bin
-all: romtool tools/rom-mkpayload tools/rom-mkstage
+all: $(obj)/romtool $(obj)/tools/rom-mkpayload $(obj)/tools/rom-mkstage
-romtool: $(OBJ)
- $(CC) -o $@ $(OBJ)
+$(obj)/romtool: $(patsubst %,$(obj)/%,$(OBJ))
+ $(CC) -o $@ $(patsubst %,$(obj)/%,$(OBJ))
-tools/rom-mkpayload tools/rom-mkstage:
- $(MAKE) -C tools/ $(patsubst tools/%, %, $@)
+$(obj)/tools/rom-mkpayload $(obj)/tools/rom-mkstage:
+ $(MAKE) -C tools/ obj=$(obj)/tools $(patsubst tools/%, %, $@)
-%.o: %.c
- $(CC) -g -Wall -Werror -c -o $@ $<
+$(obj)/%.o: %.c
+ $(CC) $(CFLAGS) -c -o $@ $<
-install: romtool tools/rom-mkpayload tools/rom-mkstage
+install: $(obj)/romtool $(obj)/tools/rom-mkpayload $(obj)/tools/rom-mkstage
@ install -d $(DESTDIR)
- @ install -m 0755 romtool $(DESTDIR)/romtool
- @ install -m 0755 tools/rom-mkstage $(DESTDIR)/rom-mkstage
- @ install -m 0755 tools/rom-mkpayload $(DESTDIR)/rom-mkpayload
+ @ install -m 0755 $(obj)/romtool $(DESTDIR)/romtool
+ @ install -m 0755 $(obj)/tools/rom-mkstage $(DESTDIR)/rom-mkstage
+ @ install -m 0755 $(obj)/tools/rom-mkpayload $(DESTDIR)/rom-mkpayload
tags:
ctags *.[ch] */*.[ch]
+
clean:
$(MAKE) -C tools/ clean
- rm -f *.o romtool
+ rm -f $(patsubst %,$(obj)/%,$(OBJ)) $(obj)/romtool
diff --git a/util/romtool/tools/Makefile b/util/romtool/tools/Makefile
index 1d1912a4f7..e711f500ab 100644
--- a/util/romtool/tools/Makefile
+++ b/util/romtool/tools/Makefile
@@ -1,27 +1,25 @@
+obj ?= $(shell pwd)
+
CC=gcc
-CFLAGS=-Wall -Werror -g
+CFLAGS=-Wall -W -Werror -g
-LZMA_OBJ := lzma/LZMAEncoder.o lzma/LZInWindow.o
-LZMA_OBJ += lzma/RangeCoderBit.o lzma/StreamUtils.o
-LZMA_OBJ += lzma/OutBuffer.o lzma/Alloc.o
-LZMA_OBJ += lzma/CRC.o
-LZMA_OBJ += lzma/lzma-compress.o
+all: rom-mkstage rom-mkpayload
-COMMON= common.o compress.o $(LZMA_OBJ)
+include lzma/Makefile
-all: rom-mkstage rom-mkpayload
+COMMON= common.o compress.o $(LZMA_OBJ)
-rom-mkstage: rom-mkstage.o $(COMMON)
- $(CXX) -g -o $@ rom-mkstage.o $(COMMON)
-rom-mkpayload: rom-mkpayload.o $(COMMON)
- $(CXX) -o $@ rom-mkpayload.o $(COMMON)
+$(obj)/rom-mkstage: $(obj)/rom-mkstage.o $(patsubst %,$(obj)/%,$(COMMON))
+ $(CXX) -g -o $@ $(obj)/rom-mkstage.o $(patsubst %,$(obj)/%,$(COMMON))
-include lzma/Makefile
+$(obj)/rom-mkpayload: $(obj)/rom-mkpayload.o $(patsubst %,$(obj)/%,$(COMMON))
+ $(CXX) -o $@ $(obj)/rom-mkpayload.o $(patsubst %,$(obj)/%,$(COMMON))
-%.o: %.c
+$(obj)/%.o: %.c
$(CC) -Wall -Werror -g -c -o $@ $<
clean:
@ rm -f rom-mkpayload.o rom-mkstage.o $(COMMON)
@ rm -f rom-mkpayload rom-mkstage
+
diff --git a/util/romtool/tools/lzma/Makefile b/util/romtool/tools/lzma/Makefile
index 4b6c20d08d..b012a93685 100644
--- a/util/romtool/tools/lzma/Makefile
+++ b/util/romtool/tools/lzma/Makefile
@@ -24,27 +24,27 @@ LZMA_OBJ += lzma/OutBuffer.o lzma/Alloc.o
LZMA_OBJ += lzma/CRC.o
LZMA_OBJ += lzma/lzma-compress.o
-lzma/lzma-compress.o: lzma/minilzma.cc
+$(obj)/lzma/lzma-compress.o: lzma/minilzma.cc
g++ -o $@ -c -DCOMPACT $<
-lzma/%.o: lzma/C/7zip/Compress/LZMA/%.cpp
+$(obj)/lzma/%.o: lzma/C/7zip/Compress/LZMA/%.cpp
g++ -o $@ -c $<
-lzma/%.o: lzma/C/7zip/Compress/LZ/%.cpp
+$(obj)/lzma/%.o: lzma/C/7zip/Compress/LZ/%.cpp
g++ -o $@ -c $<
-lzma/%.o: lzma/C/7zip/Compress/RangeCoder/%.cpp
+$(obj)/lzma/%.o: lzma/C/7zip/Compress/RangeCoder/%.cpp
g++ -o $@ -c $<
-lzma/%.o: lzma/C/7zip/Decompress/%.cpp
+$(obj)/lzma/%.o: lzma/C/7zip/Decompress/%.cpp
g++ -o $@ -c $<
-lzma/%.o: lzma/C/7zip/Common/%.cpp
+$(obj)/lzma/%.o: lzma/C/7zip/Common/%.cpp
g++ -o $@ -c $<
-lzma/%.o: lzma/C/Common/%.cpp
+$(obj)/lzma/%.o: lzma/C/Common/%.cpp
g++ -o $@ -c $<
-lzma/%.o: lzma/%.cc
+$(obj)/lzma/%.o: lzma/%.cc
g++ -o $@ -c $<