build system: avoid more race conditions

In an abuild run, cbfstool is built in a shared directory
using "make tools". Unfortunately the build system doesn't
actually use that binary directly but creates a per-board
copy (for convenience purposes when editing the image later)
and uses that.

With this change the build system uses the original file but
still creates the copy for the user, avoiding the race while
ensuring convenience.

Change-Id: I38c603a7eca5ef859875ad3031bf7a850189645f
Signed-off-by: Patrick Georgi <patrick.georgi@secunet.com>
Reviewed-on: http://review.coreboot.org/6242
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Tested-by: build bot (Jenkins)
Reviewed-by: Edward O'Callaghan <eocallaghan@alterapraxis.com>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
This commit is contained in:
Patrick Georgi 2014-07-10 09:42:03 +02:00 committed by Patrick Georgi
parent 5b9e6f175f
commit 533c119f5b
1 changed files with 5 additions and 5 deletions

View File

@ -57,7 +57,7 @@ export objgenerated := $(obj)/generated
####################################################################### #######################################################################
# root rule to resolve if in build mode (ie. configuration exists) # root rule to resolve if in build mode (ie. configuration exists)
real-target: $(obj)/config.h coreboot real-target: $(obj)/config.h coreboot
coreboot: build-dirs $(obj)/coreboot.rom coreboot: build-dirs $(obj)/coreboot.rom $(obj)/cbfstool $(obj)/rmodtool
####################################################################### #######################################################################
# our phony targets # our phony targets
@ -258,13 +258,13 @@ build-dirs:
####################################################################### #######################################################################
# Build the tools # Build the tools
CBFSTOOL:=$(obj)/cbfstool CBFSTOOL:=$(objutil)/cbfstool/cbfstool
RMODTOOL:=$(obj)/rmodtool RMODTOOL:=$(objutil)/cbfstool/rmodtool
$(CBFSTOOL): $(objutil)/cbfstool/cbfstool $(obj)/cbfstool: $(CBFSTOOL)
cp $< $@ cp $< $@
$(RMODTOOL): $(objutil)/cbfstool/rmodtool $(obj)/rmodtool: $(RMODTOOL)
cp $< $@ cp $< $@
_WINCHECK=$(shell uname -o 2> /dev/null) _WINCHECK=$(shell uname -o 2> /dev/null)