Build utils into their source directory equivalent in
the build tree.
Allow separate build tree for utils
Use separate build tree for utils in abuild

Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de>
Acked-by: Stefan Reinauer <stepan@coresystems.de>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5453 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/util/abuild/abuild b/util/abuild/abuild
index 811a32c..851f1a3 100755
--- a/util/abuild/abuild
+++ b/util/abuild/abuild
@@ -156,6 +156,7 @@
 	[ "$update" = "true" ] && mv ${build_dir}/coreboot.rom coreboot.rom.tmp
 	$MAKE distclean obj=${build_dir}
 	mkdir -p ${build_dir}
+	mkdir -p $TARGET/sharedutils
 	[ "$update" = "true" ] && mv coreboot.rom.tmp ${build_dir}/coreboot.rom
 
 	if [ "$CONFIG" != "" ]; then
@@ -204,8 +205,8 @@
 		fi
 	fi
 
-	#yes "" | $MAKE oldconfig -j $cpus obj=${build_dir} &> ${build_dir}/config.log
-	yes "" | $MAKE oldconfig obj=${build_dir} &> ${build_dir}/config.log
+	#yes "" | $MAKE oldconfig -j $cpus obj=${build_dir} objutil=$TARGET/sharedutils &> ${build_dir}/config.log
+	yes "" | $MAKE oldconfig obj=${build_dir} objutil=$TARGET/sharedutils &> ${build_dir}/config.log
 	ret=$?
 	mv .config.old $TARGET/${VENDOR}_${MAINBOARD}/config.in
 	if [ $ret -eq 0 ]; then
@@ -264,7 +265,7 @@
 	CURR=$( pwd )
 	#stime=`perl -e 'print time();' 2>/dev/null || date +%s`
 	build_dir=$TARGET/${VENDOR}_${MAINBOARD}
-	eval $MAKE $silent -j $cpus obj=${build_dir} \
+	eval $MAKE $silent -j $cpus obj=${build_dir} objutil=$TARGET/sharedutils \
 		&> ${build_dir}/make.log
 	ret=$?
 	mv .config ${build_dir}/config.build
diff --git a/util/cbfstool/Makefile.inc b/util/cbfstool/Makefile.inc
index d2af3d6..ad2e120 100644
--- a/util/cbfstool/Makefile.inc
+++ b/util/cbfstool/Makefile.inc
@@ -15,38 +15,38 @@
 
 CBFSTOOLFLAGS=-DCOMPACT -g
 
-$(obj)/util/cbfstool:
+$(objutil)/cbfstool:
 	mkdir -p $@
 
-$(obj)/util/cbfstool/%.o: $(top)/util/cbfstool/%.c
-	printf "    HOSTCC     $(subst $(obj)/,,$(@))\n"
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/%.c
+	printf "    HOSTCC     $(subst $(objutil)/,,$(@))\n"
 	$(HOSTCC) $(CBFSTOOLFLAGS) $(HOSTCFLAGS) -c -o $@ $<
 
-$(obj)/util/cbfstool/%.o: $(top)/util/cbfstool/lzma/%.cc
-	printf "    HOSTCXX    $(subst $(obj)/,,$(@))\n"
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/%.cc
+	printf "    HOSTCXX    $(subst $(objutil)/,,$(@))\n"
 	$(HOSTCXX) $(CBFSTOOLFLAGS) $(HOSTCXXFLAGS) -c -o $@ $<
 
-$(obj)/util/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/7zip/Compress/LZMA/%.cpp
-	printf "    HOSTCXX    $(subst $(obj)/,,$(@))\n"
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/7zip/Compress/LZMA/%.cpp
+	printf "    HOSTCXX    $(subst $(objutil)/,,$(@))\n"
 	$(HOSTCXX) $(CBFSTOOLFLAGS) $(HOSTCXXFLAGS) -c -o $@ $<
 
-$(obj)/util/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/7zip/Compress/LZ/%.cpp
-	printf "    HOSTCXX    $(subst $(obj)/,,$(@))\n"
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/7zip/Compress/LZ/%.cpp
+	printf "    HOSTCXX    $(subst $(objutil)/,,$(@))\n"
 	$(HOSTCXX) $(CBFSTOOLFLAGS) $(HOSTCXXFLAGS) -c -o $@ $<
 
-$(obj)/util/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/7zip/Compress/RangeCoder/%.cpp
-	printf "    HOSTCXX    $(subst $(obj)/,,$(@))\n"
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/7zip/Compress/RangeCoder/%.cpp
+	printf "    HOSTCXX    $(subst $(objutil)/,,$(@))\n"
 	$(HOSTCXX) $(CBFSTOOLFLAGS) $(HOSTCXXFLAGS) -c -o $@ $<
 
-$(obj)/util/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/7zip/Common/%.cpp
-	printf "    HOSTCXX    $(subst $(obj)/,,$(@))\n"
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/7zip/Common/%.cpp
+	printf "    HOSTCXX    $(subst $(objutil)/,,$(@))\n"
 	$(HOSTCXX) $(CBFSTOOLFLAGS) $(HOSTCXXFLAGS) -c -o $@ $<
 
-$(obj)/util/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/Common/%.cpp
-	printf "    HOSTCXX    $(subst $(obj)/,,$(@))\n"
+$(objutil)/cbfstool/%.o: $(top)/util/cbfstool/lzma/C/Common/%.cpp
+	printf "    HOSTCXX    $(subst $(objutil)/,,$(@))\n"
 	$(HOSTCXX) $(CBFSTOOLFLAGS) $(HOSTCXXFLAGS) -c -o $@ $<
 
-$(obj)/util/cbfstool/cbfstool: $(obj)/util/cbfstool $(addprefix $(obj)/util/cbfstool/,$(cbfsobj))
-	printf "    HOSTCXX    $(subst $(obj)/,,$(@)) (link)\n"
-	$(HOSTCXX) $(CBFSTOOLFLAGS) -o $@ $(addprefix $(obj)/util/cbfstool/,$(cbfsobj))
+$(objutil)/cbfstool/cbfstool: $(objutil)/cbfstool $(addprefix $(objutil)/cbfstool/,$(cbfsobj))
+	printf "    HOSTCXX    $(subst $(objutil)/,,$(@)) (link)\n"
+	$(HOSTCXX) $(CBFSTOOLFLAGS) -o $@ $(addprefix $(objutil)/cbfstool/,$(cbfsobj))
 
diff --git a/util/sconfig/Makefile.inc b/util/sconfig/Makefile.inc
index 4e08135..aa2ce7a 100644
--- a/util/sconfig/Makefile.inc
+++ b/util/sconfig/Makefile.inc
@@ -2,10 +2,10 @@
 sconfigobj += lex.yy.o
 sconfigobj += sconfig.tab.o
 
-$(obj)/util/sconfig:
+$(objutil)/sconfig:
 	mkdir -p $@
 
-$(obj)/util/sconfig/%.o: $(obj)/util/sconfig/%.c
+$(objutil)/sconfig/%.o: $(objutil)/sconfig/%.c
 	printf "    HOSTCC     $(subst $(obj)/,,$(@))\n"
 	$(HOSTCC) $(SCONFIGFLAGS) $(HOSTCFLAGS) -c -o $@ $<
 
@@ -20,12 +20,12 @@
 
 endif
 
-$(obj)/util/sconfig/lex.yy.o: $(obj)/util/sconfig/sconfig.tab.h
+$(objutil)/sconfig/lex.yy.o: $(objutil)/sconfig/sconfig.tab.h
 
-$(obj)/util/sconfig/%: $(top)/util/sconfig/%_shipped
+$(objutil)/sconfig/%: $(top)/util/sconfig/%_shipped
 	mkdir -p $(dir $@)
 	cp $< $@
 
-$(obj)/util/sconfig/sconfig: $(obj)/util/sconfig $(addprefix $(obj)/util/sconfig/,$(sconfigobj))
+$(objutil)/sconfig/sconfig: $(objutil)/sconfig $(addprefix $(objutil)/sconfig/,$(sconfigobj))
 	printf "    HOSTCC     $(subst $(obj)/,,$(@)) (link)\n"
-	$(HOSTCC) $(SCONFIGFLAGS) -o $@ $(addprefix $(obj)/util/sconfig/,$(sconfigobj))
+	$(HOSTCC) $(SCONFIGFLAGS) -o $@ $(addprefix $(objutil)/sconfig/,$(sconfigobj))