diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-02-17 17:47:38 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-02-18 10:42:07 +0100 |
commit | 658af1caf30d8bf88508a03dad2c411fb039b661 (patch) | |
tree | 937d55aaeb935325d60d611025a8931dc3c17a01 /scripts/genenv | |
parent | 72230bad19b2ec14e9b8e46d7abf9da04208a41f (diff) | |
download | barebox-658af1caf30d8bf88508a03dad2c411fb039b661.tar.gz barebox-658af1caf30d8bf88508a03dad2c411fb039b661.tar.xz |
defaultenv: simplify env dependencies
Finding out whether to rebuild the environment is a difficult task
since we have to track all files in a directory. Instead of trying
this, just rebuild the environment during every build and only if
it differs to the last one overwrite the target. This way make
only sees a change when the environment is changed.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'scripts/genenv')
-rwxr-xr-x | scripts/genenv | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/scripts/genenv b/scripts/genenv index c14cd87a8c..d0b0ffd47f 100755 --- a/scripts/genenv +++ b/scripts/genenv @@ -10,7 +10,8 @@ basedir=$1 target=$3 shift 3 -tempdir="$objtree/.barebox_default_env" +tempdir="${target}.genenv.tmp" +tmpfile="$(mktemp)" mkdir -p "$tempdir" @@ -26,6 +27,13 @@ done find $tempdir -name '.svn' -o -name '*~' -delete -$objtree/scripts/bareboxenv -s $tempdir $target +$objtree/scripts/bareboxenv -s $tempdir ${tmpfile} + +diff "${tmpfile}" "${target}" >/dev/null 2>/dev/null +if [ $? != 0 ]; then + mv "${tmpfile}" "${target}" +else + rm ${tmpfile} +fi rm -r $tempdir |