Makefile: fix dependency problem with parallel builds
authorWolfgang Denk <wd@denx.de>
Tue, 16 Dec 2008 13:41:02 +0000 (14:41 +0100)
committerWolfgang Denk <wd@denx.de>
Tue, 16 Dec 2008 13:41:02 +0000 (14:41 +0100)
Parallel builds (using "make -jN") would occasionally fail with error
messages like
include/autoconf.mk:212: *** missing separator.  Stop.
Line numbers and affected boards were changing. Obviously some
Makefiles included autoconf.mk while it was still being written to.
As a fix, we now write to a temporary file first and then rename it,
so that it is really ready to use as soon as it appears.

Signed-off-by: Wolfgang Denk <wd@denx.de>
Makefile

index d6cd91a..1fd03a0 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -463,7 +463,8 @@ $(obj)include/autoconf.mk: $(obj)include/config.h
        set -e ; \
        : Extract the config macros ; \
        $(CPP) $(CFLAGS) -DDO_DEPS_ONLY -dM include/common.h | \
-               sed -n -f tools/scripts/define2mk.sed > $@
+               sed -n -f tools/scripts/define2mk.sed > $@.tmp && \
+       mv $@.tmp $@
 
 sinclude $(obj)include/autoconf.mk.dep